zabbix 6.2.0部署

zabbix 6.2官方部署文档
https://www.zabbix.com/documentation/6.2/en/manual/installation/install
下载zabbix6.2安装包
https://www.zabbix.com/download_sources

一、准备zabbix_server

1、解压安装包
tar -zxvf zabbix-6.2.0.tar.gz
2、安装编译安装条件
yum groupinstall "Development Tools" -y
yum install mysql-devel libevent-devel libevent libxml* net-snmp-devel OpenIPMI-devel curl-devel -y
3、创建zabbix用户
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
4、创建zabbix编译安装目录
mkdir /usr/local/zabbix
5、编译安装
cd到zabbix解压目录下
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
5、加权限
chown -R zabbix:zabbix /usr/local/zabbix

二、准备数据库

数据库选择mysql5.7.37版本;如果选用5.7.25,zabbix 6.2在启动的时候会提示数据库版本过低;建议直接上MySQL8.0以上的版本,根据后面我测试发现,5.7.37虽然能用但是web UI系统信息会有告警。
下载链接:https://downloads.mysql.com/archives/community/
1、解压安装包
tar xvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
2、创建数据库用户并为mysql工作目录授予权限
useradd -s /sbin/nologin mysql
mkdir /usr/local/mysql-5.7.37/data
chown mysql:mysql -R /usr/local/mysql-5.7.37
3、初始化
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.37 --datadir=/usr/local/mysql-5.7.37/data
2022-07-21T03:47:24.756008Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-07-21T03:47:26.657144Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-07-21T03:47:26.983935Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-07-21T03:47:27.088184Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d69325d7-08a7-11ed-880d-000c29e2fc7c.
2022-07-21T03:47:27.115081Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-07-21T03:47:28.128228Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2022-07-21T03:47:28.128241Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2022-07-21T03:47:28.128729Z 0 [Warning] CA certificate ca.pem is self signed.
2022-07-21T03:47:28.363694Z 1 [Note] A temporary password is generated for root@localhost: ktjbcp#q/1GQ  #初始密码,第一次登录要用到
4、修改mysql配置文件
[mysqld]
character-set-server=utf8mb4
max_allowed_packet = 20M
basedir=/usr/local/mysql-5.7.37/
datadir=/usr/local/mysql-5.7.37/data
5、启动
5.1、前台启动
[root@zabbix-server bin]# pwd
/usr/local/mysql-5.7.37/bin
[root@zabbix-server bin]# ./mysqld -u mysql
5.2、后台启动
[root@zabbix-server support-files]# pwd
/usr/local/mysql-5.7.37/support-files
[root@zabbix-server support-files]# ./mysql.server start
6、登录数据库创建zabbix库和zabbix用户并导入zabbix模板文件
create database zabbix;
use zabbix;
# 导入顺序不能乱,否则会报错
source /root/zabbix-6.2.0/database/mysql/schema.sql
source /root/zabbix-6.2.0/database/mysql/images.sql
source /root/zabbix-6.2.0/database/mysql/data.sql
# 创建zabbix用户并授权zabbix库所有权限;
create user 'zabbix'@'%' identified by 'zabbix.com';
grant all on zabbix.* to 'zabbix'@'%';

三、配置zabbix_server

[root@zabbix-server etc]# pwd
/usr/local/zabbix/etc
[root@zabbix-server etc]# egrep -v "^$|^#" zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/usr/local/zabbix/zabbix_server.pid
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix.com
AllowUnsupportedDBVersions=1
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

四、启动zabbix_server服务

[root@zabbix-server sbin]# pwd
/usr/local/zabbix/sbin
[root@zabbix-server sbin]# ./zabbix_server
监听10051端口

五、部署zabbix UI

1、编译安装php-7.4.28
./configure --prefix=/usr/local/php --with-curl --with-freetype --enable-gd --with-gettext --with-iconv-dir --with-jpeg --with-kerberos --with-libdir=lib64 --with-libxml  --with-mysqli --with-openssl --with-pdo-mysql --with-pdo-sqlite --without-pear --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --with-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --with-zip --with-ldap
2、配置nginx
将zabbix-6.2.0原始目录下的ui目录下的内容复制一份放到/var/www/zabbix-ui目录下
    server {
        listen       80;
        server_name  zabbix.com;

        location / {
            index index.php;
            root /var/www/zabbix-ui;

        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            root /var/www/zabbix-ui;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /var/www/zabbix-ui/$fastcgi_script_name;
            include        fastcgi_params;
        }


       error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log;
    }
3、启动nginx
访问zabbix.com,则出现zabbix-6.2.0的安装界面,根据提示安装即可;

 六、部署zabbix_agentd服务

将zabbix_server端的/usr/local/zabbix目录copy一份到zabbix_agent主机端,启动zabbix_agent程序即可;

ansible playbook文件

- hosts: all
  remote_user: root
  tasks:
  - name: create grout
    group: name=zabbix system=true
  - name: create user
    user: name=zabbix comment="Zabbix Monitoring System" home=/usr/lib/zabbix shell=/sbin/nologin system=true
  - name: mkdir zabbix-log
    file: path=/var/log/zabbix state=directory
  - name: copy zabbix
    copy: src=zabbix dest=/usr/local/
  - name: chown zabbix
    shell: chown -R zabbix:zabbix /usr/local/zabbix && chown -R zabbix:zabbix /var/log/zabbix && chmod +x /usr/local/zabbix/sbin/zabbix_agentd
    notify: start zabbix
  handlers:
  - name: start zabbix
    shell: /usr/local/zabbix/sbin/zabbix_agentd

zabbix_agentd unit file文件 "vim /usr/lib/systemd/system/zabbix_agentd.service"

[Unit]
Description=zabbix_agentd
Documentation=https://www.zabbix.com/cn
After=network-online.target

[Service]
Type=forking
User=zabbix
Group=zabbix
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd
ExecReload=/bin/kill -SIGHUP $MAINPID
TimeoutStartSec=20s
TimeoutStopSec=20s
Restart=on-failure

[Install]
WantedBy=multi-user.target

 

posted @ 2022-07-26 14:42  潇湘神剑  阅读(3042)  评论(0编辑  收藏  举报