• 搜索
  • 夜间模式
    ©2026  依刻学习 Theme by OneBlog

    依刻学习博客

    搜索
    标签
  • 首页>
  • 学习的一天>
  • 正文
  • 搭建zabbix-6.0LTS

    2025年03月27日 19 阅读 0 评论 13449 字

    前言

    复习zabbix
    |NODE|IP|ROLE|
    |-|-|-|
    |T1|192.168.179.191|zabbix-agent|
    |T3|192.168.179.193|zabbix-server|

    实践

    搭建zabbix集群 (6.0LTS)

    环境搭建

    参考官方文档2 安装要求

    1. php 7.4

      选择安装php7.4

      方法1,源码安装

      1. 安装环境

        yum -y install gcc gcc-c++ libxml2-devel libicu-devel sqlite-devel oniguruma oniguruma-devel autoconf zip unzip  openssl-devel  libtool libpng-devel libjpeg-turbo-devel  freetype-devel libzip libzip-devel
      2. 下载解压

        #由于官网太慢,选择其他网站
        cd /root
        wget http://be2.php.net/get/php-7.4.15.tar.gz/from/this/mirror -O php-7.4.15.tar.gz
        
        tar -zxvf php-7.4.15.tar.gz
        cd php-7.4.15/
      3. 编译安装

        ./configure \
        --prefix=/app/tools/php7 \
        --with-config-file-path=/app/tools/php7/etc \
        --with-config-file-scan-dir=/usr/local/php7/etc/php.d \
        --enable-mysqlnd \
        --with-mysqli \
        --with-pdo-mysql \
        --enable-fpm \
        --with-fpm-user=nginx \
        --with-fpm-group=nginx \
        --enable-gd \
        --with-freetype \
        --with-png \
        --with-jpeg \
        --with-iconv \
        --with-zlib \
        --enable-xml \
        --enable-shmop \
        --enable-sysvsem \
        --enable-inline-optimization \
        --enable-mbregex \
        --enable-mbstring \
        --enable-ftp \
        --with-openssl \
        --enable-pcntl \
        --enable-sockets \
        --with-xmlrpc \
        --with-zip \
        --enable-soap \
        --without-pear \
        --with-gettext \
        --enable-session \
        --with-curl \
        --enable-opcache \
        --enable-bcmath
        
        make && make install
        
        #如果编译错误或重新编译,需要make clean

        一定要注意make install后出现的未识别选项,因为对于不同的php版本,选项可能出现变化,如果没有使用php7.4.15进行编译,可能需要修改选项


        --enable-zip在php7.4被抛弃了,取缔它的是 --with-zip,

      4. 普通配置

        #这是通用配置,所有php编译安装都需要
        ln -s /app/tools/php7 /app/tools/php
        ln -s /app/tools/php/sbin/php-fpm  /usr/bin/php
        
        cp php.ini-production /app/tools/php/etc/php.ini
        cp /app/tools/php/etc/php-fpm.conf.default /app/tools/php/etc/php-fpm.conf
        cp /app/tools/php/etc/php-fpm.d/www.conf.default /app/tools/php/etc/php-fpm.d/www.conf 
      5. 验证

        php -v

      6. 修改配置

        #适应zabbix使用的配置
        sed -ri '/^(user|group)/s#apache#nginx#g' /app/tools/php/etc/php-fpm.d/www.conf 
        #检查
        grep -E '^(user|group)'  /app/tools/php/etc/php-fpm.d/www.conf
        #修改php配置符合zabbix的要求
        vim /app/tools/php/etc/php.ini
        
        post_max_size = 16M
        max_execution_time = 300
        max_input_time = 300
      7. 启动

        php
        #以下方法好像不行
        cp /app/tools/php/sbin/php-fpm /etc/init.d/php-fpm
        #可以选择配置systemd,但是一般不会关闭或重启php,所以直接使用service启动
        service php-fpm start
        ps aux | grep php-fpm

    方法2(懒人rpm包版)

    1. 该方法使用便捷,php部分不可能出问题,也不用等待编译php 7.4

      yum -y install epel-release
      yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 
      yum -y install yum-utils
      yum -y install php74-php php74-php-fpm php74-php-bcmath php74-php-ctype php74-php-curl php74-php-dom php74-php-gd php74-php-hash php74-php-iconv php74-php-intl php74-php-mbstring php74-php-pdo_mysql php74-php-simplexml php74-php-soap php74-php-xsl php74-php-zip php74-php-xml php74-php-sockets php74-php-session php74-php-snmp php74-php-mysql php74-php-cli php74-php-json php74-php-mcrypt php74-php-mysqlnd php74-php-pecl-crypto php74-php-pecl-mcrypt php74-php-pecl-geoip php74-php-recode  php74-php-xmll php74-php-ldap
      systemctl start php74-php-fpm 
      systemctl enable php74-php-fpm
      rpm -qa | grep php
      find /etc/opt/remi/php74 -name php.ini
      
      vim /etc/opt/remi/php74/php.ini
      
       cgi.fix_pathinfo=0
       post_max_size = 16M
       max_execution_time = 300
       max_input_time = 300
       
      systemctl restart php74-php-fpm
      ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php
      vim ~/.bashrc
      
       export PATH=/opt/remi/php74/root/usr/bin:$PATH
       
      source ~/.bashrc
      vim /etc/profile
      
       export PATH=/opt/remi/php74/root/usr/bin:$PATH
       
      php -v
      
      #注意此yum使用php74-php-fpm启动
    1. maridb 10.6

      指定阿里云mariadb 的10.6安装源

      1. 删除可能的mysql数据库

        #危险操作,谨慎
        rpm -qa|grep mysql|xargs yum remove -y 
        rpm -qa|grep mariadb |xargs yum remove 
        rpm -qa|grep mysql|xargs rpm -e 
        #删库操作#rm -rf /var/lib/mysql/*##
        #删日志#rm -f /var/log/mysqld.log##

        如果/var/lib/mysql/不删,可能导致留有部分数据!包括登录密码

      2. 配置mariadb源

        vim /etc/yum.repos.d/MariaDB.repo
        
        [mariadb]
        name = MariaDB
        baseurl = http://mirrors.aliyun.com/mariadb/yum/10.6/centos7-amd64/
        gpgkey =  http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
        gpgcheck = 1
      3. 下载

        yum clean all
        yum repolist
        yum install MariaDB-server MariaDB-client -y
        systemctl start mariadb
        systemctl enable mariadb
        systemctl status mariadb
      4. 检查

        mysqld --version

      5. 配置

        #zabbix需要创建数据库(没有配置密码)
        mysql -u root -p  
        
        create database zabbix charset utf8 collate utf8_bin;
        grant all on zabbix.* to 'zabbix'@'localhost' identified by  'zabbix';
        show databases;
        select user,host from mysql.user;
        #需要使用zabbix软件包的sql文件,先下载
        cd /root/
        mysql zabbix < schema.sql
        mysql zabbix < images.sql
        mysql zabbix < data.sql

        如果不配置,在配置数据库时会出现

    2. nginx

      1. 安装启动

        yum install -y nginx
        systemctl enable --now nginx
        #nginx也可以编译安装,但是zabbix对nginx没有要求,yum下载就行
      2. 配置server

        #浏览器访问zabbix
        vim /etc/nginx/conf.d/www.zabbix.cn.conf
        
        server {
          listen 80;
          server_name www.zabbix.cn;
          root  /app/tools/zabbix;
          location / {
            index index.php;
          }
          location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index_php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
          }
        }
      3. 重启

        systemctl restart nginx
        systemctl status nginx
    3. zabbix客户端

      对于linux,有agent与agent2,推荐使用agent2,比较新

      需要注意的是,服务端本身也需要安装agent,直接使用默认配置启动就行

      1. 下载

        #centos7的6.0LTS版的zabbix_agent2
        rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-latest-6.0.el7.noarch.rpm
        yum clean all
        yum install zabbix-agent2 -y
        yum install zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql -y
        systemctl restart zabbix-agent2
        systemctl enable zabbix-agent2
        systemctl status zabbix-agent2

        参考官网Download and install Zabbix 6.0 LTS for CentOS 7

      2. 配置

        vim /etc/zabbix/zabbix_agent2.conf
        #服务端IP
        #Server=<zabbix_server_IP>
        Server=192.168.179.193
        #配置客户端主动推送,否则被动工作,需要服务端请求(服务端压力大)
        #ServerActive=<zabbix_agent_IP>
        ServerActive=192.168.179.193
        #主机名,建议与linux主机名一致
        Hostname=T1
      3. 重启

        systemctl restart zabbix-agent2
    4. zabbix服务端

      1. 安装依赖

        yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel
      2. 下载解压

        wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.39.tar.gz
        tar xf zabbix-6.0.39.tar.gz
        cd zabbix-6.0.39
      3. 编译安装

        ./configure --sysconfdir=/app/tools/zabbix/ --enable-server --with-service --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre

        make && make install
        echo $?
      4. 配置

        vim  /app/tools/zabbix/zabbix_server.conf
        
        ListenPort=10051
        #日志 (需要创建)
        LogFile=/var/log/zabbix/zabbix_server.log 
        #数据库位置
        DBHost=localhost        
        #数据库名
        DBName=zabbix            
        #数据库用户名
        DBUser=zabbix            
        #用户密码
        DBPassword=zabbix        
        
        #检查
        grep -n '^[a-Z]' /app/tools/zabbix/zabbix_server.conf
        #创建日志文件
        mkdir -p /var/log/zabbix
        touch    /var/log/zabbix/zabbix_server.log
        
        #创建启动用户
        useradd  -s /sbin/nologin  -M zabbix 
        chown -R zabbix.zabbix  /var/log/zabbix/
        #前端配置(在下载解压包里)
        cp /root/zabbix-6.0.39/ui/* /app/tools/zabbix -r
        #更换属主
        chown -R nginx.nginx /app/tools/zabbix

        如果/app/tools/zabbix不更换属主,会导致zabbix启动后的配置文件需要自己一个一个添加

        #systemd启动
        vim /usr/lib/systemd/system/zabbix-server.service
        
        [Unit]
        Description=Zabbix Server
        After=syslog.target network.target
        
        [Service]
        Type=simple
        ExecStart=/usr/local/sbin/zabbix_server -f
        User=zabbix
        
        [Install]
        WantedBy=multi-user.target
      5. 启动

        systemctl daemon-reload
        systemctl start zabbix-server.service
        systemctl status zabbix-server.service
      6. 访问

        http://www.zabbix.cn/

        如果配置正常,应该都是绿色的的

        #需要手动下载上传到/app/tools/zabbix/conf,除非你愿意修改模板zabbix.conf.php.example

      7. 登录

        用户Admin
        密码zabbix

        进入zabbix

      8. 解决中文乱码

        C:\Windows\Fonts
        #随便复制一个到/app/tools/zabbix/assets/fonts
        这里选择SIMSUN.TTC(新宋体)
        mv /app/tools/zabbix/assets/fonts/SIMSUN.TTC /app/tools/zabbix/assets/fonts/DejaVuSans.ttf
        #一定不要修改 zabbix/include/defines.inc.php,修改这个文件的字体键值会莫名出现未知错误

      9. 添加客户端


        回到主界面查看结果

        如果是绿的,就是成功了;如果是灰的,就是正在连接,需要等一会,如果是红的,就是没有连上,配错了

    错误
    1.mysql与mariadb冲突

    • 报错
    • 原因
      mariadb与mysql抢夺安装路径,安装mariadb时mysql没删干净
    • 解决

      rpm -qa|grep mysql|xargs yum remove -y >&/dev/null
      rpm -qa|grep mariadb |xargs yum remove -y >&/dev/null
      rpm -qa|grep mysql|xargs rpm -e >&/dev/null
      #建议删除数据,自己判断
      #rm -rf /var/lib/mysql/*#
      rm -f /var/log/mysqld.log
    rpm -qa|grep mysql|xargs yum remove -y 

    2.zabbix检查php缺失必要条件

    • 报错
    • 原因
      php编译时缺失了模块,需要重新编译
    • 解决
      重新编译php(已经修改过编译模块了),或者直接使用rpm包安装

    3.php编译后仍错误

    • 报错
    • 原因
      PHP 版本(7.4+)需要使用 --enable-gd 而不是 --with-gd,并且需要明确启用各种图像格式支持:
      将 --with-gd 改为 --enable-gd,指定--with-freetype --with-png --with-jpeg
    • 解决
      修改编译模块,注意make install后提示的未知模块信息
    本文著作权归作者 [ wymm ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    Copyright©2026  All Rights Reserved.  Load:0.022 s
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。