zabbix新增telnet監控
阿新 • • 發佈:2018-12-05
新增針對埠監聽telnet的監控項
應運營需求,新增程式埠的telnet監控。整體思路如下,
1.收集當前ip及埠情況,形成test檔案,後邊會被ansible批量執行時呼叫
2.將指令碼2(monitor_listen_port.py)放到各機子下的/etc/zabbix/script/monitor_listen_port.py,並修改定時任務,這兩項寫到ansible-playbook中執行,執行指令碼(ansible_add.yml)如下
執行ansible-playbook指令碼
3.zabbix-server端相關修改
3.1修改/etc/zabbix/zabbix_agentd.d/userparameter_auto_check_conn.conf,新增用於lld的兩個指令碼,修改後重啟zabbix-agent服務
#指令碼telnet_port.py
#!/usr/bin/python
import telnetlib,sys
IP=sys.argv[1]
PORT=sys.argv[2]
try:
tn = telnetlib.Telnet(IP,PORT,timeout=10)
ok=tn.set_debuglevel(2)
print 1
except:
print 0
#指令碼listen_port_detect.py #! /usr/bin/python import os,sys,json def read_file(host_file_list): temp_list=[] for per_file_name in host_file_list: with open('/logdata/zabbix_monitor/%s' %(per_file_name)) as f: data=f.readlines() data=data+temp_list temp_list=data return data def rebuild_lld_format(ip_port_list,dict_hehe): for i in ip_port_list: port,ip=i.split() dict_hehe['data'].append({"{#IP}":'%s' %(ip),"{#PORT}":'%s' %(port)}) print json.dumps(dict_hehe) if __name__=="__main__": dict_hehe={'data':[]} host_file=os.listdir('/logdata/zabbix_monitor') list_ip_port=read_file(host_file) rebuild_lld_format(list_ip_port,dict_hehe)
3.2 zabbix配置模板
新增名為 listen_port_monitor 的模板
新增discovery rules
新增lld item模板
新增lld trigger模板