python通过zabbix api获取主机


Posted in Python onSeptember 17, 2018

zabbix强大地方在于有强大的api,zabbix 的api可以拿到zabbix大部分数据,目前我所需的数据基本可以通过api获取,以下是通过zabbix api获取的主机信息python代码,其他数据也如此类推,api使用方法可参见官网文档:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import json
import urllib2
from urllib2 import URLError
from login import zabbix_login
t=zabbix_login()
def hostid_get():
 data = json.dumps(
  {
   "jsonrpc": "2.0",
   "method": "host.get",
   "params": {
      "output": "extend",
      "groupids":14,
      "filter":{"flags": "4" },
      },
   "auth":t.user_login(),
   "id": 1,
  })
 request = urllib2.Request(t.url, data)
 for key in t.header:
  request.add_header(key, t.header[key])
 try:
  result = urllib2.urlopen(request)
 except URLError as e:
  if hasattr(e, 'reason'):
   print 'zabbix server is faile'
   print 'Reason: ', e.reason
  elif hasattr(e, 'code'):
   print 'zabbix server not request.'
   print 'Error code: ', e.code
 else:
  response = json.loads(result.read())
  result.close()
  hostid=[]
  hostname=[]
  for host in response['result']:
   hostid.append(host['hostid'])
   hostname.append(host['name'])
  return hostid,hostname
 
if __name__ == "__main__":
 a,b=hostid_get()
 i=0
 n=len(b)
 for i in range(n):
  print a[i],b[i]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中with语句的用法
Apr 15 Python
Python之re操作方法(详解)
Jun 14 Python
python Flask实现restful api service
Dec 04 Python
利用Python如何生成hash值示例详解
Dec 20 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
Python读写zip压缩文件的方法
Aug 29 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
python 环境搭建 及python-3.4.4的下载和安装过程
Jul 20 Python
基于keras输出中间层结果的2种实现方式
Jan 24 Python
Python爬取梨视频的示例
Jan 29 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 #Python
python实现Zabbix-API监控
Sep 17 #Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 #Python
Python从使用线程到使用async/await的深入讲解
Sep 16 #Python
推荐10款最受Python开发者欢迎的Python IDE
Sep 16 #Python
python3中os.path模块下常用的用法总结【推荐】
Sep 16 #Python
python os.path模块常用方法实例详解
Sep 16 #Python
You might like
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
PHP中实现进程间通讯
2006/10/09 PHP
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
2015/12/11 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
python实现简单的计时器功能函数
2015/03/14 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
python Tensor和Array对比分析
2020/01/08 Python
Lookfantastic澳大利亚官网:英国知名美妆购物网站
2021/01/07 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
配置管理计划的主要内容有哪些
2014/06/20 面试题
三年级音乐教学反思
2014/01/28 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
物流管理专业求职信
2014/05/29 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
教师远程研修感悟
2015/11/18 职场文书
外出听课学习心得体会
2016/01/15 职场文书