zoukankan      html  css  js  c++  java
  • zabbix-python api(一)

    获取zabbix token

    #!/usr/bin/env python
    #coding=utf-8
    import json
    import urllib2
    
    
    def Gettoken(server_ip,username,passwd,data=1):
        # based url and required header
        url = "http://%s/zabbix/api_jsonrpc.php"%server_ip
        header = {"Content-Type":"application/json"}
        # auth user and password
        if data ==1:
           data = json.dumps(
           {
            "jsonrpc": "2.0",
            "method": "user.login",
            "params": {
            "user": username,
            "password": passwd
           },
            "id": 0
           })
        # create request object
        request = urllib2.Request(url,data)
        for key in header:
           request.add_header(key,header[key])
        # auth and get authid
        try:
            result = urllib2.urlopen(request)
        except  Exception, e:
            print "Auth Failed, Please Check Your Name AndPassword:",e.code
        else:
            response = json.loads(result.read())
            result.close()
            print"Auth Successful. The Auth ID Is:",response['result']
            return response['result']
    
    if __name__ == "__main__":
       Gettoken('192.168.0.202','Admin','zabbix')

    在写一个方法的py文件,这个就按照类的思想来实现先关代码。在这个文件中写入不同的方法 。获取所有主机的方法

    #!/usr/bin/env python
    import json
    import token
    token_num=token.Gettoken('192.168.0.202','Admin','zabbix')
    
    
    def get_hosts():
       data = json.dumps(
        {
          "jsonrpc": "2.0",
          "method": "host.get",
          "params":{
          "output":["hostid","name"],
          "filter":{"host":""}
        },
        "auth":token_num,
        "id": 1,
        })
       result=token.Gettoken('192.168.0.202','Admin','zabbix',data )
       print result
       return result

    输出:

  • 相关阅读:
    php模拟发送GET和POST请求
    php获取从百度搜索进入网站的关键词
    HDU 6218 (线段树+set)
    Wannafly挑战赛2_D Delete(拓扑序+最短路+线段树)
    BZOJ3926 (后缀自动机)
    Codeforces 848C (cdq分治)
    CERC 2014 (动态树+主席树)
    UOJ 58 (树上带修改的莫队)
    UVA12345 (带修改的莫队)
    BZOJ2038 (莫队)
  • 原文地址:https://www.cnblogs.com/menkeyi/p/5913312.html
Copyright © 2011-2022 走看看