zabbix 使用LLD自动添加进程监控
监控需求:1.服务器上在/data/gameserver下有n个目录,每个目录都使用相对路径启动了3个进程,现要对这些进程进行监控,需要能得知是哪个目录下的哪个进程宕掉;2.目录数量可能会增加和删减;
3.进程的名字都是一样的,启动的端口也是随机无规律;
解决方法:因目录数量可能增加与删减所以需要是用LLD发现做监控:
https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif
#!/usr/bin/python
#
XFTZN gameserver dir zabbix LLD moniotr
#
2017/05/22
import os
import json
data = {}
game_list = []
dir_list = []
command = 'ls /data/gameserver'
lines = os.popen(command).readlines()
for line in lines:
dir = line.replace("\n","")
dir_list.append(dir)
for dir in dir_list:
dir_dict = {}
dir_dict['{#GAME_DIR}'] = dir
game_list.append(dir_dict)
data['data'] = game_list
jsonStr = json.dumps(data, sort_keys=True, indent=4)
print jsonStr
View Code aa
https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif
#!/usr/bin/python
#
XFTZN gameserver dir zabbix LLD moniotr
#
2017/05/23
import os
import sys
check_pro = sys.argv
check_dir = sys.argv
run_pro_dir = []
command = 'pgrep '+check_pro
lines = os.popen(command).readlines()
for line in lines:
pid = line.replace("\n","")
command2 = str('sudo pwdx '+pid)
lines2 = os.popen(command2).readline()
dir = lines2.replace("\n","")
dir2 = dir.split('/')
run_pro_dir.append(dir2)
if check_dir in run_pro_dir:
print "1"
else:
print "2"
View Code
页:
[1]