轉載自http://blog.51cto.com/ywzhou/1579917
1、監控端口的幾個主要Keys:
net.tcp.listen[port] |
Checks if this port is in LISTEN state. 0 - it is not, 1 - it is in LISTEN state. 監控TCP端口是否監聽 |
net.tcp.port[<ip>,port] |
Check, if it is possible to make TCP connection to the port number. 0 - cannot connect, 1 - can connect. IP address is optional. If ip is missing, 127.0.0.1 is used. Example: net.tcp.port[,80] 檢查TCP端口是否可以正常連接。 |
net.tcp.service[service,<ip>,<port>] |
Check if service is available. 0 - service is down, 1 - service is running. If ip is missing 127.0.0.1 is used. If port number is missing, default service port is used. Example: net.tcp.service[ftp,,45]. 檢查服務是否可用,FTP服務可直接使用FTP模板 |
net.tcp.service.perf[service,<ip>,<port>] |
Check performance of service "service". 0 - service is down, sec - number of seconds spent on connection to the service. If ip is missing 127.0.0.1 is used. If port number is missing, default service port is used. 監控服務(端口)連接性能 |
net.udp.listen[port] |
Checks if this port is in LISTEN state. 0 - it is not, 1 - it is in LISTEN state. 監控UDP端口是否監聽(不支持windows) |
說明:Zabbix自帶單獨服務檢測模板,如Template App FTP Service,就是使用的ket.tcp.service[ftp]這個KEY來監控的。
2、創建一組專門用於端口監控的模板
監控80端口的模板,新建一個組Tcp Port
3、在模板中添加Item
添加一個監控80端口是否在Listen狀態的Item,使用的KEY是net.tcp.listen[]
4、添加第二個Item
這個Item使用的KEY是net.tcp.port[],用來檢查TCP端口是否可以正常連接
5、添加第三個Item
這個Item使用的KEY是net.tcp.service[],用來監控服務是否可用,不指定端口將檢查該服務的默認端口
6、添加第四個Item
這個Item使用的KEY是net.tcp.service[],用來監控服務(端口)的連接性能,注意下面的數據類型選擇float
7、給第一個Item創建一個觸發器
第一個Item是監控80端口是否在listen狀態,返回0表示不在,返回1表示在
8、在模板中創建一個圖像,將4個Items顯示在圖像中
9、將模板Link到監控主機上
10、主機HV01顯示的監控結果
11、主機HV03顯示的監控結果
說明:通過以上兩圖可以看到四個Items的區別與作用
12、主機HV03的監控圖像
說明:上圖反映了四個端口監控Items的狀態與數值,performance反映了HV03服務器的80端口連接性能,越小越好。