本次升级操作系统是CentOS 7,Zabbix 4.4.10,Php 7.2,Nginx 1.18,在升级前Zabbix 服务一切正常。本次更新php配置以及nginx配置是延用之前。

一、Zabbix 文件备份

# mkdir -p /data/zabbixback/
# cp /etc/zabbix/zabbix_server.conf /data/zabbixback/
# cp /etc/zabbix/zabbix_agentd.conf /data/zabbixback/
# cp /etc/zabbix/web/zabbix.conf.php /data/zabbixback/
# cp -R /usr/share/zabbix/ /data/zabbixback/
# cp -R /usr/share/doc/zabbix-* /data/zabbixback/

二、数据库备份

# mysqldump -u xxx -p xxx -R -E single-transaction zabbix | gzip > /data/zabbixback/zabbix_$(date +%Y%m%d_%H%M%S).sql.gz

# 或者直接备份数据文件
# systemctl stop mysqld
# cp -r  /data/mysql /data/zabbixback
# systemctl start mysqld

三、 停止 zabbix-server,zabbix-agent,卸载前端文件

# systemctl stop zabbix-agent 
# systemctl stop zabbix-server
# yum remove zabbix-web-*

四、升级Zabbix 安装包

1、更新服务端以及客户端软件

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum update zabbix-server zabbix-agent -y

2、安装前端包

# vim /etc/yum.repos.d/zabbix.repo

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1                                   # 这边由 0 改成 1 
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
....


# yum install -y zabbix-web              # 只安装前端包 /usr/share/zabbix

3、如无其他环境(PHP,NGINX)可通过如下方式一键安装

# 如果本机缺少php,nginx环境得话可以进行如下方式安装(只方式适合新手不熟悉处理环境问题的场景下)

# yum install centos-release-scl         # 不安装这个的话,后面依赖包rh-php 没法安装
# yum install zabbix-web-mysql-scl       # 会安装 zabbix-web,rh-php72,php mysql模块等相关软件版本
# yum install zabbix-nginx-conf-scl      # 会安装 zabbix-web,rh-php72,rh-nginx116软件

# 上述软件包安装位置在 /opt/rh 目录下,配置文件在 /etc/opt/rh 目录下
# 在使用MySQL 作为数据库场景下,需要额外安装环境的话,上面两个包就都需要安装

# 服务前需要修改 nginx 以及php 配置
1、nginx 需要改成仅使用 conf.d/zabbix 配置文件
2、php 的 zabbix.conf 子配置文件中 listen.acl_users 参数等于 nginx,这样nginx可以直接配置socket,否则就只能配置转发端口 9000

# 服务启动
# systemctl restart rh-nginx116-nginx
# systemctl restart rh-php72-php-fpm

五、服务启动

# 安装了 zabbix-web-mysql 软件可能会影响了php,nginx 配置文件,所以从原目录恢复
# mv /etc/nginx/conf.d/zabbix.conf.rpmsave /etc/nginx/conf.d zabbix.conf
# mv /etc/php-fpm.d/zabbix.conf.rpmsave /etc/php-fpm.d/zabbix.conf
# systemctl restart zabbix-server zabbix-agent
# tailf /var/log/zabbix/zabbix_server.log
.....
 20656:20210224:100732.939 current database version (mandatory/optional): 04040000/04040002
 20656:20210224:100732.939 required mandatory version: 05000000
.....

# 按上面要求修改数据库 zabbix mandatory
# mysql -u xxx -p zabbix
> update dbversion set mandatory=05000000;
> flush privilges;

六、zabbix-server 部分报错解决

# tailf /var/log/zabbix/zabbix_server.log
......
  3135:20210224:160749.646 error reason for "192.168.1.137:mysql.buffer_pool_efficiency" changed: Cannot evaluate expression: 
"Cannot evaluate function "last()": item "192.168.1.137:mysql.innodb_buffer_pool_read_requests" not supported.".
  3135:20210224:160750.673 error reason for "192.168.1.137:mysql.buffer_pool_utilization" changed: Cannot evaluate expression:
 "Cannot evaluate function "last()": item "192.168.1.137:mysql.innodb_buffer_pool_pages_total" not supported.".
noname.xml:1: parser error : noname.xml:1: Start tag expected, '<' not found
noname.xml:1: parser ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib
error : Start tag expected, '<' not found
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib
^
parser error : Start tag expected, '<' not found
^
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib
^
noname.xml:1: parser noname.xml:1: error : noname.xml:1: Start tag expected, '<' not found
parser ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib

......

出现上述问题,可能是被监控主机中有关联MySQL模板,一直没有取到数据,涉及到的主机可以通过zabbix-server日志全部翻出来看下,里面会有。然后排查 /etc/zabbix/.my.cnf 文件用户名密码主机是否正确。

总结:

Zabbix 5.0选项卡功能对比4.4 除去 Monitor 下的 Graph 选项外,其他都依旧存在,5.0 的 Graph 移动到 Monitor 下的 Hosts 功能下,可支持选定一台主机,把该主机下的突然放在同一界面展示。

参考摘要:

https://www.zabbix.com/documentation/5.0/manual/installation/upgrade/packages/rhel_centos

https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql

https://www.zabbix.com/forum/zabbix-help/417586-zabbix-4-4-template-db-mysql-account-isn-t-read-from-agent-conf#post417667

https://www.zabbix.com/forum/zabbix-help/417586-zabbix-4-4-template-db-mysql-account-isn-t-read-from-agent-conf#post417667

Logo

Agent 垂直技术社区,欢迎活跃、内容共建,欢迎商务合作。wx: diudiu5555

更多推荐