jenkins ansible报错

fatal: [10.2.1.199]: UNREACHABLE! => {“changed”: false, “msg”: “Failed to connect to the host via ssh: Host key verification failed.”, “unreachable”: true}

需要在jenkins目录下添加known_hosts文件,添加目标机器ip

因为jenkins本身没有家目录,可以放到/var/lib/jenkins/.ssh/目录下

可以copy别的用户家目录下的known_host文件

READ MORE

jenkins安装部署

安装

参考 https://pkg.jenkins.io/redhat-stable/

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install fontconfig java-17-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload

启动 systemctl start jenkins 开机自启

systemctl enable jenkins

注意需要java11或java17 下载jdk-17_linux-x64_bin.tar.gz 解压到/usr/local/jdk-17.0.9/ 这个目录是root权限 chown -R root:root /usr/local/jdk-17.0.9/ 配置 vi /usr/lib/systemd/system/jenkins.service Environment=“JAVA_HOME=/usr/local/jdk-17.0.9/”

配置nginx

upstream jenkins {
  keepalive 32; # keepalive connections
  server 127.0.0.1:8080; # jenkins ip and port
}

# Required for Jenkins websocket agents
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
  listen          80;       # Listen on port 80 for IPv4 requests

  server_name jenkins.left2east.top;

  # pass through headers from Jenkins that Nginx considers invalid
  ignore_invalid_headers off;

  location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" {
    # rewrite all static files into requests to the root
    # E.g /static/12345678/css/something.css will become /css/something.css
    rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last;
  }

  location /userContent {
    # have nginx handle all the static requests to userContent folder
    # note : This is the $JENKINS_HOME dir
    root /var/lib/jenkins/;
    if (!-f $request_filename){
      # this file does not exist, might be a directory or a /**view** url
      rewrite (.*) /$1 last;
      break;
    }
    sendfile on;
  }
  
    location / {
      sendfile off;
      proxy_pass         http://jenkins;
      proxy_redirect     default;
      proxy_http_version 1.1;

      # Required for Jenkins websocket agents
      proxy_set_header   Connection        $connection_upgrade;
      proxy_set_header   Upgrade           $http_upgrade;

      proxy_set_header   Host              $http_host;
      proxy_set_header   X-Real-IP         $remote_addr;
      proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;

      #this is the maximum upload size
      client_max_body_size       10m;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;
      proxy_request_buffering    off; # Required for HTTP CLI commands
  }

}

安装pipeline插件和git插件 添加credential,git账号和rsync密码文件

READ MORE

logstash json

源数据格式为

["1","2"]

配置filter,需要有target

filter {
        json {
            source => "bedroom"
            target => "bedroom"
        }  
    }

源数据格式为,则不需要target

{"bedroom":["1","2"]}
filter {
        json {
            source => "bedroom"
        }  
    }

READ MORE

logstash使用操作部分 - 二郎神 - 博客园

1.logstash的概念及特点。

概念:logstash是一个数据采集、加工处理以及传输(输出)的工具。

特点:

  - 所有类型的数据集中处理

  - 不同模式和格式数据的正常化

  - 自定义日志格式的迅速扩展

  - 为自定义数据源轻松添加插件

2.logstash安装配置。

①.下载安装

[root@node1 ~]# wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-2.3.4-1.noarch.rpm

[root@node1 ~]# rpm -ivh logstash-2.3.4-1.noarch.rpm

②.简单测试logstash,启动后输入"hello,xkops"。

[root@node1 ~]# /opt/logstash/bin/logstash -e ‘input{ stdin{} } output{ stdout{} }’

*提示:如果输出"hello,xkops",则证明logstash启动成功。

③.以服务启动方式。

[root@node1 ~]# service logstash start

总结:logstash三种启动方式,-e sting类型启动,-f 指定配置文件启动,服务启动。

3.logstash配置语句详解。

logstash配置文件包含三个配置部分,分别为:input{}、filter{}、output{}。

{} 定义区域,区域内可以定义一个或多个插件,通过插件对数据进行收集,加工处理,输出。

数据类型:

  布尔值类型: ssl_enable => true

  字节类型: bytes => “1MiB”

  字符串类型: name => “xkops”

  数值类型: port => 22

  数组: match => [“datetime”,“UNIX”]

  哈希: options => {key1 => “value1”,key2 => “value2”}

READ MORE