CentOS6下yum升級Zabbix2.2到Zabbix3.0

jopen 8年前發布 | 23K 次閱讀 yum ZABBIX CentOS

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

    zabbix3.0的環境要求:

Software Version Comments
MySQL 5.0.3 or later
Apache 1.3.12 or later
5.4.0 or later PHP 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</pre>

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壓縮。 

CentOS6下yum升級Zabbix2.2到Zabbix3.0

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</pre>

CentOS6下yum升級Zabbix2.2到Zabbix3.0

# 驗證php版本
php -v
php-fpm -v

CentOS6下yum升級Zabbix2.2到Zabbix3.0

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</pre>

CentOS6下yum升級Zabbix2.2到Zabbix3.0

# 驗證curl版本
curl -V

CentOS6下yum升級Zabbix2.2到Zabbix3.0

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</pre>

CentOS6下yum升級Zabbix2.2到Zabbix3.0

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

CentOS6下yum升級Zabbix2.2到Zabbix3.0

# 啟動zabbix-server和zabbix-agent
service zabbix-server start 
service zabbix-agent start

加入開機啟動

chkconfig zabbix-server on chkconfig zabbix-agent on</pre>

    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</pre>

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

CentOS6下yum升級Zabbix2.2到Zabbix3.0

# 啟動php-fpm
service php-fpm start

啟動nginx

nginx -t && service nginx start

加入開機啟動

chkconfig php-fpm on chkconfig nginx on</pre>

最后訪問zabbix web進行配置即可,配置流程簡單就不細說了。 

CentOS6下yum升級Zabbix2.2到Zabbix3.0

點擊下一步“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 "s@# php_value date.timezone Europe/Riga@php_value date.timezone Asia/Shanghai@g" /etc/httpd/conf.d/zabbix.conf

啟動Apache

/etc/init.d/httpd restart

加入開機啟動

chkconfig httpd on</pre>

至此全部升級結束了。

</div>

來自: http://qicheng0211.blog.51cto.com/3958621/1744603

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!