zabbix 3.2.1 升级3.4.1

偶然看到zabbix有新版本,决定升级下,升级前也犹豫了很久,毕竟现在的版本用着好好的,新的功能对我似乎没有应用到;

但忍不住折腾,折腾完之后还是有亮点的,之前写的编译脚本,按自己的需求改吧。

 

需要注意的点

1、系统 CentOS 6.8 x64;

2、安装目录 /usr/local/zabbix; 

3、升级前备份下现在运行的版本,防止需要回滚;

4、升级过程其实就是重新编译过程,第一次启动serverd端会更改数据库的一些字段和类型等等,以平滑匹配新版本;这个动作不用干预,程序自己运行就好;

5、升级过程中agent数据会丢失,所以速度快点吧。

 1 #!/bin/bash
 2 #================================================================
 3 # Filename: install_zabbix.sh
 4 # Author: chenc
 5 # Create: 2018-07-18 14:19:35
 6 # Description: ---
 7 # Last Modified: 2018-07-18 14:29:43
 8 #================================================================
 9  
10 BASEDIR=$(dirname $(readlink -f $0))
11 log=/root/update_zbx.log
12  
13 [ -e $log ] || >$log
14 ls -l $BASEDIR |egrep "^d" |xargs rm -rf
15  
16 [ -z "$(cat /etc/group |grep zabbix)" ] || groupadd zabbix
17 [ -z "$(cat /etc/passwd |grep zabbix)" ] || useradd -g zabbix -s /sbin/nologin -M zabbix
18  
19 tools=(net-snmp-devel)
20 for i in ${tools[*]};do
21     rpm -qa |grep ^$i > /dev/null 2>&1
22     if [ $? != 0 ];then
23         yum install -y $i
24         if [ $? == 0 ];then
25             echo "install ok - $i" |tee -a $log
26         else
27             echo "install error - $i" |tee -a $log
28         fi
29     else
30         echo "installed - $i" |tee -a $log
31     fi
32 done
33  
34 tar -xf zabbix-3.4.1.tar.gz && cd zabbix-3.4.1
35 ./configure \
36     --prefix=/usr/local/zabbix \
37     --enable-server \
38     --with-mysql \
39     --with-net-snmp \
40     --with-libcurl \
41     --with-libxml2 \
42     --with-unixodbc \
43     --enable-java
44     if [ $? == 0 ];then
45         make
46         if [ $? = 0 ];then
47             make install
48             if [ $? = 0 ];then
49                 # 配置系统服务
50                 \cp ${BASEDIR}/zabbix-3.4.1/misc/init.d/fedora/core/zabbix_server /etc/init.d/
51                 \cp ${BASEDIR}/zabbix-3.4.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
52                 chkconfig --add zabbix_server
53                 chkconfig zabbix_server on
54  
55                 # 配置静态页面目录
56                 [ -e "/var/www" ] || mkdir -p /var/www
57                 cp -r ${BASEDIR}/zabbix-3.4.1/frontends/php /var/www/zabbix
58                 chmod 777 /var/www/zabbix/conf
59             else
60                 echo "make install error !!" |tee -a $log
61                 break
62             fi
63         else
64             echo "make error !!" |tee -a $log
65             break
66         fi
67     else
68         echo "configure error !!" |tee -a $log
69         break
70     fi

 

踩坑:

1、新版本会有sock文件产生,有关进程的pid和sock文件默认是放在/tmp下;

  这两个文件优先由zabbix_server.conf定义,虽然/etc/init.d/zabbix_server中也可编辑;

2、pid、scok、log文件录权限要求是zabbix运行的账户权限目录,本例的账户是zabbix;

3、本然在zabbix_agentd.conf中配置了Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 

  

  导致启动agent时报错:

Shutting down zabbix_agentd:                               [FAILED]
Starting zabbix_agentd:  zabbix_agentd [11192]: unknown parameter "pid" in config file "/usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_base.sh", line 3
                                                           [FAILED]

 

 原因是启动时会将这个目录下的文件当成配置文件来读,并且匹配为内置启动参数,但这里是我自定的mysql的pid,和zabbix_agentd的进程PID不是一回事,程序就会报错了;注释掉这一样就好,或者自定义脚本不要放在这个目录。 

升级过程很快,10分钟就编译完了,并且现在的体验也很不错,页面有些细节的修改,看起来比以前要舒服点:

 

转载于:https://www.cnblogs.com/unchch/p/7495256.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值