赞
踩
添加针对端口监听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模板
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。