Zabbix監控服務端口,可以手動添加配置,但是如果一個服務器上需要監控的端口數較多,那么利用Zabbix自動發現,比較高效,下面是自動發現port的Python腳本。
#!/usr/bin/python
import os
import json
data = {}
tcp_list = []
port_list = []
command = "netstat -tlnp | sed -n '3,$p' | awk '{print $4}' | awk -F':' '{print $NF}'"
lines = os.popen(command).readlines()
for line in lines:
port=line.strip('\n')
# port = line.split(':')[1]
port_list.append(port)
for port in list(set(port_list)):
port_dict = {}
port_dict['{#TCP_PORT}'] = port
tcp_list.append(port_dict)
data['data'] = tcp_list
jsonStr = json.dumps(data, sort_keys=True, indent=4)
print jsonStr
下面是運行結果:

