zabbix api example

简介:

 zabbix  api  example

 
  1. #!/usr/bin/env python 
  2. #coding=utf-8 
  3.  
  4. import json,urllib2 
  5.  
  6. #url and url header 
  7. zabbix_url="http://zabbix.test.org/api_jsonrpc.php" 
  8. zabbix_header = {"Content-Type":"application/json"
  9. zabbix_user  =  "admin" 
  10. zabbix_pass  =  "123456" 
  11.  
  12. #auth user adn password 
  13. auth_data = json.dumps( 
  14.     "jsonrpc":"2.0"
  15.     "method":"user.login"
  16.     "params": { 
  17.     "user":zabbix_user, 
  18.     "password":zabbix_pass 
  19.     }, 
  20. "id":0 
  21. }) 
  22.  
  23. # create request object 
  24. request = urllib2.Request(zabbix_url,auth_data) 
  25. for key in zabbix_header: 
  26.     request.add_header(key,zabbix_header[key]) 
  27.  
  28. #auth and get authid 
  29. try
  30.     result = urllib2.urlopen(request) 
  31. except URLError as e: 
  32.     print "认证失败,请检查用户名和密码是否正确",e.code 
  33. else
  34.     response=json.loads(result.read()) 
  35.     result.close() 
  36.     auth_code=response['result'
  37.  
  38.  
  39.  
  40.  
  41. # request json 
  42. get_host_data = json.dumps( 
  43.     "jsonrpc":"2.0"
  44.     "method":"host.get"
  45.     "params":{ 
  46.         "output":["hostid","name","available","maintenance_status","status","error"], 
  47.         #"filter":{"host":""} 
  48.     }, 
  49.     #auth string 
  50.     "auth":auth_code,  
  51.     "id":1
  52. }) 
  53.   
  54. # create request object 
  55. request = urllib2.Request(zabbix_url,get_host_data) 
  56. for key in zabbix_header: 
  57.     request.add_header(key,zabbix_header[key]) 
  58.   
  59. # get host list 
  60. try
  61.     result = urllib2.urlopen(request) 
  62. except URLError as e: 
  63.     if hasattr(e, 'reason'): 
  64.         print 'We failed to reach a server.' 
  65.         print 'Reason: ', e.reason 
  66.     elif hasattr(e, 'code'): 
  67.         print 'The server could not fulfill the request.' 
  68.         print 'Error code: ', e.code 
  69. else
  70.     response = json.loads(result.read()) 
  71.     result.close() 
  72.   
  73.     print "Number Of Hosts: ", len(response['result']) 
  74.      
  75.     for host in response['result']: 
  76.         print "Host ID:",host['hostid'],"Host Name:",host['name'],"Status",host['status'

 

本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1178902,如需转载请自行联系原作者

相关文章
|
JSON 监控 前端开发
python对接API二次开发高级实战案例解析:Zabbix API封装类实现获取认证密钥、所有主机组、所有主机、所有监控项和历史数据
python对接API二次开发高级实战案例解析:Zabbix API封装类实现获取认证密钥、所有主机组、所有主机、所有监控项和历史数据
512 0
|
监控 网络协议 API
利用zabbix api批量添加数百台监控主机
利用zabbix api批量添加监控主机 在公司规模很庞大的时候,每次都手动添加监控主机将会很麻烦,我们可以利用zabbix的api去批量添加监控主机 本次我们将实现用一台主机虚拟出100台主机,并通过api的方式自动添加监控主机
795 0
利用zabbix api批量添加数百台监控主机
|
监控 API 开发工具
zabbix离线安装 zabbix api批量添加主机
zabbix离线安装 zabbix api批量添加主机
462 0
Zabbix API初步入门
Zabbix API是实现Zabbix自动化监控的主要手段之一,你可以使用Zabbix Agent的自动注册功能,也可以使用网络自动发现功能,但是这些功能各有各的缺点。如果编写脚本对你来说没有压力,我跟建议Zabbix的所有自动化功能全部使用API的方式来完成。
1141 0
Zabbix API初步入门
|
监控 API PHP
Zabbix 二次开发API(学习笔记三十)
Zabbix API我们可以做很多,自己开发web界面、开发手机端zabbix、获取zabbix指定数据、创建zabbix监控项等等。 1. zabbix API开发库 zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等语言,简单看了下phpzabbixapi,使用非常方便。
1898 0
|
监控 API 弹性计算

推荐镜像

更多