摘要:服务器 这篇文章给大家分享的是有关怎么获取zabbix上所有主机的IP和主机名的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编
服务器
这篇文章给大家分享的是有关怎么获取zabbix上所有主机的IP和主机名的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
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 requestsimport jsonimport csvimport timedef 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和主机名”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28