重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
本文適用于在CentOS6下zabbix2.2及以上版本升級到zabbix3.0。
創新互聯建站長期為超過千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為祥云企業提供專業的成都網站建設、成都網站制作,祥云網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發。
zabbix3.0的環境要求:
Software | Version | Comments |
MySQL | 5.0.3 or later | |
Apache | 1.3.12 or later | |
PHP | 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
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 clean all 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的web升級:
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 # 修改php-fpm的用戶也是nginx sed -i '/^user =/c\user = nginx' /etc/php-fpm.d/www.conf sed -i '/^group = =/c\group = nginx' /etc/php-fpm.d/www.conf
更新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和php-fpm啟動用戶為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-3.0.0-1.el6.noarch zabbix-web-3.0.0-1.el6.noarch 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
至此全部升級結束了。