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

 更新时间:2019年10月30日 10:47:33   作者:三旌  
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。这篇文章主要介绍了获取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 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和主机名的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • zabbix通过percona插件监控mysql的方法

    zabbix通过percona插件监控mysql的方法

    这篇文章主要介绍了zabbix通过percona插件监控mysql的方法步骤详解,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • 史上最便捷搭建Zookeeper服务器的方法(推荐)

    史上最便捷搭建Zookeeper服务器的方法(推荐)

    由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。这篇文章主要介绍了史上最便捷搭建Zookeeper服务器的方法,需要的朋友可以参考下
    2020-06-06
  • Zabbix3.4监控mongodb数据库状态的方法

    Zabbix3.4监控mongodb数据库状态的方法

    mongodb有db.serverStatus()命令,可以查看mongodb的运行状态,那么zabbix就可以调用这个命令实现mongodb的监控。这篇文章主要介绍了Zabbix3.4监控mongodb状态的方法,需要的朋友可以参考下
    2019-12-12
  • zabbix redis自动发现端口的脚本返回json格式

    zabbix redis自动发现端口的脚本返回json格式

    zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。这篇文章主要介绍了zabbix redis自动发现端口的脚本,返回json格式,需要的朋友可以参考下
    2019-11-11
  • 获取zabbix上所有主机的IP和主机名的实例代码

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

    zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。这篇文章主要介绍了获取zabbix上所有主机的IP和主机名,需要的朋友可以参考下
    2019-10-10
  • Zabbix监控Linux主机设置方法

    Zabbix监控Linux主机设置方法

    这篇文章主要介绍了Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控,需要的朋友可以参考下
    2014-10-10
  • Zabbix如何通过ssh监控获取网络设备数据

    Zabbix如何通过ssh监控获取网络设备数据

    这篇文章主要介绍了Zabbix如何通过ssh监控获取网络设备数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Zabbix WEB监测实现过程图解

    Zabbix WEB监测实现过程图解

    这篇文章主要介绍了Zabbix WEB监测实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 在centos7安装zabbix3.0的超详细步骤记录

    在centos7安装zabbix3.0的超详细步骤记录

    这篇文章主要给大家介绍了关于在centos7安装zabbix3.0的超详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • zabbix自定义邮箱报警和微信报警

    zabbix自定义邮箱报警和微信报警

    这篇文章主要介绍了zabbix自定义邮箱报警和微信报警,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定需要的朋友可以参考下
    2007-09-09

最新评论