CentOS6下yum升级Zabbix2.2/2.4到Zabbix3.0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS6下yum升级Zabbix2.2/2.4到Zabbix3.0相关的知识,希望对你有一定的参考价值。

    本文适用于在CentOS6下zabbix2.2及以上版本升级到zabbix3.0。

    zabbix3.0的环境要求:

SoftwareVersionComments
mysql5.0.3 or later
Apache1.3.12 or later
php5.4.0 or laterPHP v7 is not supported yet.
libcurl For SMTP authentication, version 7.20.0 or higher is required.

    由于CentOS6默认的php和libcurl版本均不满足要求,所以需要使用第三方yum源升级。

升级前的版本:

  • PHP 5.3.3

  • curl 7.19.7

  • Zabbix server v2.2.10

  • Zabbix Agent (daemon) v2.2.10

升级后的版本:

  • PHP 5.6.18

  • curl 7.47.1

  • zabbix_server (Zabbix) 3.0.0

  • zabbix_agentd (daemon) (Zabbix) 3.0.0

0.升级前的准备

1)安装yum多线程下载插件axelget,提升下载速度

    下载地址:http://down.51cto.com/data/2183091

rpm -ivh http://pkgs.repoforge.org/axel/axel-2.4-1.el6.rf.x86_64.rpm
cp axelget.conf /etc/yum/pluginconf.d/
cp axelget.py /usr/lib/yum-plugins/

    网络带宽对yum的影响较大,如果yum执行过程中网络超时,可以多尝试几次。

2)停止服务

# 停止zabbix server和agent 
service zabbix-server stop
service zabbix-agent stop
# 停止nginx和php-fpm(LNMP)
service nginx stop
service php-fpm stop
# 停止Apache(LAMP)
service httpd stop

3)备份zabbix数据库

# 数据库zabbix,用户名zabbix
mysqldump --opt -R -uzabbix -p zabbix --ignore-table=zabbix.history --ignore-table=zabbix.history_log --ignore-table=zabbix.history_str --ignore-table=zabbix.history_text --ignore-table=zabbix.history_uint --ignore-table=zabbix.trends --ignore-table=zabbix.trends_uint | gzip > zabbix_`date +‘%Y%m%d%H%M%S‘`.sql.gz

    上述备份命令忽略了history相关表和trends相关表,备份文件使用gzip压缩。 

技术分享

1.升级php到5.6

# 安装epel yum源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# 安装php5.6 yum源
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
# 升级php版本到5.6
yum install yum-plugin-replace -y
yum replace php-common --replace-with=php56w-common -y

技术分享

# 验证php版本
php -v
php-fpm -v

技术分享

    zabbix官方文档要求:如果php版本>=5.6.0要设置php.ini里always_populate_raw_post_data = -1

2.升级libcurl到7.47

# 安装新版libcurl的yum源
rpm -ivh http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
# 升级libcurl到7.47
yum upgrade libcurl
# 升级完成后可以卸载此yum源
rpm -e city-fan.org-release

技术分享

# 验证curl版本
curl -V

技术分享

3.升级Zabbix server到3.0

# 升级centos6的zabbix官方yum源(官方yum源没有提供CentOS6版本的zabbix3.0 server)
rpm -Uvh  http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
# 下载itnihao打包好的CentOS6版本的zabbix3.0 rpm包,感谢itnihao奉献
mkdir /data
cd /data
yum install git createrepo -y
git clone https://github.com/zabbixcn/zabbix3.0-rpm.git
# 创建zabbix3.0本地yum源
createrepo /data/zabbix3.0-rpm/RPMS
cat > /etc/yum.repos.d/zabbix3.0.repo << ‘EOF‘
[zabbix3.0]
name=zabbix3.0 itnihao
baseurl=file:///data/zabbix3.0-rpm/RPMS
enabled=0
gpgcheck=0
EOF
# 重建yum缓存
yum cleanall
yum makecache
# yum升级zabbix3.0相关服务(注意:要禁止epel源)
yum --disablerepo=epel --enablerepo=zabbix3.0 upgrade zabbix-server-mysql zabbix-agent zabbix-get zabbix-sender

技术分享

# 升级完成后检查zabbix server和agent版本
zabbix_server_mysql -V
zabbix_agentd -V

技术分享

# 启动zabbix-server和zabbix-agent
service zabbix-server start 
service zabbix-agent start
# 加入开机启动
chkconfig zabbix-server on
chkconfig zabbix-agent on

    zabbix2.2及以上版本升级到zabbix3.0不需要额外执行数据库升级脚本。3.0版zabbix-server启动后会自动升级数据库,到日志里查看升级进度:

# zabbix-server启动后,观察zabbix-server的日志
tailf -100 /var/log/zabbix/zabbix_server.log

4.升级zabbix web

    下面分别讲下nginx和Apache的升级:

1)Nginx

# 下载zabbix 3.0源码包
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.0/zabbix-3.0.0.tar.gz -O zabbix-3.0.0.tar.gz
# 解压后提取php源文件到zabbix web目录/data/www/zabbix3.0
tar xvzf zabbix-3.0.0.tar.gz 
mkdir -p /data/www/zabbix3.0
\cp -r zabbix-3.0.0/frontends/php/* /data/www/zabbix3.0
# 设置web目录的权限(我的nginx的启动用户是nginx)
chown -R nginx. /data/www
chmod 755 /data

    更新Nginx配置文件里的zabbix web根目录:

技术分享

# 启动php-fpm
service php-fpm start
# 启动nginx
nginx -t && service nginx start
# 加入开机启动
chkconfig php-fpm on
chkconfig nginx on

    最后访问zabbix web进行配置即可,配置流程简单就不细说了。 

技术分享

    点击下一步“Next step”没有反应的解决方法如下:

# 如果你的nginx启动用户为nginx,则运行下面的命令修改php session文件目录的权限:
setfacl -R -m u:nginx:rwx /var/lib/php

2)Apache

# yum更新zabbix web(按照下面的命令升级)
yum --disablerepo=epel --enablerepo=zabbix3.0 install httpd php56w zabbix-web-mysql zabbix-web
sed -i "[email protected]# php_value date.timezone Europe/[email protected]_value date.timezone Asia/[email protected]" /etc/httpd/conf.d/zabbix.conf
# 启动Apache
/etc/init.d/httpd restart
# 加入开机启动
chkconfig httpd on

    至此全部升级结束了。


本文出自 “启程的Linux博客” 博客,请务必保留此出处http://qicheng0211.blog.51cto.com/3958621/1744603

以上是关于CentOS6下yum升级Zabbix2.2/2.4到Zabbix3.0的主要内容,如果未能解决你的问题,请参考以下文章

centos6 yum方式升级内核

centos6.5 通过yum和源码两种方法升级安装内核

CentOS6 yum升级高版本gcc

阿里云centos6.6怎么更新yum软件源升级php7

CentOS6下用yum升级系统最新内核版本

CentOS6.5升级内核到3.10.28的记录