def getGroupid(token_num):
group = {}
data = {"jsonrpc": "2.0",
"method":"hostgroup.get",
"params":{
"output":["groupid","name"]
},
"auth":token_num,
"id": 0
}
request = requests.post(url=url,headers=headers,data=json.dumps(data))
dict = json.loads(request.content)
for i in dict['result']:
groupid = i['groupid']
name = i['name']
group[name] = groupid
return group
def getProc(hosts):
list = hosts
ip_lists = [ ]
if list:
for i in list:
host = i['name']
inter = i['interfaces']
for j in inter:
ip = j['ip']
ip_lists.append(ip)
ip_lists.sort(lambda x,y: cmp(''.join( [ i.rjust(3, '0') for i in x.split('.')] ), ''.join( [ i.rjust(3, '0') for i in y.split('.')] ) ))
return ip_lists
def getIp(dict_group):
dicGroupIp = {}
dicIp = {}
ip_l = []
for group,ip_list in dict_group.items():
for ip in ip_list:
ip_class = splitIp(ip)
ip_group ='.'.join(ip_class)
if ip_group not in dicIp:
ip_l.append(ip)
dicIp[ip_group] = ip_l
else:
dicIp[ip_group].append(ip)
ip_l = [ ]
def writrIpfile(dicGroupIp):
for group_class,group_dic in dicGroupIp.items():
ip_path = os.path.join('/python/zabbix2',group_class )
with open(ip_path,'w')as fd:
for ip_class,ip_list in group_dic.items():
ip_class = '[' + ip_class + ']'
#with open(ip_path,'a')as fd:
fd.write(ip_class + '\n')
for i in ip_list:
fd.write(i + '\n')