背景:client端操作系统升级.然后安装了该操作系统基础版本的zabbix-client,与原来的zabbix-server版本不匹配,需要重新部署一台zabbix-server
zabbix-server GUI上该client采集不到系统数据
说明:下文的 x.x.x.x 代表服务端的IP,y.y.y.y 代表客户端的IP
Received empty response from Zabbix Agent at [y.y.y.y]. Assuming that agent dropped connection because of access permissions.
log里报错是
3038724:20250106:110900.510 active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)
3038723:20250106:110918.618 Message from x.x.x.x is missing header. Message ignored.
问了chatGTP老师,列举了一些原因,其中一条是服务端zabbix和客户端版本不匹配
服务端的版本是3.4,客户端是zabbix 4.0
Zabbix Official Repository 在官网找rpm包发现 3.4最高到rhel7,client端是rhel8,服务端不方便动,所以决定基于rhel8再装一台zabbix-server
封闭环境部署zabbix-server遇到的难点
(1)最大的难点是离线环境寻找、安装依赖包,服务器不允许连外网真心酸……
如果能连接互联网,按如下装包即可,数据库和web的包安装方法类似
添加 Zabbix 官方仓库:
sudo yum install -y https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-3.el8.noarch.rpm
sudo yum clean all安装 Zabbix Server 和相关组件:
sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
官方安装文档传送门
1 Red Hat Enterprise Linux and derivatives
总结离线安装需要的包可以通过以下途径找到
- 挂载rhel8 iso (mariadb相关的包,php相关包,net-snmp,net-snmp-libs,OpenIPMI,OpenIPMI-libs等等)
- Zabbix Official Repository Zabbix Official Repository (zabbix相关的包能在此找到)
- rpm2html/rpmfind (没有用上)
(2)第一次知道原来两个rpm包可以互相依赖。。如果用rpm装,一起装就可以解决此问题。。
[root@RHEL8-xxx zabbix]# rpm -ivh zabbix-web-mysql-6.0.0-1.el8.noarch.rpm
warning: zabbix-web-mysql-6.0.0-1.el8.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
error: Failed dependencies:zabbix-web-deps = 6.0.0-1.el8 is needed by zabbix-web-mysql-6.0.0-1.el8.noarch
[root@RHEL8-xxx zabbix]# rpm -ivh zabbix-web-deps-6.0.0-1.el8.noarch.rpm
warning: zabbix-web-deps-6.0.0-1.el8.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
error: Failed dependencies:zabbix-web-database = 6.0.0-1.el8 is needed by zabbix-web-deps-6.0.0-1.el8.noarch
[root@RHEL8-xxx zabbix]#
[root@RHEL8-xxx zabbix]# rpm -ivh zabbix-web-mysql-6.0.0-1.el8.noarch.rpm zabbix-web-deps-6.0.0-1.el8.noarch.rpm
warning: zabbix-web-mysql-6.0.0-1.el8.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...1:zabbix-web-deps-6.0.0-1.el8 ################################# [ 50%]2:zabbix-web-mysql-6.0.0-1.el8 ################################# [100%]
[root@RHEL8-xxx zabbix]#
值得一提的是,上述提示中的依赖 zabbix-web-database并不是一个包名,database可以是mysql,psql等等,一开始没反应过来,到处找这个包。。也因此把别的包装完了才发现这里有两个包是互相依赖的。
(3)需要注意 mariadb-server版本有要求
对于RHEL8上安装zabbix 6.0(Zabbix 6.0 LTS 长期支持到2026), chatGPT老师对数据库版本的建议是 “推荐使用 MySQL 8.0 或 MariaDB 10.5+(RHEL 8 默认提供 MariaDB 10.3,但可能需要升级)”。
我试了装RHEL 8 iso里的默认版本 10.3 日志里会报错,后来把数据库卸载重装了10.5。
/var/log/zabbix/zabbix_server.log2272091:20250110:153936.207 Unable to start Zabbix server due to unsupported MariaDB database server version (10.03.39)
2272091:20250110:153936.207 Must be at least (10.05.00)
2272091:20250110:153936.207 Use of supported database version is highly recommended.
部署可参考的帖子
别的帖主写的安装过程
RHEL 8.8 安装部署 Zabbix 6.4 详细过程_红帽8安装zabbix-CSDN博客
RedHat9 | Zabbix-Server监控服务部署_redhat部署zabbix-CSDN博客
========================================================================
以下自己留用
https://www.zabbix.com/download?zabbix=6.0&os_distribution=red_hat_enterprise_linux&os_version=8&components=server_frontend_agent&db=mysql&ws=apache
1.Zabbix 前端要求 PHP 7.4 或更高版本。RHEL 8 默认支持 PHP 7.4,可以直接安装
关闭 SELinux(建议关闭,或正确配置)
临时关闭: sudo setenforce 0
永久关闭: sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
配置防火墙: 开放所需端口(10050、10051,HTTP 服务端口80或HTTPS端口443):
sudo firewall-cmd --permanent --add-port=10050-10051/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
2. 安装 Zabbix Server 和相关组件
开发环境安装命令参考 # dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
实际使用的命令:
rpm -ivh zabbix-agent-6.0.0-1.el8.x86_64.rpm
rpm -ivh zabbix-apache-conf-6.0.0-1.el8.noarch.rpm
rpm -ivh dejavu-sans-fonts-2.35-7.el8.noarch.rpm
rpm -ivh zabbix-web-6.0.0-1.el8.noarch.rpm
yum --disablerepo=* --enablerepo=rhel-source install php-bcmath php-fpm php-gd php-json php-ldap php-mbstring php-xml
#fping is needed by zabbix-server-mysql-6.0.0-1.el8.x86_64
#libOpenIPMI.so.0()(64bit) is needed by zabbix-server-mysql-6.0.0-1.el8.x86_64
#libOpenIPMIposix.so.0()(64bit) is needed by zabbix-server-mysql-6.0.0-1.el8.x86_64
#libnetsnmp.so.35()(64bit) is needed by zabbix-server-mysql-6.0.0-1.el8.x86_64
#fping 提供网络可用性检查
#OpenIPMI 提供 IPMI 支持库
#Net-SNMP 提供 SNMP 协议支持
rpm -ivh fping-4.2-2.el8.x86_64.rpm
yum --disablerepo=* --enablerepo=rhel-baseos --enablerepo=rhel-appstream install net-snmp net-snmp-libs
yum --disablerepo=* --enablerepo=rhel-baseos --enablerepo=rhel-appstream install OpenIPMI OpenIPMI-libs
rpm -ivh zabbix-server-mysql-6.0.0-1.el8.x86_64.rpm
#php-mysqlnd is needed by zabbix-web-mysql-6.0.0-1.el8.noarch,安装php-mysqlnd
yum --disablerepo=* --enablerepo=rhel-baseos --enablerepo=rhel-appstream install php-mysqlnd
#以下两个包互相依赖,需要一起安装
rpm -ivh zabbix-web-mysql-6.0.0-1.el8.noarch.rpm zabbix-web-deps-6.0.0-1.el8.noarch.rpm
rpm -ivh zabbix-apache-conf-6.0.0-1.el8.noarch.rpm
rpm -ivh zabbix-sql-scripts-6.0.0-1.el8.noarch.rpm
本地yum源配置(已将RHEL8.10 iso 挂载至 /mnt)
[rhel-baseos]
name=RHEL8
baseurl=file:///mnt/BaseOS
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-appstream]
name=RHEL8
baseurl=file:///mnt/AppStream
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
3. 安装和配置数据库
安装 MariaDB: RHEL 8 默认提供 MariaDB 10.3。需要更高版本MariaDB 10.5+。
开放环境参考命令 sudo yum install -y mariadb-server
实际使用的命令:
rpm -ivh mariadb-10.5.22-1.module+el8.8.0+20134+a92c7654.x86_64.rpm mariadb-backup-10.5.22-1.module+el8.8.0+20134+a92c7654.x86_64.rpm mariadb-common-10.5.22-1.module+el8.8.0+20134+a92c7654.x86_64.rpm mariadb-errmsg-10.5.22-1.module+el8.8.0+20134+a92c7654.x86_64.rpm mariadb-gssapi-server-10.5.22-1.module+el8.8.0+20134+a92c7654.x86_64.rpm mariadb-server-10.5.22-1.module+el8.8.0+20134+a92c7654.x86_64.rpm mariadb-server-utils-10.5.22-1.module+el8.8.0+20134+a92c7654.x86_64.rpm
rpm -ivh mysql-selinux-1.0.10-1.el8.noarch.rpm
sudo systemctl start mariadb
sudo systemctl enable mariadb
配置数据库并创建用户:
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
导入初始数据库结构:
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
4. 配置 Zabbix Server
编辑配置文件: 修改 /etc/zabbix/zabbix_server.conf,设置数据库信息:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix_password
启动 Zabbix 服务:
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
5. 配置 Zabbix Web 前端
配置 PHP: 修改 /etc/php.ini,设置 PHP 参数:
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai
启动 Apache:
sudo systemctl restart httpd
sudo systemctl enable httpd
访问 Zabbix Web 界面: 打开浏览器,访问 http://<your_server_ip>/zabbix,按照向导完成配置。
6.服务端安装 zabbix-agent,编辑配置文件, 启动 zabbix-agent
服务端配置文件 /etc/zabbix/zabbix_agentd.conf
Server=<zabbix server IP>
SourceIP=<zabbix agent IP>
ListenIP= <zabbix agent IP>
systemctl start zabbix-agent
systemctl enable zabbix-agent
7. 登录 Zabbix
默认管理员账户:Admin
默认密码:zabbix
添加监控的服务器
点击Graph可以查看监控的系统数据
可以指定时间区间
Filter可以筛选指标
Configuration -> Host 里Items可以创建要观察的指标,Trigger可以创建告警,具体可参考官网安装步骤 3.Start using Zabbix
Download and install Zabbix