一.監(jiān)控端口
關(guān)系說(shuō)明
觸發(fā)器: 根據(jù)客戶(hù)端的腳本獲取值,當(dāng)客戶(hù)端的某項(xiàng)值達(dá)到要求后,將發(fā)出告警
監(jiān)控項(xiàng):根據(jù)客戶(hù)端的腳本獲取值,可設(shè)定采集值得間隔時(shí)間,將值保留記錄下來(lái),可形成曲線圖
應(yīng)用集:用來(lái)分類(lèi)存放監(jiān)控項(xiàng),比如將監(jiān)控80,8080等web服務(wù)的監(jiān)控項(xiàng)放在web應(yīng)用集中,將監(jiān)控22,21等小服務(wù)的監(jiān)控項(xiàng)放入small應(yīng)用集中。
模板:模板是一套定義好的監(jiān)控項(xiàng)的合集,任何主機(jī)連接模板,則將模板中的監(jiān)控項(xiàng)等等在主機(jī)上應(yīng)用,但要修改這些監(jiān)控項(xiàng)只能去模板中修改,并且修改后其他連接的主機(jī)也會(huì)跟著變動(dòng)。
操作
1.創(chuàng)建模板,模板名稱(chēng)用來(lái)表示,這里監(jiān)控端口,取名為port,模板必須加入某群組,可單獨(dú)創(chuàng)建群組來(lái)區(qū)分。
2.創(chuàng)建應(yīng)用集,應(yīng)用集只用取名字即可
3.創(chuàng)建監(jiān)控項(xiàng),名稱(chēng)用來(lái)區(qū)分監(jiān)控的哪些值,可能是監(jiān)控nginx的訪問(wèn)數(shù)量,也可能是mysql的讀數(shù)量。
鍵值有2種,一種是點(diǎn)擊選擇使用系統(tǒng)自帶值,另一種自定義腳本key。
這里選擇net.tcp.listen[port],通過(guò)telnet來(lái)查找某主機(jī)是否監(jiān)聽(tīng)某端口,[port]填寫(xiě)需要監(jiān)控的端口號(hào)。
4.創(chuàng)建觸發(fā)器,{host.name}將獲取主機(jī)名,用作報(bào)警顯示。表達(dá)式點(diǎn)擊添加,或復(fù)制其他自帶觸發(fā)器的值進(jìn)行修改。
連接監(jiān)控項(xiàng),這個(gè)就是剛剛創(chuàng)建的監(jiān)控項(xiàng),其余不動(dòng)。
5.選擇相應(yīng)群組,從群組里找到剛建立的監(jiān)控項(xiàng)。
6.port是模板名,如果這里選擇寫(xiě)主機(jī)名或主機(jī)ip,則會(huì)變成單個(gè)主機(jī)的監(jiān)控項(xiàng),而不是模板的。
二.監(jiān)控服務(wù)
關(guān)系說(shuō)明
腳本:執(zhí)行腳本獲得值
配置文件:允許自定義key,將key的鍵值和腳本獲取值關(guān)聯(lián)起來(lái)。
服務(wù)端測(cè)試: 服務(wù)端發(fā)送指令給客戶(hù)端,客戶(hù)端運(yùn)行腳本獲取值再返回給服務(wù)端。
操作
1.創(chuàng)建腳本,用于獲取值
cd /etc/zabbix/script
vim web_status.sh
1
2
3
4
5
6
7
8
9
10
|
#!/bin/bash case $1 in lian) netstat -anptu | grep 172.26.98.247:80 | wc -l ;; ping ) netstat -unltp | grep -w 80 &> /dev/null && echo 1 || echo 0 ;; *) echo "lian | ping" ;; esac |
測(cè)試腳本 ./web_status.sh ping
,看是否可以獲得1
2.修改客戶(hù)端配置文件,讓他允許自定義key
vim /etc/zabbix/zabbix_agentd.conf
1
2
|
include= /etc/zabbix/zabbix_agentd .conf.d/*.conf #加載其他配置文件 unsafeuserparameters=1 #開(kāi)啟允許自定義 key |
systemctl restart zabbix-agent
3.修改配置文件,設(shè)定鍵值的名字和腳本所在位置,這樣配置文件才能知道這個(gè)鍵值需要執(zhí)行哪個(gè)腳本獲得
web.ping是自定義的鍵值名字,后面是腳本路徑
vim /etc/zabbix/zabbix_agentd.d/web_status.conf
1
2
|
userparameter=web. ping , /etc/zabbix/script/web_status .sh ping userparameter=web.lian, /etc/zabbix/script/web_status .sh lian |
如果執(zhí)行的是命令要用絕對(duì)路徑,如下也能獲取值,并不一定要用腳本。
比如
1
|
userparameter=web.shu, /bin/netstat -anptu | wc -l |
4.檢測(cè),客戶(hù)端測(cè)試
zabbix_agentd -t web.ping
#返回1則正確
服務(wù)端測(cè)試:
/ops/server/zabbix/bin/zabbix_get -s 192.168.1.1 -k web.ping
#獲得1則正確
5.出現(xiàn)(not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
是因?yàn)槟_本中用netstat 這個(gè)命令,但是客戶(hù)端使用zabbix這個(gè)用戶(hù)啟動(dòng)腳本,沒(méi)有權(quán)限用這個(gè)命令。
客戶(hù)端執(zhí)行chmod +x /bin/netstat
即可
網(wǎng)頁(yè)操作:
鍵值是找不到的,手動(dòng)寫(xiě)上,觸發(fā)器的表達(dá)式也是連接這個(gè)監(jiān)控項(xiàng)。
三.模板的導(dǎo)入和導(dǎo)出
導(dǎo)入:
導(dǎo)出:
選擇模板拉倒最下面
到此這篇關(guān)于zabbix自定義監(jiān)控項(xiàng)和觸發(fā)器的文章就介紹到這了,更多相關(guān)zabbix自定義監(jiān)控項(xiàng)內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://www.cnblogs.com/rxysg/p/15701080.html