22 Zabbix系统版本升级过程

时间:2023-03-08 16:15:30

点击返回:自学Zabbix之路

点击返回:自学Zabbix4.0之路

点击返回:自学zabbix集锦

22 Zabbix系统版本升级过程

Zabbix升级与其他相类似系统升级一样,前提一定做好备份,备份!!!   (若出现两个版本的数据库表不一致的问题将出现不可预计的问题)

备份备文件主要是:

  • 数据库文件:通过mysqldump来导出, mysqldump -u root -p zabbix > zabbix.sql
  • zabbix.conf.php:在网站主目录的conf目录下

zabbix服务器相关目录:

  • 备份目录:    /opt/backups/zabbix
  • zabbix主目录:  /opt/apps/zabbix
  • 服务端配置文件:/opt/conf/zabbix/zabbix_server.conf
  • 前端页面目录: /opt/webapps/zabbix
  • 服务启动脚本: /etc/init.d/zabbix_server

升级步骤:

1:官网下载zabbix安装包zabbix-3.2.1.tar.gz,解压,并在新的目录中编译安装新版本

# tar -zxvf zabbix-3.2.1.tar.gz
# cd zabbix-3.2.1
# ./configure --prefix=/opt/apps/zabbix.3.2 --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
# make install

2:停掉正在运行的zabbix服务,确保没有新数据写入数据库

# /etc/init.d/zabbix_server stop

3:备份原zabbix的数据库数据,以及相关配置文件

# mysqldump -h 127.0.0.1 -u zabbix -ppassword zabbix > /opt/backup/zabbix/zabbix_bak.sql
# cp -p /opt/conf/zabbix/zabbix_server.conf /opt/backup/zabbix/zabbix_server.conf.3.0
# cp -p /opt/webapps/zabbix/conf/zabbix.conf.php /opt/backup/zabbix/zabbix.conf.php.3.0

4:替换新版本的相关配置文件,参考旧配置文件配置服务

# cp -p /opt/apps/zabbix.3.2/etc/zabbix_server.conf /opt/conf/zabbix/zabbix_server.conf
# grep -v "^#" zabbix_server.conf | grep -v "^$"
LogFile=/opt/logs/zabbix/zabbix_server.log
PidFile=/opt/logs/zabbix/zabbix_server.pid
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=xxxxxxxx
DBPort=3306
JavaGateway=xx.xx.xx.xx
JavaGatewayPort=10052
StartJavaPollers=5
Timeout=4
AlertScriptsPath=/opt/apps/zabbix/share/zabbix/alertscripts
LogSlowQueries=3000

5:替换zabbix主目录,用新的zabbix执行bin文件启动服务

# mv /opt/apps/zabbix /opt/apps/zabbix.3.0
# mv /opt/apps/zabbix.3.2 /opt/apps/zabbix
复制相关的脚本文件:
# cp -rp /opt/apps/zabbix.3.0/share/zabbix/alertscripts/* /opt/apps/zabbix
# /etc/init.d/zabbix_server start

正常情况下,新的zabbix服务会自动更新mysql数据库中的字段,如果出现以下相关错误:

query failed: [1060] Duplicate column name 'exec_params' [alter table media_type add exec_params varchar(255) default '' not null]

则需要在mysql中删除相关表的字段后再重新启动服务。

注:
需删除的字段:media_type表中的exec_params字段,hosts表中所有tls开头的字段。
这时登录zabbix页面会提示数据库版本不一致,那是因为前端页面使用的zabbix数据库版本与后端服务使用的版本不一致。需替换前端页面为新版本页面。

6:替换zabbix前端页面

# mv /opt/webapps/zabbix /opt/webapps/zabbix.3.0
# cp -rp /opt/src/frontends/php /opt/webapps/zabbix
# cp -p /opt/backup/zabbix/zabbix.conf.php.3.0 /opt/webapps/zabbix/conf/zabbix.conf.php