获取zabbix上所有主机的IP和主机名的实例代码
zabbix
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbixserver与可选组件zabbixagent。
zabbixserver可以通过SNMP,zabbixagent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OSX等平台上。
下面通过代码给大家介绍获取zabbix上所有主机的IP和主机名,代码如下所示:
#coding:utf-8
#获取zabbix上所有主机的IP和主机名
importrequests
importjson
importcsv
importtime
defget_token():
data={
"jsonrpc":"2.0",
"method":"user.login",
"params":{
"user":username,
"password":password
},
"id":0
}
r=requests.get(zaurl,headers=header,data=json.dumps(data))
auth=json.loads(r.text)
returnauth["result"]
defgetHosts(token):
data={
"jsonrpc":"2.0",
"method":"host.get",
"params":{
"output":[
"hostid",
"host"
],
"selectInterfaces":[
"interfaceid",
"ip"
]
},
"id":2,
"auth":token,
}
request=requests.post(zaurl,headers=header,data=json.dumps(data))
dict=json.loads(request.content)
#print(dict['result'])
returndict['result']
if__name__=="__main__":
zaurl="http://xx.xx.xx.xx/zabbix/api_jsonrpc.php"
header={"Content-Type":"application/json"}
username="xx"
password="xx"
token=get_token()
hostlist=getHosts(token)
datafile="zabbix.txt"
fdata=open(datafile,'w')
foriinhostlist:
hostid=i['hostid']
hostip=i['host']
fdata.write(hostip+''+hostid+'\n')
fdata.close()
总结
以上所述是小编给大家介绍的获取zabbix上所有主机的IP和主机名的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。