使用history.get API進行監控項的獲取,進行排序和limit就可以取到最新值;
1.1 如何進行API認證?
獲取認證中的result認證值,在後面的請求中使用;
curl -X POST \ http://IP:Port/zabbix/api_jsonrpc.php \ -H 'Content-Type: application/json' \-d '{ "jsonrpc": "2.0", "method": "user.login", "params": { "user": "Admin", "password": "zabbix" }, "id": 1 }'
返回結果是:
{ "jsonrpc": "2.0", "result": "f3f5xxx69e958", "id": 1 }
1.2 如何獲取某一個監控項的值?
使用的方法是history.get;其中的history表示數據類型;limit=1表示只取一條記錄,再按照時間倒排就可以取到最新值;
history取值:0-浮點,1-字符,2-日誌,3-整數(默認),4-文本;
itemids可以在zabbix界面查看到,點擊查看該監控項的圖形可以在地址欄上面看到;
auth的值就是上一步獲取的認證結果;
curl -X POST \ http://IP:Port/zabbix/api_jsonrpc.php \ -H 'Content-Type: application/json' \-d '{ "jsonrpc": "2.0", "method": "history.get", "params": { "output": "extend", "history": 3, "itemids": "30632", "sortfield": "clock", "sortorder": "DESC", "limit": 1 }, "auth": " f3f5xxx69e958", "id": 1 }'
返回結果:
{ "jsonrpc": "2.0", "result": [ { "itemid": "30632", "clock": "1603271688", "value": "812304", "ns": "882748120" } ], "id": 1 }