您好,登錄后才能下訂單哦!
通過(guò)部署Zabbix監(jiān)控可以簡(jiǎn)單的部署zabbix server端,這篇博文主要介紹如何部署zabbix agent端。前提是必須基于上述博文zabbix server的環(huán)境。
博文大綱:
一、部署zabbix agent端
二、配置zabbix server的web頁(yè)面可以監(jiān)控到客戶端主機(jī)
三、客戶端部署Mysql服務(wù)
四、配置zabbix server可以監(jiān)控mysql
五、配置郵件報(bào)警
六、配置企業(yè)微信報(bào)警
下載zabbix軟件
[root@agent ~]# tar zxf zabbix-3.2.1.tar.gz && cd zabbix-3.2.1/
[root@agent zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install
// --enable-agent :開(kāi)啟zabbix agent模式
[root@agent ~]# useradd zabbix
[root@agent ~]# cp /root/zabbix-3.2.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
//將zabbix agent腳本文件復(fù)制到/etc/init.d/目錄下
[root@agent ~]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_agentd
//編譯啟動(dòng)腳本中指定zabbix的安裝路徑
[root@agent ~]# chmod +x /etc/init.d/zabbix_agentd
[root@agent ~]# cd /usr/local/zabbix/etc/
[root@agent etc]# sed -i '/PidFile=/s/^#//' zabbix_agentd.conf
[root@agent etc]# sed -i 's/Server=127.0.0.1/Server=192.168.1.10/g' zabbix_agentd.conf
[root@agent etc]# sed -i '/ListenPort=/s/^#//' zabbix_agentd.conf
[root@agent etc]# sed -i 's/ServerActive=127.0.0.1/ServerActive=192.168.1.10/g' zabbix_agentd.conf
[root@agent etc]# sed -i 's/Hostname=Zabbix server/Hostname=192.168.1.8/g' zabbix_agentd.conf
[root@agent etc]# echo -e "Timeout=15" >> zabbix_agentd.conf
[root@agent etc]# echo -e "Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/" >> zabbix_agentd.conf
[root@agent etc]# egrep -v '^$|^#' zabbix_agentd.conf
//確保配置文件沒(méi)有錯(cuò)誤
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Server=192.168.1.10 //指定zabbix server的IP地址(被動(dòng)模式下)
ListenPort=10050 //指定監(jiān)聽(tīng)的端口
ServerActive=192.168.1.10 //指定zabbix server的IP地址(主動(dòng)模式下)
Hostname=192.168.1.8 //指定的名字必須和web頁(yè)面的host的名字一樣
Timeout=15 //超時(shí)時(shí)間
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@agent ~]# /etc/init.d/zabbix_agentd start //啟動(dòng)zabbix服務(wù)
Reloading systemd: [ 確定 ]
Starting zabbix_agentd (via systemctl): [ 確定 ]
[root@agent ~]# netstat -anpt | grep zabbix //確認(rèn)其監(jiān)聽(tīng)端口
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9587/zabbix_agentd
如圖:
至此在zabbix server提供的web頁(yè)面中,已經(jīng)可以監(jiān)控到zabbix agent端的信息!
zabbix agent端可以使用yum的方式部署mysql服務(wù),但是建議使用源碼編譯的方式,但是考慮到源碼編譯安裝時(shí)間太長(zhǎng),所以提供一鍵式腳本安裝mysql,與源碼編譯安裝一致!對(duì)源碼編譯安裝感興趣的可以參考編譯安裝mysql
以下操作需在zabbix agent端進(jìn)行配置!
[root@agent ~]# ls | grep mysql
mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mysql.sh
[root@agent ~]# sh mysql.sh
Starting MySQL. SUCCESS!
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@agent ~]# cd /root/zabbix-3.2.1/conf/zabbix_agentd/
[root@agent zabbix_agentd]# cp userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
//復(fù)制zabbix源碼包自帶的mysql模板文件
[root@agent zabbix_agentd]# cd /usr/local/zabbix/etc/
[root@agent etc]# echo -e "[client]\nhost=192.168.1.8\nuser=test\npassword=123.com\nsocket=/usr/local/mysql/mysql.sock" > .my.cnf
[root@agent etc]# cat .my.cnf
[client]
host=192.168.1.8 //指定mysql數(shù)據(jù)庫(kù)IP地址
user=test //指定用于測(cè)試的用戶
password=123.com //用戶對(duì)應(yīng)的密碼
socket=/usr/local/mysql/mysql.sock //指定mysql.sock文件所在的路徑(rpm安裝的可以不用寫(xiě))
[root@agent etc]# mysql -u root -p123 //腳本提供的mysql數(shù)據(jù)庫(kù)root用戶密碼默認(rèn)是123
mysql> grant all on *.* to test@'192.168.1.%' identified by '123.com'; //創(chuàng)建授權(quán)規(guī)則
[root@agent etc]# cd zabbix_agentd.conf.d/
[root@agent zabbix_agentd.conf.d]# sed -i 's#HOME=/var/lib/zabbix mysql#HOME=/usr/local/zabbix/etc/ /usr/local/mysql/bin/mysql#g' userparameter_mysql.conf
//更改文件中zabbix的安裝位置及mysql命令所在位置
[root@agent zabbix_agentd.conf.d]# /etc/init.d/zabbix_agentd restart
//重新加載配置文件
zabbix提供的模板文件修改后的內(nèi)容,如圖:
由于其復(fù)雜性,關(guān)于其內(nèi)容先不做任何解釋了!
zabbix server使用以下命令進(jìn)行驗(yàn)證:
[root@zabbix ~]# zabbix_get -s 192.168.1.8 -p 10050 -k "mysql.status[Uptime]"
1662
//zabbix_get:獲取數(shù)據(jù)
//-s:指定客戶端的IP地址或域名
//-p:指定客戶端的端口(默認(rèn)情況下是10050)
//-k:指定需要獲取的值
//有消息返回就表示正常
如圖:
出現(xiàn)上述情況則表示mysql監(jiān)控成功!
zabbix可以通過(guò)多種方式把告警信息發(fā)送到指定人,常用的有郵件、短信、微信等方式,本次博文主要介紹郵件、微信報(bào)警的實(shí)現(xiàn)方式。
以上操作需在zabbix server端進(jìn)行配置!
[root@zabbix ~]# tar zxf sendEmail-v1.56.tar.gz
[root@zabbix ~]# cp sendEmail-v1.56/sendEmail /usr/local/bin/
[root@zabbix ~]# chown zabbix:zabbix /usr/local/bin/sendEmail
在接下來(lái)的操作中,需要有自己郵箱的授權(quán)碼,這里以QQ郵箱為例(163或新浪郵箱都是可以的),操作如如圖:
配置完成后,使用以下命令并編寫(xiě)腳本進(jìn)行測(cè)試:
[root@zabbix ~]# /usr/local/bin/sendEmail -o tls=no -f 1454295320@qq.com -t 1454295320@qq.com -s smtp.qq.com -u lzj -o message-content-type=html -o message-charset=utf8 -xu 1454295320@qq.com -xp mdwvlrlmeaxofidj -m hello world
Jan 09 15:43:26 zabbix sendEmail[2300]: Email was sent successfully!
//測(cè)試訪問(wèn)沒(méi)有問(wèn)題
收到的郵件如圖:
[root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
//必須在這個(gè)目錄下,否則zabbix識(shí)別不到腳本
[root@zabbix alertscripts]# vim mail.sh
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -o tls=no -f 1454295320@qq.com -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu 1454295320@qq.com -xp mdwvlrlmeaxofidj -m "$body"
[root@zabbix alertscripts]# chmod +x mail.sh
[root@zabbix alertscripts]# sh mail.sh 1454295320@qq.com test 123456
腳本中各項(xiàng)解釋如下:
/usr/local/bin/sendEmail:命令主程序;
-f from@126.com :發(fā)件人郵箱
-t to@126.com :收件人郵箱
-s smtp.126.com :發(fā)件人郵箱的 smtp 服務(wù)器
-u "我是郵件主題" :郵件的標(biāo)題
-o message-content-type=html:郵件內(nèi)容的格式,html 表示它是 html 格式
-o message-charset=utf8:郵件內(nèi)容編碼
-xu from@126.com:發(fā)件人郵箱的用戶名
-xp WEE78@12l$ #發(fā)件人郵箱授權(quán)碼(就是我剛剛生成的那個(gè)授權(quán)碼)
-m "我是郵件內(nèi)容" :郵件的具體內(nèi)容
測(cè)試是否可以成功發(fā)送郵件
收到的郵件如下:
接下來(lái)回到zabbix server提供的web頁(yè)面!
如圖:
如圖:
如圖:
將agent端服務(wù)器的zabbix_agent進(jìn)程關(guān)閉,郵箱可以收到郵件則表示配置正確。
[root@agent ~]# /etc/init.d/zabbix_agentd stop
//關(guān)閉zabbix agent進(jìn)程
收到郵件如圖:
[root@agent ~]# /etc/init.d/zabbix_agentd start
//關(guān)閉zabbix agent進(jìn)程
收到的郵件如下:
要想實(shí)現(xiàn)企業(yè)微信報(bào)警,需自己注冊(cè)一個(gè)企業(yè)微信,由于其過(guò)程過(guò)于簡(jiǎn)單,這里就略過(guò)了,有企業(yè)微信的用戶直接進(jìn)行以下操作:
如圖:
也可點(diǎn)擊用戶查看用戶的詳細(xì)信息:
如圖:
創(chuàng)建成功,如圖:
如圖:
[root@zabbix alertscripts]# pwd
/usr/local/zabbix/share/zabbix/alertscripts
[root@zabbix alertscripts]# ls weixin.sh
weixin.sh
//腳本在博文開(kāi)頭的zabbix軟件包中存在
//自行修改腳本中的內(nèi)容,根據(jù)提示即可,腳本中帶”#“號(hào)的注釋需修改
[root@zabbix alertscripts]# chmod o+x weixin.sh
[root@zabbix alertscripts]# sh weixin.sh 1 1 test
//測(cè)試腳本,第一、二個(gè)位置變量沒(méi)有任何意義,第三個(gè)位置變量才是發(fā)送的實(shí)際內(nèi)容
執(zhí)行完成上述命令,沒(méi)有錯(cuò)誤的情況下,企業(yè)微信會(huì)收到以下信息,如圖:
登錄到web頁(yè)面:
如圖:
上面的收件人設(shè)置,這個(gè)收件人就是在微信企業(yè)號(hào)后臺(tái)中,通訊錄下面的成員詳情看到的賬號(hào),一定不要寫(xiě)錯(cuò)了。
填寫(xiě)的內(nèi)容,可從下面復(fù)制:
服務(wù)器:{HOST.NAME}發(fā)生:{TRIGGER.NAME}故障
告警主機(jī):{HOST.NAME}
告警地址:{HOST.IP}
監(jiān)控項(xiàng)目:{ITEM.NAME}
監(jiān)控取值:{ITEM.LASTVALUE}
告警等級(jí):{TRIGGER.SEVERITY}
當(dāng)前狀態(tài):{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
填寫(xiě)的內(nèi)容,可從下面復(fù)制:
服務(wù)器:{HOST.NAME}:{TRIGGER.NAME}故障已恢復(fù)
告警主機(jī):{HOST.NAME}
告警地址:{HOST.IP}
監(jiān)控項(xiàng)目:{ITEM.NAME}
監(jiān)控取值:{ITEM.LASTVALUE}
告警等級(jí):{TRIGGER.SEVERITY}
當(dāng)前狀態(tài):{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時(shí)間:{EVENT.DATE}{EVENT.TIME}
恢復(fù)時(shí)間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續(xù)時(shí)間:{EVENT.AGE}
事件ID:{EVENT.ID}
至此微信告警已經(jīng)配置完成!
[root@localhost zabbix_agentd.conf.d]# /etc/init.d/zabbix_agentd stop
//agent模擬故障
企業(yè)微信收到的內(nèi)容如下:
[root@localhost zabbix_agentd.conf.d]# /etc/init.d/zabbix_agentd start
//恢復(fù)agent端
企業(yè)微信收到的內(nèi)容如下:
至此,微信報(bào)警已經(jīng)配置完成,并且已經(jīng)測(cè)試!
————————本文已完,感謝閱讀——————————
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。