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