zabbix5.0監(jiān)控安裝及配置全過(guò)程
第一部分,安裝
此安裝配置為yum方式安裝zabbix5.0
系統(tǒng)版本:CentOS Linux release 7.5.1804 (Core)
zabbix版本:rpm -qa | grep zabbix
[root@es3 script]# rpm -qa | grep zabbix zabbix-web-5.0.19-1.el7.noarch zabbix-web-deps-scl-5.0.19-1.el7.noarch zabbix-agent-5.0.19-1.el7.x86_64 zabbix-release-5.0-1.el7.noarch zabbix-server-mysql-5.0.19-1.el7.x86_64 zabbix-web-mysql-scl-5.0.19-1.el7.noarch zabbix-apache-conf-scl-5.0.19-1.el7.noarch zabbix-get-5.0.19-1.el7.x86_64
MySQL版本:5.7.32 glibc
以下zabbix 安裝過(guò)程:
一、zabbix服務(wù)端安裝
1、安裝配置zabbix專用yum源
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 makecache fast
2、安裝zabbix服務(wù)端組件
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
# 安裝過(guò)程可能會(huì)報(bào)錯(cuò),zabbix版本沖突,是因?yàn)閑pel源里也有zabbix,我的做法是將epel源先改名。
Transaction check error:
file /usr/bin/zabbix_get conflicts between attempted installs of zabbix-get-5.0.19-1.el7.x86_64 and zabbix40-4.0.36-1.el7.x86_64
file /usr/share/man/man1/zabbix_get.1.gz conflicts between attempted installs of zabbix-get-5.0.19-1.el7.x86_64 and zabbix40-4.0.36-1.el7.x86_64
Error Summary
cd /etc/yum.repos.d/ mv epel.repo epel-bak
然后再安裝
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
3、安裝zabbix前端組件
yum -y install centos-release-scl
編輯配置文件 /etc/yum.repos.d/zabbix.repo,找到下圖所示字段,并設(shè)置為1(1-啟用;0-不啟用)啟
用前端,保存并退出文件
vi /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix Official Repository - $basearch baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-frontend] name=Zabbix Official Repository frontend - $basearch baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-debuginfo] name=Zabbix Official Repository debuginfo - $basearch baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/ enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 gpgcheck=1 [zabbix-non-supported] name=Zabbix Official Repository non-supported - $basearch baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1
4、安裝zabbix前端頁(yè)面、初始數(shù)據(jù)庫(kù)、PHP及httpd組件
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
二、安裝并配置MySQL數(shù)據(jù)庫(kù)
(我用的glibc方式安裝mysql)
1、安裝yum源
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2、安裝MySQL數(shù)據(jù)庫(kù)組件。
yum -y install yum-utils yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community yum install mysql-community-server -y
glibc方式安裝MySQL
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz tar zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /data/server/
cd /data/server/
mv mysql-5.7.32-linux-glibc2.12-x86_64/ mysql-57
cd mysql-57
bin/mysqld --initialize --user=mysql --basedir=/data/server/mysql-57 --datadir=/data/server/mysql-57/data
#這一步需記住打印的臨時(shí)密碼
cp support-files/mysql.server /etc/init.d/mysqld-57 -r
vim /data/server/mysql-57/my.cnf
[mysqld]
datadir=/data/server/mysql-57/data
basedir=/data/server/mysql-57
user=mysql
socket=/data/server/mysql-57/var/mysql.sock
## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
## instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
log-error=/data/server/mysql-57/var/log/mysql/mysql.log
pid-file=/data/server/mysql-57/var/run/mysql/mysql.pid
[client]
port=3306
socket=/data/server/mysql-57/var/mysql.sock
3、啟動(dòng)
/etc/init.d/mysqld-57 restart
4、登錄
根據(jù)提示輸入臨時(shí)密碼,登錄數(shù)據(jù)庫(kù)
5、修改密碼,授權(quán)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; //單引號(hào)內(nèi)為需要設(shè)置的 MySQL超級(jí)管理員root密碼,自行設(shè)置即可 create database zabbix character set utf8 collate utf8_bin; //創(chuàng)建zabbix數(shù)據(jù) 庫(kù) create user zabbix@localhost identified by 'Zabbix'; //創(chuàng)建zabbix數(shù)據(jù)庫(kù)用戶,并設(shè)置密碼(單引號(hào)內(nèi)修改為自己設(shè)置的密碼) grant all privileges on zabbix.* to zabbix@localhost; //設(shè)置zabbix用戶對(duì)zabbix數(shù)據(jù)庫(kù)具有本地管理權(quán)限 quit
6、導(dǎo)入zabbix初始數(shù)據(jù)庫(kù)
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'Zabbix' zabbix
四、zabbix配置初始化
1、配置數(shù)據(jù)庫(kù)連接信息
編輯配置文件 /etc/zabbix/zabbix_server.conf,找到以下字段,去掉前面的#號(hào),填入正確的zabbix數(shù)
據(jù)庫(kù)連接信息,保存并退出文件
LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=Zabbix DBPort=3306 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1
2、配置時(shí)區(qū)信息
ll /usr/share/zoneinfo/Asia/Shanghai
編輯配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,找到php_value[date.timezone] = 字段,去掉前面的分號(hào),并填入對(duì)應(yīng)時(shí)區(qū)。
3、配置字體,避免前臺(tái)監(jiān)控圖形中文亂碼
yum -y install wqy-microhei-fonts mv /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf.bak cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
4、啟動(dòng)zabbix相關(guān)服務(wù)并設(shè)置開機(jī)自啟動(dòng)
systemctl restart zabbix-server httpd rh-php72-php-fpm
systemctl enable zabbix-server httpd rh-php72-php-fpm
5、瀏覽器上訪問(wèn)前端,進(jìn)行初始化安裝
訪問(wèn)http://IP/zabbix,進(jìn)入初始化安裝界面
這一步結(jié)束后,初始化完成,并進(jìn)入登錄界面,默認(rèn)用戶名是Admin,密碼是zabbix,登錄后請(qǐng)及時(shí)修改密碼
四、客戶端安裝及配置
1、安裝
yum install zabbix-agent -y cd /etc/zabbix/
2、配置
vim zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 DenyKey=system.run[*] Server=172.16.5.53 ListenPort=10050 # StartAgents=3 #ServerActive=10.0.0.11 #Hostname=client Include=/etc/zabbix/zabbix_agentd.d/*.conf #UnsafeUserParameters=1 #UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh $1
3、啟動(dòng)
systemctl start zabbix-agent.service
4、進(jìn)一步配置,加載自定義監(jiān)控腳本
[root@es3 script]# cat /etc/zabbix/zabbix_agentd.d/check_jar_status.conf UnsafeUserParameters=1 UserParameter=check_jar_status[*],/etc/zabbix/zabbix_agentd.d/scripts/check_jar_status.sh $1
[root@es3 script]# cat /etc/zabbix/zabbix_agentd.d/scripts/check_jar_status.sh
#/bin/bash #zabbix鍵值傳過(guò)來(lái)的第一個(gè)參數(shù),jar包名 JARNAME=$1 #zhabbix鍵值傳過(guò)來(lái)的第二個(gè)參數(shù),端口號(hào) #PORT=$2 #統(tǒng)計(jì)這個(gè)jar包進(jìn)程的數(shù)量 #JARTSTATUS=`ps -ef |grep -v grep | grep "$JARNAME" | grep java |wc -l` JARTSTATUS=$(ps aux | grep ${JARNAME} | grep -v grep | grep java | grep -v $0 | wc -l) #ps aux | grep ${JARNAME} #echo "==============1=======================" #ps aux | grep ${JARNAME} |grep -v grep | grep java | wc -l #統(tǒng)計(jì)這個(gè)jar包監(jiān)聽端口的數(shù)量 #PORTSTATUS=`netstat -antlp |grep LISTEN | grep -w "$PORT" |grep -v grep |grep dddddd | wc -l` #如果jar包數(shù)量和監(jiān)聽端口數(shù)量都是1,則返回1,不然返回0 #if [[ "$JARTSTATUS" -eq "1" && "$PORTSTATUS" -eq "1" ]]; if [[ "$JARTSTATUS" -eq "1" ]]; then echo "1" else echo "0" fi
至此安裝完成,進(jìn)入配置過(guò)程 。
第二部分 配置
一、從郵箱開始
1、登錄郵箱后臺(tái)找到郵箱的授權(quán)碼,用于配置zabbix報(bào)警郵箱,163郵箱方式是,設(shè)置-POP3/SMTP/IMAP,點(diǎn)進(jìn)去后下邊授權(quán)密碼管理。加一下授權(quán)碼,需復(fù)制下來(lái)保存,只顯示一次。
Zabbix配置郵箱

