欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

zabbix调用api检索方法

程序员文章站 2023-11-03 21:00:04
环境 zabbix:172.16.128.16;zabbix_web:172.16.16.16/zabbix 用户名:Admin 密码:zabbix 获取的数据仅做参考,以Linux发送HTTP的POST请求为例 a.登录并获取身份验证令牌 如果你正确提供了凭据,API返回的响应将包含用户身份验证令 ......

环境

zabbix:172.16.128.16;zabbix_web:172.16.16.16/zabbix

用户名:admin 密码:zabbix

获取的数据仅做参考,以linux发送http的post请求为例

 

a.登录并获取身份验证令牌

{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "admin",
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}
curl -h "content-type: application/json-rpc" -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"admin","password":"zabbix"},"id":1,"auth":null}' http://172.16.128.16/zabbix/api_jsonrpc.php

 

如果你正确提供了凭据,api返回的响应将包含用户身份验证令牌

{
    "jsonrpc": "2.0",  #jsonrpc - json-rpc协议的版本
    "result": "7ef823a58b59c1a17f519fe4d0e3cc44",  #result - 方法返回的数据
    "id": 1  #id - 相应请求的标识符
}

 

b.检索所有已配置主机id,主机名和接口

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "hostid",
            "host"
        ],
        "selectinterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 1,
    "auth": "7ef823a58b59c1a17f519fe4d0e3cc44"  #auth - 属性现在设置为我们通过调用user.login方法获得的身份验证令牌
}
curl -h "content-type: application/json-rpc" -d '{"jsonrpc":"2.0","method":"host.get","params":{"output":["hostid","host"],"selectinterfaces":["interfaceid","ip"]},"id":1,"auth":"7ef823a58b59c1a17f519fe4d0e3cc44"}' http://172.16.128.16/zabbix/api_jsonrpc.php

 

c.由获取到的 hostid 利用 item.get 得到 itemid 以及其 lastvalue

curl -h 'content-type: application/json-rpc' -d '{"jsonrpc": "2.0","method":"host.get","params":{"output":["hostid"],"filter": {"host":"50278791-59ab-2966-e86a-e04cd01eff6a"}},"auth": "7ef823a58b59c1a17f519fe4d0e3cc44","id":1}' http://172.16.128.16/zabbix/api_jsonrpc.php  #通过host名称,检索hostid
curl -h "content-type: application/json-rpc" -d '{"jsonrpc": "2.0","method": "item.get","params": {"output": "extend","hostids": "27789","search": {"key_": "vmware.vm.cpu.usage"},"sortfield": "name"},"id":1,"auth":"7ef823a58b59c1a17f519fe4d0e3cc44"}' http://172.16.128.16/zabbix/api_jsonrpc.php  #通过hostid,获取itemid 及其lastvalue值
curl -h "content-type: application/json-rpc" -d '{"jsonrpc": "2.0","method": "item.get","params": {"output": "extend","hostids": "27789","itemids": "1095468","sortfield": "name"},"id":1,"auth":"7ef823a58b59c1a17f519fe4d0e3cc44"}' http://172.16.128.16/zabbix/api_jsonrpc.php  #通过hostid和itemid,检索lastvalue值

 

d.获取监控项历史数据

{
    "jsonrpc": "2.0",
    "method": "history.get",
    "params": {
        "output": "extend",
        "history": 3,  #对象类型
        "itemids": "1095468",
        "sortfield": "clock",
        "sortorder": "desc",
        "limit": 10  #数据数量
    },
    "auth": "7ef823a58b59c1a17f519fe4d0e3cc44",
    "id": 1
}

zabbix调用api检索方法

curl -h "content-type: application/json-rpc" -d '{"jsonrpc": "2.0","method": "history.get","params": {"output": "extend","history": 3,"itemids": "1095468","sortfield": "clock","sortorder": "desc","limit":10},"id":1,"auth":"7ef823a58b59c1a17f519fe4d0e3cc44"}' http://172.16.128.16/zabbix/api_jsonrpc.php  #从无符号数字监控项中获取最近10条数据

zabbix调用api检索方法

 

e.检索多个itemid

curl -h "content-type: application/json-rpc" -d '{"jsonrpc":"2.0","method":"history.get","params":{"output":"extend","hostids":"1095468","itemids":["26353","26352","26357","26356","26355","26354","26359","26358","25754","25750","25751","25748","25768","25755","25752","25759","25760","25753","25761","26348","26350","26349","26351","25749","25767","25756","25757","25758","25769","25770","25771"],"sortfield":"clock","sortorder":"desc","limit": 31},"id":1,"auth":"7ef823a58b59c1a17f519fe4d0e3cc44"}' http://172.16.128.16/zabbix/api_jsonrpc.php