「Zabbix」- Web API

原创
07/16 19:44
阅读数 21
原文链接: 「Zabbix」- Web API

当有大批量数据需要导入 Zabbix 时,或者需要管理 Zabbix 服务时,可以通过 Zabbix 的 WebAPI 进行进行批量操作,而不是手动添加。

通过接口操作 Zabbix 的基本流程

Zabbix Documentation 4.4 / 19. API

第一步、测试接口是否可用(可选)

该步骤是可选的,目的是测试接口是否可用:

# curl -s --header 'Content-Type: application/json-rpc' http://zabbix.example.com/api_jsonrpc.php | jq
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32600,
    "message": "Invalid Request.",
    "data": "The received JSON is not a valid JSON-RPC Request."
  },
  "id": null
}

第二步、用户登录,以获取凭证信息

如下为请求信息:

POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc

{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}

响应信息如下:

{
    "jsonrpc": "2.0",
    "result": "0424bd59b807674191e7d77572075f33",
    "id": 1
}

第三步、使用凭证信息请求数据接口

这里我们使用主机接口作为示例,获取所有主机信息

如下为请求信息:

{
    "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
}

第四步、阅读官方文档,获取其他数据

阅读官方 Zabbix Documentation 4.4 / Method reference 以获取其他数据。

相关链接

批量导入主机

通过zabbix自带api进行主机的批量添加操作

参考文献



Backlinks: 00.INDEX

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部