安裝zabbix3.0以及升級到5.0過程


關閉防火牆:

systemctl stop firewalld.service

systemctl disable firewalld.service

需要關閉 selinux,一定要關閉這個,開啟selinux會引起一連串問題,甚至zabbix的discovery功能也不能正常使用

 

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

確認是否修改成功

grep SELINUX /etc/selinux/config

然后重啟系統即可。

reboot

 

 

同步時間:

[root@localhost ~]# crontab -l

0 0 * * * /usr/sbin/ntpdate -u cn.pool.ntp.org

//如果沒有ntpdate記得安裝 yum -y install ntp

 

安裝依賴包:

yum -y install wget net-snmp-devel net-snmp-utils OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel

libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml

php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc net-tools wget vim-enhanced

 

若有一些包本地yum無法安裝,切換yum源再進行安裝:OpenIPMI-devel fping-devel php-bcmath php-mbstring

 

 

在centos7上安裝zabbix server3.0之前,我們首先搭建zabbix所需要的lamp環境。

 

使用最新的yum阿里源,如下:

 

wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo

 

現在開始安裝lamp環境,使用如下命令:

 

yum -y install mariadb mariadb-server php php-mysql httpd

 

通過信息,我們可以很明顯的看出centos7默認安裝的是php5.4、httpd2.4和maradb5.5,這個完全符合zabbix3.0對軟件版本的要求。

lamp安裝完畢后,我們現在來配置mysql數據庫。

 

設置開機自啟動mysql,並啟動mysql,使用如下命令:

systemctl enable mariadb.service

systemctl start mariadb.service

 

初始化mysql數據庫,並配置root用戶密碼

]# mysql_secure_installation

*****新密碼:wen123

注意:在上圖中的Enter current passwdord for root處,我們直接敲回車鍵即可。因為centos7上mysql的默認root用戶密碼為空。

上圖中主要是為root用戶配置密碼,並刷新相關權限。(密碼設為123456,只為實驗用,生產環境自定義)

Remove anonymous users? 刪除匿名用戶?

Disallow root login remotely? 禁止root遠程登陸

Remove test database and access to it? 刪除測試數據庫並且和訪問它

Reload privilege tables now? 重新載入特權表

上圖中主要是配置匿名用戶、test用戶以及root用戶遠程連接等相關配置。

 

mysql初始化完畢后,我們現在來創建zabbix數據庫及其用戶,使用如下命令:

]# mysql -uroot -pwen123

MariaDB [(none)]> create database zabbix default character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

 

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

現在來測試剛剛創建的zabbix用戶,是否可以連接mysql數據庫

]# mysql -uzabbix -pzabbix;

 

啟動apache以及開放80端口

]# systemctl start httpd

]# netstat -anptu |grep 80

tcp        0      0 192.168.111.3:22        192.168.111.254:50480   ESTABLISHED 7301/sshd: root@pts

tcp6       0      0 :::80                   :::*                    LISTEN      19081/httpd

]# netstat -anptu |grep 3306

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      18948/mysqld

 

安裝zabbix server3.0

安裝zabbix3.0所需要EPEL源和zabbix的yum源,如下:(3.2與3.4版本)

rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm                  3.2版本

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm                         3.4版本

 

以上安裝完畢后,我們現在來正式安裝zabbix3.0,使用如下命令:

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get

 

通過信息,我們可以很明顯的看出目前zabbix server是3.2.11版本的。

以上安裝完畢后,我們現在開始進行zabbix的相關配置。

 

導入zabbix數據庫結構,如下:

]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/

]# zcat create.sql.gz |mysql -uroot -pwen123 zabbix

 

數據庫導入完畢后,我們現在來修改zabbix sever的配置文件

]# vim /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

Timeout=4

AlertScriptsPath=/usr/lib/zabbix/alertscripts

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

上述配置文件中,我們只需要關注 DBHost、DBName、DBUser、

DBPassword 幾項即可。這幾項是配置zabbix server連接mysql數據庫的參數。

 

以上修改完畢后,我們再來修改下zabbix.conf文件

]# vim /etc/httpd/conf.d/zabbix.conf

 # php_value date.timezone Europe/Riga   //去掉注釋並改為以下

php_value date.timezone Asia/Shanghai

 

其中php_value date.timezone Asia/Shanghai主要是定義php的時區。

以上修改完畢后,我們把把zabbix-server加入開機啟動,並啟動zabbix-server

systemctl start zabbix-server.service

