Python3 用requests调用Zabbix API

环境版本:

Python 3.6

requests 2.21

Zabbix 3.4

#!/usr/bin/env python
#_*_ coding:utf-8 _*_

import requests
import json

class Zabbix_api():

    def __init__(self):
        self.url = 'http://192.168.110.110/zabbix/api_jsonrpc.php'
        self.username = 'Admin'
        self.password = '123456789'
        self.header = {"Content-Type": "application/json-rpc"}

    def Login(self):
        data = {
            "jsonrpc": "2.0",
            "method": "user.login",
            "params": {
                "user": self.username,
                "password": self.password
            },
            "id": 1
        }
        request = requests.post(url=self.url, headers=self.header, data=json.dumps(data))
        dict = json.loads(request.text)
        request.close()
        return dict['result']
    def HostList(self, token):
        data = {
            "jsonrpc": "2.0",
            "method": "host.get",
            "params": {
                "output": [
                    "hostid"
                ],
                "selectInterfaces": [
                    "ip"
                ]
            },
            "id": 2,
            "auth": token
        }
        request = requests.post(url=self.url, headers=self.header, data=json.dumps(data))
        dict = json.loads(request.text)
        request.close()
        return dict['result']

if __name__ == '__main__':
    zabapi = Zabbix_api()
    token = zabapi.Login()
    zab_host_list = zabapi.HostList(token)
    for host in zab_host_list:
        print(host)

 

文献:https://www.zabbix.com/documentation/3.4/zh/manual/api

 

转载于:https://www.cnblogs.com/TaleG/p/10130321.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值