天天看点

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,如需转载请自行联系原作者