获取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 redis自动发现端口的脚本返回json格式

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

    zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。这篇文章主要介绍了zabbix redis自动发现端口的脚本,返回json格式,需要的朋友可以参考下
    2019-11-11
  • 教你saltstack部署zabbix服务的方法

    教你saltstack部署zabbix服务的方法

    这篇文章主要介绍了saltstack部署zabbix服务的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Zabbix WEB监测实现过程图解

    Zabbix WEB监测实现过程图解

    这篇文章主要介绍了Zabbix WEB监测实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • zabbix的psk加密结合zabbix_get取值

    zabbix的psk加密结合zabbix_get取值

    这篇文章主要介绍了zabbix的psk加密结合zabbix_get取值,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Zabbix 配置钉钉告警功能的实现代码

    Zabbix 配置钉钉告警功能的实现代码

    这篇文章主要介绍了Zabbix 配置钉钉告警功能的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 监控zabbix的安装与使用教程

    监控zabbix的安装与使用教程

    这篇文章主要介绍了监控zabbix的安装与使用教程,详细介绍了zabbix的安装步骤,zabbix的主动模式和被动模式简介及实现,需要的朋友可以参考下
    2024-08-08
  • 基于docker安装zabbix的详细教程

    基于docker安装zabbix的详细教程

    这篇文章主要介绍了基于docker安装zabbix,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 使用zabbix进行监控网络设备流量

    使用zabbix进行监控网络设备流量

    这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-01-01
  • Zabbix3.0邮件报警配置

    Zabbix3.0邮件报警配置

    这篇文章主要介绍了Zabbix3.0配置邮件报警安装方法,需要的朋友可以参考下
    2018-02-02
  • 解析Zabbix 5.0磁盘自动发现和读写监控的问题

    解析Zabbix 5.0磁盘自动发现和读写监控的问题

    本文文章给大家介绍Zabbix 5.0磁盘自动发现和读写监控的问题,在配置键值得时候大家要主要此键值支持Linux平台,具体细节问题跟随小编一起通过本文学习下吧
    2021-05-05

最新评论