systemctl enable zabbix-server.service

 

嘗試訪問http://IP地址/zabbix    默認用戶名為Admin  密碼zabbix

 

*********升級zabbix3.2到4.4

備份重要目錄:

cp -a /etc/zabbix /tmp/bakup/

cp -a /etc/httpd/conf.d /tmp/bakup/

cp -a /usr/share/zabbix /tmp/bakup/share/

cp -a /usr/share/doc/zabbix-* /tmp/bakup/share/

備份數據庫

mysqldump -uzabbix -pzabbix --opt --skip-lock-tables --database zabbix > zabbix.sql

mysqldump -uzabbix -pzabbix  --opt --skip-lock-tables --database zabbix | gzip > zabbix_`date +'%Y%m%d%H%M%S'`.sql.gz

安裝升級用的yum源

 

rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

yum clean all

yum list

 

停止舊版本

systemctl stop zabbix-server.service

systemctl stop zabbix-agent.service

systemctl stop httpd

systemctl stop mariadb

 

更新升級

yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

(過程可能較慢,可自行下載到本地進行安裝升級)

啟動新版本zabbix

systemctl start zabbix-server.service

systemctl start zabbix-agent.service

 

查看升級日志

[root@zabbix1 zabbix]# tailf /var/log/zabbix_server.log

 

 

 

升級zabbix4.4到5.0

zabbix5.0要求php版本為7.2以上,先升級php

卸載舊版本,不查看依賴關系

]# rpm -aq |grep php|xargs rpm -e --nodeps

 

更新yum源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

yum clean all

yum list|grep php //查看可用的php包

 

安裝php7.2版本

php-gd php-mysql php-ldap  php-bcmath php-mbstring  php-xml php     //之前php5.4版本所需的依賴

---->yum -y install php72-php-gd php72-php-mysqlnd php72-php-ldap php72-php-bcmath php72-php-mbstring php72-php-xml php72-php php72-php-fpm

 

查看php升級后版本

]# php72 --version

PHP 7.2.33 (cli) (built: Aug  4 2020 10:15:02) ( NTS )

 

升級zabbix4.4到zabbix5.0

systemctl stop httpd mariadb zabbix-server

yum remove zabbix-web-*  httpd -y     

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum clean all

yum update zabbix-server-mysql zabbix-agent -y

yum-config-manager --enable rhel-server-rhscl-7-rpms    //沒有此命令安裝yum-utils包

 

vi /etc/yum.repos.d/zabbix.repo

[zabbix-frontend]

...

enabled=1      //改為1

 

安裝ZABBIX 前端包

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

 

報Error: Package: zabbix-web-deps-scl-5.0.2-1.el7.noarch (zabbix-frontend)

           Requires: rh-php72-php-gd

安裝yum -y install centos-release-scl

 

啟動服務並設置開機自啟

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm mariadb

systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm mariadb

 

查看zabbix版本

]# zabbix_server --version

 

查看日志是否升級成功

~]# tail /var/log/zabbix/zabbix_server.log

 

訪問zabbix首頁。

 

 

[root@localhost ~]# rpm -qa|grep zabbix

zabbix-web-mysql-scl-5.0.2-1.el7.noarch

zabbix-release-5.0-1.el7.noarch

zabbix-web-5.0.2-1.el7.noarch

zabbix-web-deps-scl-5.0.2-1.el7.noarch

zabbix-apache-conf-scl-5.0.2-1.el7.noarch

zabbix-agent-5.0.2-1.el7.x86_64

zabbix-get-3.2.11-1.el7.x86_64               -----------升級后注意各個組件的版本。

zabbix-server-mysql-5.0.2-1.el7.x86_64

 

升級zabbix-get-3.2.11到5.0.2否則無法使用命令zabbix-get獲取到數據

 

在服務端測試通訊
zabbix_get 命令是在 server 端用來檢查 agent 端的一個命令,在添加完主機或者觸發器后,不能正常獲得數據,可以用 zabbix_get 來檢查能否采集到數據,以便判斷問題所在。
zabbix_get 參數說明:
-s --host: 指定客戶端主機名戒者 IP
-p --port:客戶端端口,默認 10050
-I --source-address:指定源 IP,寫上 zabbix server 的 ip 地址即可,一般留空,服務器如果有多ip 的時候,你指定一個。
-k --key:你想獲取的 key

 

注:system.uname這個健值是在監控主機的監控項中查看

]#  zabbix_get -s 192.168.111.3 -p 10050 -k system.uname

Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM