怎么获取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和主机名importrequestsimportjsonimportcsvimporttimedefget_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和主机名”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
分享名称:怎么获取zabbix上所有主机的IP和主机名
标题来源:http://cdiso.cn/article/cgsosd.html