一、组件的版本选择
Zabbix Server/Proxy版本介绍
ZabbixServer/Proxy的版本为Zabbix-6.0,此版本为当前Zabbix原厂的LTS版本的最新一个版本。稳定性,安全性有保证。
Mysql版本介绍
MySQL的版本为MySQL-8.0.32版本,此版本稳定性,安全性有保证。(Zabbix6.0对数据库版本要求为mysql8.0 低版本数据库升级可自行百度即可)
Nginx版本介绍
Nginx的版本为Nginx-1.20.2版本,此版本稳定性,安全性有保证。(Zabbix6.0对Apache要求不低于1.3.12及更高版本。低版本Apache升级可自行百度删除编译更改版本即可)
PHP版本介绍
PHP的版本为PHP-7.4.30版本,此版本稳定性,安全性有保证。(Zabbix6.0对PHP版本要求不低于7.2.5及更改版本。低版本PHP升级可自行百度删除编译更改版本即可)
Keepalived版本介绍(可选组件。本文无keepavlied配置介绍可自行百度)
Keepalived的版本为keepalived-2.1.5版本,操作系统是Centos8为官方要求版本。稳定性,安全性有保证。HA使用Zabbix6.0原生的HA功能更稳定可靠。无需使用Keepalived工具作为高可用。此处的keepalived主要作为前端Nginx切换场景使用。(注:二进制编译安装在Centos7、欧拉、麒麟等操作系统上完全支持)
二、Zabbix Proxy系统
说明:如果proxy使用主备架构,建议先对备机进行升级,当备机server升级完成接管服务稳定运行后再对主服务进行升级。
1.升级前备份
1.1停止keepalived服务(单点架构忽略此步骤)
systemctl stop keepalived
1.2停止proxy服务
systemctl stop zabbix_proxy
1.3 Proxy配置文件备份
cp-r /usr/local/zabbix_proxy//usr/local/zabbix_proxy_bak
2. proxy升级
卸载现有proxy服务
rm-rf /usr/local/zabbix_proxy/
3.安装proxy6.0
1.将下载好的zabbix-6.0.x.tar.gz的二进制源码上传到服务器,执行如下命令
tar -zxvf zabbix-6.0.x.tar.gz && cd zabbix-6.0.x
4.二进制编译proxy
以下编译依赖启用所有模块参数,可根据需要进行删除或者启用相关组件
./configure --prefix=/usr/local/zabbix_proxy --enable-proxy --enable-webservice --with-mysql --enable-ipv6 --with-net-snmp--with-libcurl --with-libxml2 --with-openipmi --enable-java --with-ldap--with-openssl --with-unixodbc --with-ssh2 --with-libmodbus
注:编译安装Agent2或启用web serverice服务需要依赖GO环境,GO相关依赖包需联网下载,否则无法编译安装。可自行在自己虚拟机连网编译打包上传至服务器解压即可(可自行百度编译安装GO环境)
5.安装
make && make install
6.配置proxy6.0.x配置文件
注:由于zabbix5.0跟zabbix6.0的zabbix_proxy.conf配置文件参数不同,所以不能直接复制替换zabbix_proxy.conf
查看备份后的配置参数对应修改新的zabbix_proxy.conf配置
egrep-v "^#|^$" /usr/local/zabbix_proxy_bak/etc/zabbix_proxy.conf
7.将备份后的外部脚本复制到新的proxy相关目录下
cp -r /usr/local/zabbix_proxy_bak/share/zabbix/externalscripts /usr/local/zabbix_proxy/share/zabbix/
8.修改proxy目录权限
chown-R zabbix.zabbix /usr/local/zabbix_proxy
9.配置启动服务并加入系统命令
cp/opt/software/zabbix-6.0.x/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_proxy
修改服务路径
vi /etc/init.d/zabbix_proxy
BASEDIR=/usr/local/zabbix_proxy
加入系统命令(注:如服务已加入系统命令无需替换服务文件忽略此步骤)
chkconfig --add zabbix_proxy && chkconfigzabbix_proxy on
systemctl daemon-reload
10.插件升级(根据需要选择升级插件)
yum upgrade zabbix-java-gateway-6.0.x-1.el8.x86_64.rpm -y
yum upgrade zabbix-get-6.0.x-1.el8.x86_64.rpm -y
yum upgrade zabbix-js-6.0.x-1.el8.x86_64.rpm -y
yum upgrade zabbix-sender-6.0.x-1.el8.x86_64.rpm -y
11.启动proxy服务
说明:Proxy会自动升级数据库。启动服务后proxy报告当前强制和非强制的数据库版本。当前强制版本低于需要版本,proxy将自动执行需要的数据库补丁。如果升级任何补丁失败proxy将不会被启动,就算数据库强制版本比所需版本高,proxy也不会被启动。只有数据库当前强制版本与所需强制版本完全相符proxy才会启动。
1. 启动并查看日志文件
systemctl start zabbix_proxy
tail -f /usr/local/zabbix_proxy/zabbix_proxy.log
15677:20230115:011154.160 completed 100% ofdatabase upgrade
15677:20230115:011154.161 database upgradefully completed
注:当日志出现以上信息时说明数据库升级成功。否则失败需根据日志具体错误进行修复。
12.Proxy服务检查
1.检查升级后的proxy是否工作正常。
2.检查proxy日志是否正常。
13.失败回滚
1.恢复Proxy升级前备份文件,如有文件缺失启动快照恢复。
三、Zabbix Server系统
说明:如果server使用主备架构,建议先对备机进行升级,当备机server升级完成接管服务稳定运行后再对主服务进行升级。
1.升级前备份
1.1停止keepalived服务(单点架构忽略此步骤)
systemctl stop keepalived
1.2停止server服务
systemctl stop zabbix_server
1.3 server配置文件备份
cp-r /usr/local/zabbix_server//usr/local/zabbix_server_bak
1.4数据库配置信息配分
mysqldump-uzabbix -p zabbix --ignore-table=zabbix.history--ignore-table=zabbix.history_uint --ignore-table=zabbix.history_str --ignore-table=zabbix.history_text --ignore-table=zabbix.history_log --ignore-table=zabbix.trends --ignore-table=zabbix.trends_uint --ignore-table=zabbix.alerts --ignore-table=zabbix.events>/home/zabbix5.0.x.sql
1.5 zabbix前端文件备份
cp-r /usr/local/nginx/html /usr/local/nginx/html_bak
2.server升级
1.卸载现有server服务
rm-rf /usr/local/zabbix_server/
3.安装server6.0
1.将下载好的zabbix-6.0.x.tar.gz的二进制源码上传到服务器,执行如下命令
tar -zxvf zabbix-6.0.x.tar.gz && cd zabbix-6.0.x
4.二进制编译server
以下编译依赖启用所有模块参数,可根据需要进行删除或者启用相关组件
./configure --prefix=/usr/local/zabbix_server --enable-server --enable-webservice --with-mysql --enable-ipv6--with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --enable-java--with-ldap --enable-proxy --with-openssl --with-unixodbc --with-ssh2--with-libmodbus
注:编译安装Agent2或启用web serverice服务需要依赖GO环境,GO相关依赖包需联网下载,否则无法编译安装。可自行在自己虚拟机连网编译打包上传至服务器解压即可(可自行百度编译安装GO环境)
5.安装
make && make install
6.配置server6.0.x配置文件
注:由于zabbix5.0跟zabbix6.0的zabbix_server.conf配置文件参数不同,所以不能直接复制替换zabbix_server.conf
查看备份后的配置参数对应修改新的zabbix_server.conf配置
egrep-v "^#|^$" /usr/local/zabbix_server_bak/etc/zabbix_server.conf
7.将备份后的外部脚本复制到新的proxy相关目录下
cp -r /usr/local/zabbix_server_bak/share/zabbix/externalscripts /usr/local/zabbix_server/share/zabbix/
8.修改proxy目录权限
chown-R zabbix.zabbix /usr/local/zabbix_server
9.配置启动服务并加入系统命令
cp/opt/software/zabbix-6.0.x/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
修改服务路径
vi /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix_server
加入系统命令(注:如服务已加入系统命令无需替换服务文件忽略此步骤)
chkconfig --add zabbix_server && chkconfigzabbix_server on
systemctl daemon-reload
10.替换前端文件
rm /usr/local/nginx/html/* -rf
cp -a /home/zabbix-6.0.x/ui/* /usr/local/nginx/html
11.前端文件授权
chown -R zabbix:zabbix /usr/local/nginx/html
chmod-R o+x /usr/local/nginx/html
12.修改Zabbix前端中文字体
cp/usr/local/nginx/html/assets/fonts/DejaVuSans.ttf /usr/local/nginx/html/assets/fonts/DejaVuSans.ttf_bak
mv /home/msyh.ttc /usr/local/nginx/html/assets/fonts/DejaVuSans.ttf
13.启动proxy服务
说明:server会自动升级数据库。启动服务后server报告当前强制和非强制的数据库版本。当前强制版本低于需要版本,server将自动执行需要的数据库补丁。如果升级任何补丁失败server将不会被启动,就算数据库强制版本比所需版本高,server也不会被启动。只有数据库当前强制版本与所需强制版本完全相符server才会启动。
1. 启动并查看日志文件
systemctl start zabbix_server
tail -f /usr/local/zabbix_server/zabbix_server.log
17088:20230115:013164.247 completed 100% ofdatabase upgrade
17088:20230115:013164.248 database upgradefully completed
注:当日志出现以上信息时说明数据库升级成功。否则失败需根据日志具体错误进行修复。
14.server服务检查
1.检查升级后的server是否工作正常。
2.检查server日志是否正常。
15.失败回滚
1.恢复server升级前备份文件,如有文件缺失启动快照恢复。
博客并不是无时无刻关注。您的满意是对技术肯定。
各类监控对象模板开发及功能实现技术问题及经验分享欢迎加入交流
微信同号:king_songax