zhouli 发表于 2013-4-16 08:38:57

zabbix api example

zabbixapiexample
[*]#!/usr/bin/env python
#coding=utf-8

import json,urllib2

#url and url header
zabbix_url="http://zabbix.test.org/api_jsonrpc.php"
zabbix_header = {"Content-Type":"application/json"}
zabbix_user="admin"
zabbix_pass="123456"

#auth user adn password
auth_data = json.dumps(
{
    "jsonrpc":"2.0",
    "method":"user.login",
    "params": {
    "user":zabbix_user,
    "password":zabbix_pass
    },
"id":0
})

# create request object
request = urllib2.Request(zabbix_url,auth_data)
for key in zabbix_header:
    request.add_header(key,zabbix_header)

#auth and get authid
try:
    result = urllib2.urlopen(request)
except URLError as e:
    print "认证失败,请检查用户名和密码是否正确",e.code
else:
    response=json.loads(result.read())
    result.close()
    auth_code=response['result']




# request json
get_host_data = json.dumps(
{
    "jsonrpc":"2.0",
    "method":"host.get",
    "params":{
      "output":["hostid","name","available","maintenance_status","status","error"],
      #"filter":{"host":""}
    },
    #auth string
    "auth":auth_code,
    "id":1,
})

# create request object
request = urllib2.Request(zabbix_url,get_host_data)
for key in zabbix_header:
    request.add_header(key,zabbix_header)

# get host list
try:
    result = urllib2.urlopen(request)
except URLError as e:
    if hasattr(e, 'reason'):
      print 'We failed to reach a server.'
      print 'Reason: ', e.reason
    elif hasattr(e, 'code'):
      print 'The server could not fulfill the request.'
      print 'Error code: ', e.code
else:
    response = json.loads(result.read())
    result.close()

    print "Number Of Hosts: ", len(response['result'])
   
    for host in response['result']:
      print "Host ID:",host['hostid'],"Host Name:",host['name'],"Status",host['status']


CHSHJ 发表于 2013-4-16 08:41:03

我抢、我抢、我抢沙发~

hyzqb 发表于 2013-5-16 04:23:31

流氓不可怕,就怕流氓有文化。

774530750 发表于 2013-5-16 23:36:14

内练一口气,外练一口屁。

aa0660 发表于 2013-5-17 19:57:30

解释就系掩饰,掩饰等于无出色,无出色不如回家休息!!!

zidong 发表于 2013-5-18 14:00:51

爱——不是想出来的,爱——是做出来的!!

q666123 发表于 2013-5-19 09:44:46

我的id是假冒的,大家不要相信我是骗子。
页: [1]
查看完整版本: zabbix api example