zoukankan      html  css  js  c++  java
  • 自学Zabbix14.1 二次开发API

    点击返回:自学Zabbix之路

    点击返回:自学Zabbix4.0之路

    点击返回:自学zabbix集锦

    自学Zabbix14.1 二次开发API

    Zabbix API我们可以做很多,自己开发web界面、开发手机端zabbix、获取zabbix指定数据、创建zabbix监控项等等。

    1. zabbix API开发库

        zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等语言,简单看了下phpzabbixapi,使用非常方便。

    2. 请求zabbix API

      post json数据到api接口地址,例如你得zabbix地址是http://company.com/zabbix,

      那么你得接口地址是:http://company.com/zabbix/api_jsonrpc.php,必须包含content-type头,值为application/json-rpcapplication/json or application/jsonrequest之一。

    POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
    Content-Type: application/json-rpc
     
    {"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}

    3 . zabbix API登陆

       获取auth token(登陆)

       在操作zabbix之前,我们必须先登陆zabbix,得到token,以后的操作带着这个token即可,要不然肯定没权限。

       请求的json如下:

         属性说明:

    • jsonrps - JSON-RPC版本,基本上用2.0就行了;
    • method - 调用的API方法,方法列表请上官网;
    • params - 需要传递的参数,这边是user和password;
    • id - 请求标志;
    • auth - 用户token,这边使用null,因为还没通过验证

         验证成功,会返回如下json数据

        result便是我们要德token数据,id对应请求的id。

    4. zabbix api检索主机

        通过验证之后,我们带着token使用host.get获取主机列表,请求的json如下:

    {
        "jsonrpc": "2.0",
        "method": "host.get",
        "params": {
            "output": [
                "hostid",
                "host"
            ],
            "selectInterfaces": [
                "interfaceid",
                "ip"
            ]
        },
        "id": 2,
        "auth": "0424bd59b807674191e7d77572075f33"
    }

    获取到如下数据:

    {
        "jsonrpc": "2.0",
        "result": [
            {
                "hostid": "10084",
                "host": "Zabbix server",
                "interfaces": [
                    {
                        "interfaceid": "1",
                        "ip": "127.0.0.1"
                    }
                ]
            }
        ],
        "id": 2
    }

    请使用你的程序处理一下即可。

  • 相关阅读:
    动态内存开辟(一)
    结构体,联合体,枚举,typedef
    练习使用C++的string类
    WIN10 + Qt 5.14(MSVC 2017,32bit) + APP项目(minGW-7.3.0 32bit)+glog
    扫雷游戏
    最小栈实现
    快速排序算法
    c++语句(循环)
    C++ 存储类
    C++ 运算符
  • 原文地址:https://www.cnblogs.com/yaoyaojcy/p/8183817.html
Copyright © 2011-2022 走看看