获取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监控多个JVM进程的方法

    Zabbix监控多个JVM进程的方法

    这篇文章主要介绍了Zabbix监控多个JVM进程的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • zabbix监控Linux系统服务的流程

    zabbix监控Linux系统服务的流程

    这篇文章主要介绍了zabbix监控Linux系统服务的流程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Linux shell环境下Zabbix Api的使用

    Linux shell环境下Zabbix Api的使用

    今天小编就为大家分享一篇关于Linux shell环境下Zabbix Api的使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 详解Zabbix安装部署实践

    详解Zabbix安装部署实践

    Zabbix是目前最为主流的开源监控方案之一,本文给大家详细介绍了Zabbix安装部署实践,感兴趣的朋友参考下吧
    2019-11-11
  • ubuntu系统下部署zabbix服务器监控的方法教程

    ubuntu系统下部署zabbix服务器监控的方法教程

    这篇文章主要给大家介绍了在ubuntu系统下部署zabbix服务器监控的方法教程,文中将步骤介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-06-06
  • Zabbix监控交换机设置方法

    Zabbix监控交换机设置方法

    这篇文章主要介绍了Zabbix监控交换机设置方法,需要的朋友可以参考下
    2014-10-10
  • 获取zabbix上所有主机的IP和主机名的实例代码

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

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

    重置Zabbix密码的方法(一步到位)

    由于长时间不通过账号密码的方式登录zabbix,容易忘记密码,小编今天通过转换对应的md5直接在数据库中重置密码,对重置Zabbix密码感兴趣的朋友一起看看吧
    2020-02-02
  • Zabbix 2.4.5自带MySQL监控的配置使用教程

    Zabbix 2.4.5自带MySQL监控的配置使用教程

    Zabbix 有自带监控 MySQL 的模板,但是却不能直接使用,下面这篇文章主要给大家介绍了关于Zabbix 2.4.5自带MySQL监控配置使用的相关资料,文中通过示例代码给大家介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • Centos 7 下的 Zabbix3.4 安装步骤详解

    Centos 7 下的 Zabbix3.4 安装步骤详解

    这篇文章主要介绍了如何在Centos7下使用yum安装Zabbix3.4,详细安装步骤请认真阅读本文
    2017-12-12

最新评论