一、3.2升級至4.0版本
使用3.2版本測試升級至4.0版本,可直接進行升級
(環境是之前已經部署好的,以下僅說明如何進行升級操作)
中文亂碼問題可參考:https://www.cnblogs.com/armo/p/6067784.html
二、升級步驟
注:如果需要導入數據,先導入數據,在進行升級,否則會導致監控頁崩潰。
1.升級前准備,將原有zabbx及數據庫備份
網站的主目錄:/usr/local/nginx/html/zabbix 停止zabbix_server服務 創建升級備份目錄:mkdir /backup/zabbix_bak 備份mysql:mysqldump -u root -p123456 zabbix --ignore-table=zabbix.history --ignore-table=zabbix.history_str --ignore-table=zabbix.history_uint --ignore-table=zabbix.history_text --ignore-table=zabbix.trends --ignore-table=zabbix.trends_uint --ignore-table=zabbix.events > /backup/zabbix_bak/zabbix.sql 備份zabbix.conf.php: cp -rf /usr/local/nginx/html/zabbix/conf/zabbix.conf.php /backup/zabbix_bak 將原zabbix安裝目錄備份:mv /usr/local/zabbix-server /usr/local/zabbix-server-bak
2.編譯4.0版本
上傳zabbix4.0的源碼包到/opt目錄下,現在開始正式的升級步驟,重新編譯一次Zabbix4.0
wget “zabbix下載地址” tar xf zabbix-4.0.7.tar.gz cd zabbix-4.0.7 ./configure --prefix=/usr/local/zabbix-server --enable-server --enable-java --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 && make && make install
若編譯報錯,可能為缺少依賴包,執行以下命令
yum -y install unixODBC-devel net-snmp-devel libxml2-devel libcurl-devel libevent-devel
若報錯error: MySQL library not found,則執行如下命令
find / -name "mysql_config" 結果應該是/usr/local/mysql/bin/mysql_config
在編譯時將--with-mysql改為--with-mysql=/usr/local/mysql/bin/mysql_config
編譯時java報錯,為需要javac進行支持,執行以下命令
ll /usr/bin/javac
若結果不是如上圖的結果,刪除軟連接,重新建立即可
ln -s /usr/java/bin/javac /usr/bin/
3.覆蓋Nginx訪問目錄的PHP文件
把4.0的網頁文件覆蓋至nginx的zabbix訪問目錄,將備份的zabbix.conf.php文件復制zabbix的web目錄下conf目錄
cp -rf /opt/zabbix-4.0.7/frontends/php/* /usr/local/nginx/html/zabbix/ cp -rf /backup/zabbix_bak/zabbix.conf.php /usr/local/nginx/html/zabbix/conf/
4.配置文件修改
cat /usr/local/zabbix-server-bak/etc/zabbix_server.conf|egrep -v "^$|^#" > 1.txt
與升級前配置文件對比修改
vim /usr/local/zabbix-server/etc/zabbix_server.conf
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
因使用不同以下省略……
5.配置啟動腳本
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
腳本進行以下修改
將此行BASEDIR=/usr/local 改為zabbix安裝路徑也就是BASEDIR=/usr/local/zabbix-server
6.啟動服務
啟動zabbix_server服務
/etc/init.d/zabbix_server start
查看zabbix_server的日志,可看到正在進行數據庫的升級,等待數據庫升級完成后即可在web頁面訪問
tailf /tmp/zabbix_server.log
訪問頁面時可能會提示
進入數據庫進行如下操作 mysql> show databases; mysql> use zabbix; mysql> update dbversion set mandatory=4000000; mysql> flush privileges;