Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌相关的知识,希望对你有一定的参考价值。

访问zabbix api的URL是:

    http://x.x.x.x/zabbix/api_jsonrpc.php

    x.x.x.x可能是你的IP或者域名


访问流程概览:

1、首先登录

2、认证成功后zabbix server返回一个token

3、带着这个token去访问各种数据,做各种操作

4、完毕!


一、用RESTClient进行登录

技术分享图片

在json请求的正文中,具有以下属性:

  • jsonrpc - API使用的JSON-RPC协议的版本; Zabbix API实现JSON-RPC版本2.0;

  • method - 调用的API方法;

  • params - 将被传递给API方法的参数;

  • id - 请求的任意标识符;

  • auth -用户认证令牌; 因为我们还没有一个,它的设置null。


正确提供凭据后,API返回的响应将包含用户身份验证令牌(json格式):

{

    "jsonrpc":"2.0",

    "result":"140f4524c02e2731dd74c48d29aa5ce8",  #这个就是token

    "id":1

}


二、使用Python进行登录

# -*- coding:utf-8 -*-
import urllib2
import json

url = 'http://x.x.x.x/zabbix/api_jsonrpc.php'
header = {'Content-Type': 'application/json'}

req = json.dumps(
    {
        "jsonrpc": "2.0",
        "method": "user.login",
        "params": {
            "user": "Admin",
            "password": "你的密码"
        },
        "id": 0,
    }
)

def auth():
    r = urllib2.Request(url=url, headers=header, data=req)
    response = urllib2.urlopen(r)
    token = json.loads(response.read())
    print(token)

if __name__ == '__main__':

    auth()

得到的响应:

技术分享图片

以上是关于Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌的主要内容,如果未能解决你的问题,请参考以下文章

Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌

Consul坑坑一人行之从入门到放弃,记Consul的重复注册节点失效后无健康检查等坑。。。求解

Hadoop HDFS编程 API入门系列之从本地上传文件到HDFS

python入门到放弃-函数专题

python 调用zabbix api实现查询主机信息,输出所有主机ip

python从入门到放弃QAQ