天天看點

原來zabbix監控程序與端口是如此的簡單!

    每個公司都有自己的程式,自己的程序名與端口監聽,對于nagios來說,這些都經常需要自己去寫插件,但是zabbix不需要,它自己就有監控程序與端口的key。

    在使用zabbix的key來監控程序與端口前,我也自己寫了插件,但用起來很不爽,因為需要在所有agent上都要進行配置與維護。如果用zabbix自帶的功能,隻需要在server端維護就可以了。簡直就是操十分心與操一分心的差別啊,為什麼我就沒有早點發現這功能呢。

開始正題......

監控端口使用如下key:

key:net.tcp.listen[port]

Checks if this port is in LISTEN state. 0 - it is not, 1 - it is inLISTEN state.

翻譯:監聽端口狀态,傳回結果為1,則運作;傳回結果為0,則沒有運作。

例如監控443端口,net.tcp.listen[443]

<a href="http://s3.51cto.com/wyfs02/M00/48/6B/wKiom1QH7NvhGfSIAAF7wgU_Y7M306.jpg" target="_blank"></a>

如果一個程序沒有監聽端口,則可以使用如下key。

key:proc.num[&lt;name&gt;,&lt;user&gt;,&lt;state&gt;,&lt;cmdline&gt;]

Number of processes. &lt;name&gt; and &lt;user&gt; same as inproc.mem item. &lt;state&gt; all (default), run, sleep, zomb. &lt;cmdline&gt;filter by command line (supports regex).

name:是程序名

user:運作該程序的使用者

state:程序狀态包括run,sleep,zomb

cmdline:該項内容是模糊比對,即用ps aux看到的最後一列中包含該字段則比對上。

注:name比對可能不是很準,一般根據cmdline來比對程序

例如監控cond,proc.num[,root,all,crond]

配置如下:

<a href="http://s3.51cto.com/wyfs02/M01/48/6C/wKioL1QH7ODyJfXdAAIEsYjNt-g353.jpg" target="_blank"></a>

對于端口的監控,正常則傳回值=1;對于程序的監控,正常則傳回值&gt;=1;如果傳回結果為0,則代表該程序宕掉。

例如對443端口的觸發器配置如下:

如最後兩次的結果都等于0時,則報警。對于程序的觸發器配置,是一樣的。

<a href="http://s3.51cto.com/wyfs02/M00/48/6B/wKiom1QH7NvQ9oMtAADok345-Jo880.jpg" target="_blank"></a>

zabbix對監控程序與端口存活狀态實在太友善了。最近我在自學zabbix,慢慢的探索更多好用的功能,歡迎留言交流。

本文轉自飛奔的小GUI部落格51CTO部落格,原文連結http://blog.51cto.com/9237101/1912556如需轉載請自行聯系原作者

ziwenzhou