Centos9环境下的Zabbix监控安装,Server、web、Agent、Proxy等工具安装
本次安装主要通过参考官方文档进行,然后辅助其他文档,并进行错误排查等。
其他参考文档: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
发表评论