Centos9环境下的Zabbix监控安装,Server、web、Agent、Proxy等工具安装

本次安装主要通过参考官方文档进行,然后辅助其他文档,并进行错误排查等。


主要参考文档:https://www.zabbix.com/download?zabbix=6.0&os_distribution=centos&os_version=9&components=server_frontend_agent&db=mysql&ws=apache

其他参考文档:https://blog.csdn.net/wojiuwangla/article/details/92585758


整体安装过程较为简单,但是对于BUG的排查较为复杂,甚至存在修改PHP文件的操作。


安装:Server, Frontend, Agent

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
dnf clean all
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent


注意,本次安装我选择使用了异地数据库,所以有些地方可能不一致。


登录数据,创建zabbix数据库。

create database zabbix character set utf8mb4 collate utf8mb4_bin;


在官方文档中,存在以下指令,但是我本地运行会卡住,不继续运行;在后续操作中,发现他的数据插入确实存在问题,所以不使用下面的命令。

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix


我的解决方法是sql文件导出并下载到本地,通过navicat导入。

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz > ./server.sql


修改配置文件:

vim /etc/zabbix/zabbix_server.conf
//    关键行如下
DBHost=mysql.rds.aliyuncs.com
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306

注意,这个位置容易踩坑!

携带的参数使用引号将会存在报错,设置的服务器密码尽量不要带特殊符号,否则程序会进入一个假启动状态,并且在“systemctl status zabbix-server.service”中查询也会提示是正常的状态。

但是进入Web将会给出Server未运行的提示,如果存在提示需要检查日志:“/var/log/zabbix/zabbix_server.log”


修改后启动相关服务

systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm


安装并启动 Java Gateway

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
dnf clean all
dnf install zabbix-java-gateway
systemctl restart zabbix-java-gateway
systemctl enable zabbix-java-gateway


安装并启动 Web Service

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
dnf clean all
dnf install zabbix-web-service
systemctl restart zabbix-web-service
systemctl enable zabbix-web-service


前端页面配置

访问前端配置页面:http://host/zabbix

我在前端配置文件也踩了坑,是反复检查已经安装了PHP-GD了,但是一直在报错,提示问题。解决方法是通过修改PHP文件,跳过了他的检查。

他的Web路径是:/usr/share/zabbix

提示报错内容是这样的:“PHP configuration parameter --with-gd”

通过搜索这一行的关键词,去反查他对应的文件进行修改。

命令如下:

cd /usr/share/zabbix
find . -type f -exec grep -l "with-gd" {} \;

找到文件:./include/classes/setup/CFrontendSetup.php

修改关键内容:

        public function checkPhpGd() {
                if (is_callable('gd_info')) {
                        $gdInfo = gd_info();
                        preg_match('/(\d\.?)+/', $gdInfo['GD Version'], $current);
                        $current = $current[0];
                }
                else {
                        $current = _('unknown');
                }
                $check = version_compare($current, self::MIN_PHP_GD_VERSION, '>=');

                return [
                        'name' => _('PHP gd'),
                        'current' => $current,
                        'required' => self::MIN_PHP_GD_VERSION,
                        'result' => $check ? self::CHECK_OK : self::CHECK_FATAL,
                        'error' => _('PHP gd extension missing (PHP configuration parameter --with-gd).')
                ];
        }

替换为:

public function checkPhpGd() {
    // 直接返回成功的结果,不进行实际的检查
    return [
        'name' => _('PHP gd'),
        'current' => 'bypassed',  // 自定义当前版本信息,表示这个检查被绕过
        'required' => 'not applicable',  // 因为绕过了检查,所以没有实际的要求
        'result' => self::CHECK_OK,  // 总是返回检查成功
        'error' => ''  // 无错误信息
    ];
}

此操作让zabbix跳过了这项检查继续安装,后续如果有其他报错,在本地检查确定没有问题之后,也能使用此方法。


安装被采集节点 Agent

Centos8

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm# dnf clean all
# dnf install zabbix-agent
# systemctl restart zabbix-agent# systemctl enable zabbix-agent









发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。