2、然后到管理-用戶,點(diǎn)Admin用戶

3、配置-動(dòng)作,按優(yōu)先級(jí)選擇

4、操作

custom messege 部分:
{TRIGGER.STATUS}: {TRIGGER.NAME}
故障:{TRIGGER.STATUS},服務(wù)器:{HOSTNAME1}發(fā)生:{TRIGGER.NAME}故障! 告警主機(jī):{HOSTNAME1},IP地址:{HOST.CONN} 告警時(shí)間:{EVENT.DATE}--{EVENT.TIME} 告警等級(jí):{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警項(xiàng)目:{TRIGGER.KEY1} 問(wèn)題詳情:{ITEM.NAME}:{ITEM.VALUE} 當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
如需重復(fù)報(bào)警,上邊的步驟里,把1-1改成1-3,就是同一事件報(bào)警3次,0表示無(wú)數(shù)次。

5、恢復(fù)操作:

{TRIGGER.STATUS}: {TRIGGER.NAME}
恢復(fù):{TRIGGER.STATUS},服務(wù)器:{TRIGGER.NAME} 已經(jīng)恢復(fù)! 告警主機(jī):{HOSTNAME1} ,IP地址:{HOST.CONN} 告警時(shí)間:{EVENT.DATE}---{EVENT.TIME} 恢復(fù)時(shí)間:{EVENT.DATE}---{EVENT.RECOVERY.TIME} 告警等級(jí):{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警項(xiàng)目:{TRIGGER.KEY1} 問(wèn)題詳情:{ITEM.NAME}:{ITEM.VALUE} 當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
二、自定義監(jiān)控項(xiàng),腳本監(jiān)控。用到上邊配置客戶端時(shí)的配置文件。
1、建模板

2、創(chuàng)建監(jiān)控項(xiàng)

3、建觸發(fā)器

可以通過(guò)上邊的選擇那里創(chuàng)建出來(lái)表達(dá)式
{java service active newpay-hktest:check_jar_status[1-java].last()}=0
4、最后將要建的模板加入相應(yīng)的主機(jī)。
方法:

加入后:

三、web監(jiān)控
1、進(jìn)入配置
點(diǎn)配置-主機(jī),之后點(diǎn)想要建web頁(yè)面監(jiān)控的主機(jī)

2、然后同一頁(yè)面,點(diǎn)步驟

我的是http:172.16.5.53:90
3、下一步創(chuàng)建模板,用于報(bào)警

4、 觸發(fā)器

這里邊選擇完主機(jī)會(huì)出現(xiàn)剛才的web場(chǎng)景的選項(xiàng)

5、然后把模板應(yīng)用于主機(jī)

至此完成web頁(yè)面狀態(tài)碼監(jiān)控,注意這里只能監(jiān)測(cè)到返回200以外的錯(cuò)誤,像網(wǎng)頁(yè)文件打不開這種404等之類的,而nginx掛了的超時(shí)并不會(huì)報(bào)錯(cuò)。可以用前邊的進(jìn)程監(jiān)控,也可以利用nginx狀態(tài)模塊監(jiān)控,也可以用下邊的端口監(jiān)控,當(dāng)然nginx只監(jiān)聽一個(gè)端口時(shí)可以,多個(gè)端口建議用進(jìn)程或狀態(tài)模塊。
四、端口監(jiān)控
1、配置開始
點(diǎn)配置-主機(jī)-相應(yīng)的主機(jī)-選中之前web監(jiān)控建的模板。因?yàn)槲疫@里是一個(gè)應(yīng)用,所以用相同的模板,可以單獨(dú)建立一個(gè)。

2、創(chuàng)建監(jiān)控項(xiàng)
點(diǎn)進(jìn)相應(yīng)的主機(jī)后,創(chuàng)建監(jiān)控項(xiàng)

我這里是172.16.5.53:90

3、創(chuàng)建觸發(fā)器
接著點(diǎn),觸發(fā)器,創(chuàng)建觸發(fā)器。

至此完成。

浙公網(wǎng)安備 33010602011771號(hào)