为了在升级过程中将停机时间和数据丢失降低到最小,建议先停机升级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源
1
2
3
4
5
6
7
8
9
10
11
12
|
cp
/etc/yum
.repos.d
/zabbix
.repo
/etc/yum
.repos.d
/zabbix
.repo.bak
#备份yum源
cp
/etc/zabbix/zabbix_server
.conf ~
/zabbixbak/
#备份zabbix配置
cp
/etc/httpd/conf
.d
/zabbix
.conf ~
/zabbixbak/
#备份apache中zabbix配置
mysqldump -uroot --single-transaction --default-character-
set
=utf8 -ppassword zabbix > zabbixbak2017.sql
#备份zabbix库
[root@zabbix bin]
# rpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm #升级zabbix的yum 源
Preparing...
################################# [100%]
Updating / installing...
1:zabbix-release-3.4-2.el7
################################# [100%]
[root@zabbix bin]
# yum makecache fast
|
2、停掉zabbix server,如果升级zabbix proxy,也需要停掉zabbix proxy
1
2
|
# systemctl stop zabbix-server
# systemctl stop zabbix-proxy
|
3、备份zabbix web资料夹
1
|
cp
-R
/data/www/zabbix
~
/zabbixbak/
#备份zabbix web配置
|
4、升级zabbix
首先查询安装了哪些zabbix应用
1
2
3
4
5
6
7
8
9
10
|
[root@zabbix ~]
# rpm -qa | grep zabbix
zabbix-proxy-mysql-3.2.6-1.el7.x86_64
zabbix-sender-3.2.6-1.el7.x86_64
zabbix-web-mysql-3.2.6-1.el7.noarch
zabbix-web-3.2.6-1.el7.noarch
zabbix-get-3.2.6-1.el7.x86_64
zabbix-server-mysql-3.2.6-1.el7.x86_64
zabbix-release-3.4-2.el7.noarch
zabbix-agent-3.2.6-1.el7.x86_64
zabbix-java-gateway-3.2.6-1.el7.x86_64
|
5、根据需要,我们升级主要的服务:
1
|
yum upgrade zabbix-proxy-mysql zabbix-web-mysql zabbix-server-mysql zabbix-web zabbix-agent
|
6、等待升级完成
7、拷贝zabbix web 3.44到web目录,修改zabbix web的目录属组
1
2
|
cp
-R
/usr/share/zabbix
/data/www/
chown
-R apache:apache
/data/www/zabbix
|
修复趋势图中文字体,我之前使用的微软雅黑,所以直接copy备份中的字体,如果没有请copy上传windows系统中的中文字体
1
|
# cp /data/www/zabbixbak/fonts/msy* /data/www/zabbix/fonts/
|
修改php字体的配置
1
|
# sed -i 's/graphfont/msyh/g' /data/www/zabbix/include/defines.inc.php | grep msyh
|
1
2
|
define(
'ZBX_GRAPH_FONT_NAME'
,
'msyh'
);
//
font
file
name
define(
'ZBX_FONT_NAME'
,
'msyh'
);
|
8、重启zabbix
1
2
3
|
# systemctl start zabbix-server
# systemctl start zabbix-proxy
# systemctl start zabbix-agent
|
9、打开zabbix web网址 http://<ip>/zabbix/setup.php
可以通过setup检测和重新配置,检测重新配置后建议移除setup.php
如果提示database问题,请查看日志
1
|
# tail -n 100 /var/log/zabbix/zabbix_server.log
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
48397:20171215:233509.873 enabling SNMP agent checks on host
"10.1.254.19"
: host became available
48342:20171215:234424.931 Got signal [signal:15(SIGTERM),sender_pid:58214,sender_uid:0,reason:0]. Exiting ...
48342:20171215:234426.933 syncing
history
data...
48342:20171215:234426.934 syncing
history
data
done
48342:20171215:234426.934 syncing trend data...
48342:20171215:234431.010 syncing trend data
done
48342:20171215:234431.010 Zabbix Server stopped. Zabbix 3.4.4 (revision 74338).
58349:20171215:234703.850 Starting Zabbix Server. Zabbix 3.4.4 (revision 74338).
58349:20171215:234703.850 ****** Enabled features ******
58349:20171215:234703.850 SNMP monitoring: YES
58349:20171215:234703.850 IPMI monitoring: YES
58349:20171215:234703.850 Web monitoring: YES
58349:20171215:234703.850 VMware monitoring: YES
58349:20171215:234703.850 SMTP authentication: YES
58349:20171215:234703.850 Jabber notifications: YES
58349:20171215:234703.850 Ez Texting notifications: YES
58349:20171215:234703.850 ODBC: YES
58349:20171215:234703.851 SSH2 support: YES
58349:20171215:234703.851 IPv6 support: YES
58349:20171215:234703.851 TLS support: YES
58349:20171215:234703.851 ******************************
58349:20171215:234703.851 using configuration
file
:
/etc/zabbix/zabbix_server
.conf
58349:20171215:234703.857 current database version (mandatory
/optional
): 03020000
/03040005
58349:20171215:234703.857 required mandatory version: 03040000
58349:20171215:234704.240 server
#0 started [main process]
|
zabbix官网升级说明:
Zabbix server将会自动升级数据库。开始后,Zabbix server报告当前(强制和非强制的)和需要的数据库版本。如果当前强制版本低于需要的版本,Zabbix server自动执行所需要的数据库补丁。数据库升级的开始和进度信息(百分比)将会写入Zabbix server的日志文件中。当升级完成后,将会在日志文件中写入一条“database upgrade fully completed”的信息。如果任何升级补丁失败,Zabbix server将不会启动,即使数据库当前强制版本比所需版本高,Zabbix server也不会启动。只有当数据库当前的强制版本与需要的强制版本相符时,Zabbix server才会启动。
8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000 8673:20161117:104750.259 required mandatory version: 03040000
修改数据库中的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@zabbix ~]
# mysql -uroot -pmysqlpass
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection
id
is 59371
Server version: 10.1.24-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
MariaDB [(none)]> use zabbix;
Reading table information
for
completion of table and column names
You can turn off this feature to get a quicker startup with -A
MariaDB [zabbix]> update dbversion
set
mandatory=03040000;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
|
可以查看系统要求的参数,如果不符合根据提示修改
按照提示完成配置即可
本文转自 喵来个鱼 51CTO博客,原文链接:http://blog.51cto.com/m51cto/2051888,如需转载请自行联系原作者