获取zabbix上所有主机的IP和主机名的实例代码

2023-12-02 0 714

zabbix

zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

下面通过代码给大家介绍获取zabbix上所有主机的IP和主机名,代码如下所示:

#coding:utf-8
#获取zabbix上所有主机的IP和主机名
import requests
import json
import csv
import time
def get_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)
return auth[\”result\”]
def getHosts(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\’])
return dict[\’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\’)
for i in hostlist:
hostid = i[\’hostid\’]
hostip = i[\’host\’]
fdata.write(hostip + \’ \’ + hostid + \’\\n\’)
fdata.close()

总结

以上所述是小编给大家介绍的获取zabbix上所有主机的IP和主机名的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对悠久资源网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 zabbix 获取zabbix上所有主机的IP和主机名的实例代码 https://www.u-9.cn/server/zabbix/32796.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务