Linux自帶的一些監(jiān)控模板可能無(wú)法滿足我們的需求,在生產(chǎn)環(huán)境中,我們可能需要對(duì)某些目錄進(jìn)行監(jiān)控,比如/boot,接下來(lái)我們來(lái)對(duì)演示一下如何對(duì)目錄進(jìn)行監(jiān)控,我們可以自定義key,來(lái)實(shí)現(xiàn)我們所需要的功能~
首先你要安裝好zabbix_agent客戶端
1.定義好監(jiān)控對(duì)象,比如我要監(jiān)控的就是/yinzhengjie/data/alarm/目錄,我的思路就是在客戶端把這個(gè)目錄的大小取出來(lái),然后發(fā)給服務(wù)端就好
[root@bogon yinzhengjie]# mkdir -pv /yinzhengjie/data/alarm/
[root@bogon yinzhengjie]# cd /yinzhengjie/data/alarm/
[root@bogon alarm]# dd if=/dev/zero of=test.sh bs=1M count=10
[root@bogon alarm]# ll
total 10240
-rw-r--r--. 1 root root 10485760 Dec 7 19:55 test.sh
[root@bogon alarm]# du -sh test.sh
10M test.sh
[root@bogon alarm]# du -sh /yinzhengjie/data/alarm/
11M /yinzhengjie/data/alarm/
[root@bogon alarm]#
上面就是在所需要監(jiān)控的目錄創(chuàng)建了一個(gè)10M文件,你可能會(huì)好奇為什么這個(gè)目錄就是11M了,這個(gè)我們可以理解成這個(gè)目錄下還存有一些隱藏文件或者目錄,他們也會(huì)占有一定的inode,自然會(huì)產(chǎn)生點(diǎn)內(nèi)存,1M的數(shù)字在生產(chǎn)環(huán)境中我們可以忽略不計(jì)的,我們忽略就好了,讓他們默認(rèn)就是11M
[root@bogon alarm]# ll -a
total 10248
drwxr-xr-x. 2 root root 4096 Dec 7 19:56 .
drwxr-xr-x. 4 root root 4096 Dec 7 18:29 ..
-rw-r--r--. 1 root root 10485760 Dec 7 19:55 test.sh
2.添加自己腳本
這個(gè)腳本我們可以在任何地方定義的,但是我建議還是放在一個(gè)制定目錄下,因?yàn)榉奖隳愎芾?,以后的腳本也都可以放在那個(gè)位置,我是源碼安裝的zabbix_agent,他們的制定目錄都在/usr/local這個(gè)目錄下
[root@bogon yinzhengjie]# mkdir -pv /usr/local/zabbix/scripts/ && cd /usr/local/zabbix/scripts/
[root@bogon scripts]# more directories.sh
!/bin/bash
directories_size=du -m /yinzhengjie/data/alarm/ | awk '{print $1}'
echo $directories_size
[root@bogon scripts]#chmod +x directories.sh
備注:我是一個(gè)root用戶,所以你們?cè)谑褂胐u命令的時(shí)候要看你是否有權(quán)限喲~
3.添加自定義密鑰
[root@bogon yinzhengjie]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
UserParameter=disk.catalog,/usr/local/zabbix/scripts/directories.sh
只需要在末行添加上這么一行就好了
[root@yinzhengjie scripts]# /etc/init.d/zabbix_agentd restart
以上客戶端配置就完成了
那么讓我們來(lái)服務(wù)端看看吧
首先。我們需要測(cè)試一下是否服務(wù)端能在服務(wù)器上讀到數(shù)值
[root@bogon yinzhengjie]# /usr/local/zabbix/bin/zabbix_get -s 172.30.1.60 -k disk.catalog
11
[root@bogon yinzhengjie]#
很好,我們看到了返回值11,說(shuō)明就好使了,如果你覺(jué)得命令行看起來(lái)別扭的話,可以這樣干
[root@bogon yinzhengjie]# ln -s /usr/local/zabbix/bin/zabbix_get /usr/bin/zabbix_get
[root@bogon yinzhengjie]# zabbix_get -s 172.30.1.60 -k disk.catalog
11
[root@bogon yinzhengjie]#
做一個(gè)軟鏈接,就不用敲卻對(duì)路徑了喲~
如果你看過(guò)我之前的服務(wù)端配置的話,相信下面的你也應(yīng)該會(huì)操作了吧所以就不用往下看了
因?yàn)槎际莣eb界面的配置。
1.創(chuàng)建一個(gè)模板

2.添加item

3.創(chuàng)建圖像

4.主機(jī)link到模板

5.查看服務(wù)端結(jié)果

我們看到當(dāng)前的大小是11M,咦,我想搞點(diǎn)事情~我要讓這個(gè)線動(dòng)一下?怎么辦?
6.回到我們的客戶端配置,我們?cè)谶@個(gè)目錄下創(chuàng)建一個(gè)更大的文件
[root@bogon yinzhengjie]# dd if=/dev/zero of=/yinzhengjie/data/alarm/warning.txt bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.346348 s, 303 MB/s
[root@bogon yinzhengjie]# du -sh /yinzhengjie/data/alarm/
111M /yinzhengjie/data/alarm/
[root@bogon yinzhengjie]#
再來(lái)看看效果

zabbix自定義的KEY,也可以傳參:
(1)編寫(xiě)的腳本處,使用變量:

(2)zabbix-agent配置文件zabbix_agentd.conf中,定義了KEY為參數(shù)模式,并且使用了變量:

(3)命令調(diào)用方式:

(4)web調(diào)用方式(注意:監(jiān)控項(xiàng)處填寫(xiě)的鍵值為不帶引號(hào)的參數(shù)):

附件:
1、指定目錄集合中沒(méi)有文件,則給出告警:blog.csdn.net/PlatoWG/art…
2、監(jiān)控錯(cuò)誤日志,指定目錄下的日志error錯(cuò)誤數(shù),達(dá)到一定數(shù)量給出報(bào)警:blog.csdn.net/weixin_4315…
3、TCP連接數(shù):blog.51cto.com/215687833/1…