為了在更新過程中将停機時間和資料丢失降低到最小,建議先停機更新Zabbix server,然後再逐個停機更新和啟動Zabbix proxy。當所有的Proxy更新完畢後,再啟動Zabbix Server。在Zabbix server的停機期間,運作狀态的Proxy将會持續收集和存儲資料,并在Zabbix server啟動運作時,将這些資料發送給Zabbix server。在Zabbix server停機期間的任何問題(problems)的通知(notifications),隻會在更新完後的server啟動後再生成。
1、首先備份yum源,備份zabbix server的配置檔案,備份zabbix,更新zabbix yum源
<code>cp</code> <code>/etc/yum</code><code>.repos.d</code><code>/zabbix</code><code>.repo </code><code>/etc/yum</code><code>.repos.d</code><code>/zabbix</code><code>.repo.bak </code><code>#備份yum源</code>
<code>cp</code> <code>/etc/zabbix/zabbix_server</code><code>.conf ~</code><code>/zabbixbak/</code> <code>#備份zabbix配置</code>
<code>cp</code> <code>/etc/httpd/conf</code><code>.d</code><code>/zabbix</code><code>.conf ~</code><code>/zabbixbak/</code> <code>#備份apache中zabbix配置</code>
<code>mysqldump -uroot --single-transaction --default-character-</code><code>set</code><code>=utf8 -ppassword zabbix > zabbixbak2017.sql </code><code>#備份zabbix庫</code>
<code>[root@zabbix bin]</code><code># rpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm #更新zabbix的yum 源</code>
<code>Preparing... </code><code>################################# [100%]</code>
<code>Updating / installing...</code>
<code> </code><code>1:zabbix-release-3.4-2.el7 </code><code>################################# [100%]</code>
<code>[root@zabbix bin]</code><code># yum makecache fast</code>
2、停掉zabbix server,如果更新zabbix proxy,也需要停掉zabbix proxy
<code># systemctl stop zabbix-server</code>
<code># systemctl stop zabbix-proxy</code>
3、備份zabbix web資料夾
<code>cp</code> <code>-R </code><code>/data/www/zabbix</code> <code>~</code><code>/zabbixbak/</code> <code>#備份zabbix web配置</code>
4、更新zabbix
首先查詢安裝了哪些zabbix應用
<code>[root@zabbix ~]</code><code># rpm -qa | grep zabbix</code>
<code>zabbix-proxy-mysql-3.2.6-1.el7.x86_64</code>
<code>zabbix-sender-3.2.6-1.el7.x86_64</code>
<code>zabbix-web-mysql-3.2.6-1.el7.noarch</code>
<code>zabbix-web-3.2.6-1.el7.noarch</code>
<code>zabbix-get-3.2.6-1.el7.x86_64</code>
<code>zabbix-server-mysql-3.2.6-1.el7.x86_64</code>
<code>zabbix-release-3.4-2.el7.noarch</code>
<code>zabbix-agent-3.2.6-1.el7.x86_64</code>
<code>zabbix-java-gateway-3.2.6-1.el7.x86_64</code>
5、根據需要,我們更新主要的服務:
<code>yum upgrade zabbix-proxy-mysql zabbix-web-mysql zabbix-server-mysql zabbix-web zabbix-agent</code>
6、等待更新完成
7、拷貝zabbix web 3.44到web目錄,修改zabbix web的目錄屬組
<code>cp</code> <code>-R </code><code>/usr/share/zabbix</code> <code>/data/www/</code>
<code>chown</code> <code>-R apache:apache </code><code>/data/www/zabbix</code>
修複趨勢圖中文字型,我之前使用的微軟雅黑,是以直接copy備份中的字型,如果沒有請copy上傳windows系統中的中文字型
<code># cp /data/www/zabbixbak/fonts/msy* /data/www/zabbix/fonts/</code>
修改php字型的配置
<code># sed -i 's/graphfont/msyh/g' /data/www/zabbix/include/defines.inc.php | grep msyh</code>
<code>define(</code><code>'ZBX_GRAPH_FONT_NAME'</code><code>, </code><code>'msyh'</code><code>); </code><code>//</code> <code>font </code><code>file</code> <code>name</code>
<code>define(</code><code>'ZBX_FONT_NAME'</code><code>, </code><code>'msyh'</code><code>);</code>
8、重新開機zabbix
<code># systemctl start zabbix-server</code>
<code># systemctl start zabbix-proxy</code>
<code># systemctl start zabbix-agent</code>
可以通過setup檢測和重新配置,檢測重新配置後建議移除setup.php
如果提示database問題,請檢視日志
<code># tail -n 100 /var/log/zabbix/zabbix_server.log</code>
<code>48397:20171215:233509.873 enabling SNMP agent checks on host </code><code>"10.1.254.19"</code><code>: host became available</code>
<code> </code><code>48342:20171215:234424.931 Got signal [signal:15(SIGTERM),sender_pid:58214,sender_uid:0,reason:0]. Exiting ...</code>
<code> </code><code>48342:20171215:234426.933 syncing </code><code>history</code> <code>data...</code>
<code> </code><code>48342:20171215:234426.934 syncing </code><code>history</code> <code>data </code><code>done</code>
<code> </code><code>48342:20171215:234426.934 syncing trend data...</code>
<code> </code><code>48342:20171215:234431.010 syncing trend data </code><code>done</code>
<code> </code><code>48342:20171215:234431.010 Zabbix Server stopped. Zabbix 3.4.4 (revision 74338).</code>
<code> </code><code>58349:20171215:234703.850 Starting Zabbix Server. Zabbix 3.4.4 (revision 74338).</code>
<code> </code><code>58349:20171215:234703.850 ****** Enabled features ******</code>
<code> </code><code>58349:20171215:234703.850 SNMP monitoring: YES</code>
<code> </code><code>58349:20171215:234703.850 IPMI monitoring: YES</code>
<code> </code><code>58349:20171215:234703.850 Web monitoring: YES</code>
<code> </code><code>58349:20171215:234703.850 VMware monitoring: YES</code>
<code> </code><code>58349:20171215:234703.850 SMTP authentication: YES</code>
<code> </code><code>58349:20171215:234703.850 Jabber notifications: YES</code>
<code> </code><code>58349:20171215:234703.850 Ez Texting notifications: YES</code>
<code> </code><code>58349:20171215:234703.850 ODBC: YES</code>
<code> </code><code>58349:20171215:234703.851 SSH2 support: YES</code>
<code> </code><code>58349:20171215:234703.851 IPv6 support: YES</code>
<code> </code><code>58349:20171215:234703.851 TLS support: YES</code>
<code> </code><code>58349:20171215:234703.851 ******************************</code>
<code> </code><code>58349:20171215:234703.851 using configuration </code><code>file</code><code>: </code><code>/etc/zabbix/zabbix_server</code><code>.conf</code>
<code> </code><code>58349:20171215:234703.857 current database version (mandatory</code><code>/optional</code><code>): 03020000</code><code>/03040005</code>
<code> </code><code>58349:20171215:234703.857 required mandatory version: 03040000</code>
<code> </code><code>58349:20171215:234704.240 server </code><code>#0 started [main process]</code>
zabbix官網更新說明:
Zabbix server将會自動更新資料庫。開始後,Zabbix server報告目前(強制和非強制的)和需要的資料庫版本。如果目前強制版本低于需要的版本,Zabbix server自動執行所需要的資料庫更新檔。資料庫更新的開始和進度資訊(百分比)将會寫入Zabbix server的日志檔案中。當更新完成後,将會在日志檔案中寫入一條“database upgrade fully completed”的資訊。如果任何更新更新檔失敗,Zabbix server将不會啟動,即使資料庫目前強制版本比所需版本高,Zabbix server也不會啟動。隻有當資料庫目前的強制版本與需要的強制版本相符時,Zabbix server才會啟動。
修改資料庫中的配置
<code>[root@zabbix ~]</code><code># mysql -uroot -pmysqlpass </code>
<code>Welcome to the MariaDB monitor. Commands end with ; or \g.</code>
<code>Your MariaDB connection </code><code>id</code> <code>is 59371</code>
<code>Server version: 10.1.24-MariaDB MariaDB Server</code>
<code>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.</code>
<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>
<code>MariaDB [(none)]> use zabbix;</code>
<code>Reading table information </code><code>for</code> <code>completion of table and column names</code>
<code>You can turn off this feature to get a quicker startup with -A</code>
<code>MariaDB [zabbix]> update dbversion </code><code>set</code> <code>mandatory=03040000;</code>
<code>Query OK, 1 row affected (0.00 sec)</code>
<code>Rows matched: 1 Changed: 1 Warnings: 0</code>
可以檢視系統要求的參數,如果不符合根據提示修改
按照提示完成配置即可
本文轉自 喵來個魚 51CTO部落格,原文連結:http://blog.51cto.com/m51cto/2051888,如需轉載請自行聯系原作者