天天看點

zabbix3.0.0更新zabbix3.2.1版本

背景:  

 近期公司的zabbix經常有已出的告警無法消除,必須重新開機後才能消除告警的Bug。後來了解到這是zabbix3.0.0版本的一個bug,是以考慮把在用的zbbix版本更新至最新版本3.2.1。

 zabbix3.0.0版本與zabbix3.2.1版本的更新很簡單,但是有許多小問題。比如兩個版本的資料庫表不一緻的問題,是以一定要做好備份的操作。

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,解壓,并在新的目錄中編譯安裝新版本。

1

2

3

4

<code># tar -zxvf zabbix-3.2.1.tar.gz</code>

<code># cd zabbix-3.2.1</code>

<code># ./configure --prefix=/opt/apps/zabbix.3.2 --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2</code>

<code># make install</code>

2:停掉正在運作的zabbix服務,確定沒有新資料寫入資料庫。

<code># /etc/init.d/zabbix_server stop</code>

3:備份原zabbix的資料庫資料,以及相關配置檔案。

<code># mysqldump -h 127.0.0.1 -u zabbix -ppassword zabbix &gt; /opt/backup/zabbix/zabbix_bak.sql</code>

<code># cp -p /opt/conf/zabbix/zabbix_server.conf /opt/backup/zabbix/zabbix_server.conf.3.0</code>

<code># cp -p /opt/webapps/zabbix/conf/zabbix.conf.php /opt/backup/zabbix/zabbix.conf.php.3.0</code>

4:替換新版本的相關配置檔案,參考舊配置檔案配置服務。

5

6

7

8

9

10

11

12

13

14

15

<code># cp -p /opt/apps/zabbix.3.2/etc/zabbix_server.conf /opt/conf/zabbix/zabbix_server.conf</code>

<code># grep -v "^#" zabbix_server.conf | grep -v "^$"</code>

<code>LogFile=</code><code>/opt/logs/zabbix/zabbix_server</code><code>.log</code>

<code>PidFile=</code><code>/opt/logs/zabbix/zabbix_server</code><code>.pid</code>

<code>DBHost=127.0.0.1</code>

<code>DBName=zabbix</code>

<code>DBUser=zabbix</code>

<code>DBPassword=xxxxxxxx</code>

<code>DBPort=3306</code>

<code>JavaGateway=xx.xx.xx.xx</code>

<code>JavaGatewayPort=10052</code>

<code>StartJavaPollers=5</code>

<code>Timeout=4</code>

<code>AlertScriptsPath=</code><code>/opt/apps/zabbix/share/zabbix/alertscripts</code>

<code>LogSlowQueries=3000</code>

5:替換zabbix主目錄,用新的zabbix執行bin檔案啟動服務。

<code># mv /opt/apps/zabbix /opt/apps/zabbix.3.0</code>

<code># mv /opt/apps/zabbix.3.2 /opt/apps/zabbix</code>

<code>複制相關的腳本檔案:</code>

<code># cp -rp /opt/apps/zabbix.3.0/share/zabbix/alertscripts/* /opt/apps/zabbix</code>

<code># /etc/init.d/zabbix_server start</code>

   正常情況下,新的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前端頁面。

<code># mv /opt/webapps/zabbix /opt/webapps/zabbix.3.0</code>

<code># cp -rp /opt/src/frontends/php /opt/webapps/zabbix</code>

<code># cp -p /opt/backup/zabbix/zabbix.conf.php.3.0 /opt/webapps/zabbix/conf/zabbix.conf.php</code>

   至此,zabbix更新完畢。

本文轉自 icenycmh 51CTO部落格,原文連結:http://blog.51cto.com/icenycmh/1860947,如需轉載請自行聯系原作者