python调用zabbix api获取主机信息

import requests
import json

headers = {
    'Content-Type': 'application/json'
}

class GetZabbix:
    def __init__(self):
        #用户信息
        self.username = "****"
        self.password = "****"
        self.url = "http://192.168.0.*/zabbix/api_jsonrpc.php"
        self.token = self.getToken()

    def getToken(self):
        data = {
            "jsonrpc": "2.0",
            "method": "user.login",
            "params": {
                "user": self.username,
                "password": self.password
            },
            "id": 1,
            "auth": None
        }
        r = requests.post(url=self.url, headers=headers, data=json.dumps(data))
        token = json.loads(r.content).get("result")
        return token

    def getHosts(self):
        data = {
            "jsonrpc": "2.0",
            "method": "host.get",
            "params": {
                "output": [
                    "hostid",
                    "host"
                ],
                "selectInterfaces": [
                    "interfaceid",
                    "ip"
                ]
            },
            "id": 2,
            "auth": self.token
        }
        r = requests.post(url=self.url, headers=headers, data=json.dumps(data))
        print(r.content)


if __name__ == "__main__":
    start = GetZabbix()
    start.getHosts()

参考:https://www.zabbix.com/documentation/3.4/zh/manual/api

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Zabbix 安装 本文是参考 《Zabbix 教程从入门到精通v1.0》 所作的实验。 大纲: 一、LNMP 环...
    C86guli阅读 5,506评论 0 8
  • 据说,人一生会遇到8263563人。 其中,会打招呼的是39778人,会熟悉的是3619人,会亲近的只剩下275人...
    c小鱼鱼阅读 2,934评论 2 7
  • 那猛然间从左向右 撒出的网 竟然让偌大的水面怔住 隐约之间听到沙沙的声响 涟漪从水面晃到水底 水底的石头,可以充耳...
    夜跑如风阅读 3,576评论 17 42
  • IT‘S RAINING 我刚好有雨,你正好有伞 每到一个地方,总会下雨……无论是到雨水比彩虹还难得的洛杉矶还是苏...
    萌雨阅读 4,562评论 0 2

友情链接更多精彩内容