本帖最后由 monicazhang 于 2017-8-20 10:07 编辑
1. 升级介绍 Zabbix3.0更新了许多新功能、新特性、新界面等等,但是在升级前首先需要了解官方的升级注意事项[1],item changes这部分的更新内容可能会导致你的监控项失效、配置失效、数据异常等情况的发生。
Zabbix的升级分为4部分: Zabbix-server可执行程序升级 数据库升级 前端WEB页面升级 Zabbix-agent可执行程序升级
其中二进制的程序升级包括Server、Agent、Proxy、Sender、Get等通过升级安装包或重新编译新的可执行程序方式实现,升级后可使用新版本的程序特性及功能。
前端WEB页面升级通过升级安装包或整体替换WEB目录
数据库升级是指数据库内的数据结构升级,升级后以适用新的WEB页面和二进制程序连接交互,数据库升级这部分由Zabbix-server程序自动完成,所以在升级之前千万不要忘记做好备份。
通过了解Zabbix整体的升级过程我们不难发现,除数据库内的数据和zabbix程序的配置文件保留不变,其他部分的升级方式是非常灵活、方便的。使用安装包升级的过程本文不再过多介绍,阅读升级说明、提前做好备份。
2. 编译升级安装 本文以Zabbix2.4.X在CentOS6系统中升级至Zabbix3.0.0为例,介绍如何通过编译安装升级Zabbix。
[ /documentation/3.0/manual/installation/upgrade]documenta ... nstallation/upgrade[/url]
# mysqldump -uzabbix -p zabbix |gzip -9 >/tmp/zabbix_db_backup.gz # tar -zcvf /tmp/zabbix_conf_bakcup.tgz \ /etc/zabbix/zabbix_server* \ /etc/zabbix/zabbix_agent*\ /etc/httpd/conf.d/zabbix.conf \ /etc/zabbix/web/*\ /usr/lib/zabbix/alertscripts\ /usr/lib/zabbix/externalscripts \ /usr/share/zabbix
在升级和使用Zabbix3.0之前,需要将PHP版本升至5.4.0以上,PHP5.4在CentOS6版本中可使用(webtatic、remi)等第三方源安装,或编译安装,以5.4.45为例,以下命令仅供参考。
# EXTENTION_DIR=/usr/lib64/php/modules./configure \ --build=x86_64-redhat-linux-gnu--host=x86_64-redhat-linux-gnu \ --target=x86_64-redhat-linux-gnu--program-prefix= --prefix=/usr \ --exec-prefix=/usr --bindir=/usr/bin--sbindir=/usr/sbin \ --sysconfdir=/etc --datadir=/usr/share--includedir=/usr/include\ --libdir=/usr/lib64--libexecdir=/usr/libexec --localstatedir=/var \ --sharedstatedir=/var/lib --mandir=/usr/share/man\ --infodir=/usr/share/info--cache-file=./config.cache \ --with-libdir=lib64--with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d \ --disable-rpath --without-pear \ --with-freetype-dir=/usr --with-png-dir=/usr--with-xpm-dir=/usr \ --enable-gd-native-ttf --with-t1lib=/usr--with-jpeg-dir=/usr \ --with-libxml-dir=/usr--libdir=/usr/lib64/php \ --enable-mbstring=shared --with-gd=shared--enable-bcmath=shared \ --enable-ctype=shared --with-gettext=shared--enable-sockets=shared\ --enable-mysqlnd=shared--with-mysql=shared,mysqlnd \ --with-mysqli=shared,mysqlnd \ --with-mysql-sock=/var/lib/mysql/mysql.sock--enable-xml=shared \ --enable-xmlreader=shared--enable-xmlwriter=shared \ --with-curl=shared,/usr --enable-pdo=shared--with-ldap=shared \ --with-pdo-sqlite=shared,/usr\
# rpm -qa | grep zabbix | xargs rpm -e ※ 卸载之前请确保已妥当做好所有备份工作,前端WEB文件如有定制开发页面请务必备份。
如果系统中没有zabbix用户,请创建 # groupadd zabbix # useradd -g zabbix zabbix 编译过程需要安装以下软件开发包: gcc、mysql-devel、libxml2-devel、net-snmp-devel、libcurl-devel 如果旧版本是通过编译安装的,请保证prefix路径与之前一致,根据监控需要选择编译选项,可通过./configure--help查看选项或参考官方文档,以下命令仅供参考。
# ./configure --prefix=/usr/local --enable-server--enable-agent \ --with-mysql --enable-ipv6 --with-net-snmp \ --with-libcurl --with-libxml2 配置成功后执行make install 安装 # make && make install
编译安装后的目录结构对应RPM的关系如下: 配置目录 /etc/zabbix => /usr/local/etc 执行程序目录 /usr/bin => /usr/local/bin 守护进程目录 /usr/sbin => /usr/local/sbin 脚本目录 /usr/lib/zabbix => /usr/local/share/zabbix
按照以上对应目录还原配置,在还原zabbix_server.conf和zabbix_agent.conf时建议不要直接覆盖,新的配置文件中会有新的配置参数说明。
根据zabbix_server.conf中的配置检查LogFile和PidFile的目录是否存在,是否属于zabbix:zabbix
注意修改zabbix_server.conf和zabbix_agentd.conf中的Include目录
# mkdir /usr/share/zabbix # cp -r zabbix-3.0.0/frontends/php/./usr/share/zabbix/ # chown -R apache:apache /usr/share/zabbix/
还原Apache配置 /etc/httpd/conf.d/zabbix.conf
还原前端PHP配置至后重启服务 /usr/share/zabbix/conf/zabbix.conf.php
3. 升级后验证 启动zabbix-server #/usr/local/sbin/zabbix_server
启动zabbix-agentd # /usr/local/sbin/zabbix_agentd
查看日志
/var/log/zabbix/zabbix_server.log 日志会记录数据库升级过程,数据库升级完成后整个升级过程全部结束。 /var/log/zabbix/zabbix_agentd.log
原创:开源联盟
|