阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

通过Zabbix API获取历史监控数据

168次阅读
没有评论

共计 3651 个字符,预计需要花费 10 分钟才能阅读完成。

Zabbix API 可以通过 JSON RPC 协议来获取历史数据。
可以采用脚本或者任何支持 JSON RPC 的工具来使用 API。

基本请求格式
Zabbix API 简化的 JSON 请求如下:
{
  “jsonrpc”: “2.0”,
  “method”: “method.name”,
  “params”: {
      “param_1_name”: “param_1_value”,
      “param_2_name”: “param_2_value”
  },
  “id”: 1,
  “auth”: “a826fca79a0795ccc1224dc76329972f”,
}
下面一行一行来看:
● “jsonrpc”: “2.0”- 这是标准的 JSON RPC 参数以标示协议版本。所有的请求都会保持不变。
● “method”: “method.name”- 这个参数定义了真实执行的操作。例如:host.create、item.update,history.get 等等
● “params”- 这里通过传递 JSON 对象来作为特定方法的参数。如果你希望创建监控项,”name” 和 ”key_” 参数是需要的,每个方法需要的参数在 Zabbix API 文档中都有描述。
● “id”: 1- 这个字段用于绑定 JSON 请求和响应。响应会跟请求有相同的 ”id”。在一次性发送多个请求时很有用,这些也不需要唯一或者连续
● “auth”: “a826fca79a0795ccc1224dc76329972f”- 这是一个认证令牌【authentication token】用以鉴别用户、访问 API。这也是使用 API 进行相关操作的前提 - 获取认证 ID。

实例:获取 192.168.211.60 从 2014.2.19 14:00:00 到 2014.2.19 14:10:00 的 cpu idle 值
基于 curl 命令:
(1):认证并且取得加密字段
curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”:
“2.0”,”method”:”user.login”,”params”:{“user”:”xxxx”,”password”:”xxxx”},”auth”:
null,”id”:0}’ http://x.x.x.x/api_jsonrpc.php
# 之后会得到一串输出:{“jsonrpc”:”2.0″,”result”:”a826fca79a0795ccc1224dc76329972f”,”id”:0}。记住这段输出。
(2)获取监控主机的 hostids
curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”: “2.0”,”method”:”host.get”,”params”:{“output”:[“hostid”],”filter”: {“host”:”192.168.211.60″}},”auth”: “a826fca79a0795ccc1224dc76329972f”,”id”: 0}’ http://x.x.x.x/api_jsonrpc.php
#”hostid”:”10243″
(3)获得监控项 itemids
curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”: “2.0”,”method”:”item.get”,”params”:{“output”:”itemids”,”hostids”:”10243″,”search”:{“key_”:”system.cpu.util
[,idle,avg1]”}},”auth”: “a826fca79a0795ccc1224dc76329972f”,”id”: 0}’ http://x.x.x.x/api_jsonrpc.php
#“item”:”24526″
(4) 获取监控项 ”system.cpu.util[,idle,avg1]” 在 2014.2.19 14:00~14:20 的值
curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”: “2.0”,”method”:”history.get”,”params”:{“history”:0,”itemids”:[“24526″],”time_from”:”1392789600″,”time_till”:”1392790200″,”output”:”extend”},”auth”: “a826fca79a0795ccc1224dc76329972f”,”id”: 0}’ http://x.x.x.x/api_jsonrpc.php
# 输出:
[{“itemid”:”24526″,”clock”:”1392789646″,”value”:”95.7539″,”ns”:”138978589″},
{“itemid”:”24526″,”clock”:”1392789706″,”value”:”84.9595″,”ns”:”578198422″},
{“itemid”:”24526″,”clock”:”1392789766″,”value”:”94.5259″,”ns”:”186216653″},
{“itemid”:”24526″,”clock”:”1392789826″,”value”:”96.2286″,”ns”:”789434167″},
{“itemid”:”24526″,”clock”:”1392789886″,”value”:”94.7712″,”ns”:”191954191″},
{“itemid”:”24526″,”clock”:”1392789946″,”value”:”90.8338″,”ns”:”781241168″},
{“itemid”:”24526″,”clock”:”1392790006″,”value”:”89.1735″,”ns”:”294674458″},
{“itemid”:”24526″,”clock”:”1392790066″,”value”:”92.3015″,”ns”:”877714419″},
{“itemid”:”24526″,”clock”:”1392790126″,”value”:”96.3051″,”ns”:”426421789″},
{“itemid”:”24526″,”clock”:”1392790186″,”value”:”97.7931″,”ns”:”174500891″}]
#“value”就是 cpu idle 值,采样间隔时间与监控项的数据更新时间一致。
补充:获取 192.168.211.60 监控项 ”system.cpu.util[,idle,avg1]” 在 2014 年 2 月 19 日 下午 2:02:46 的值
 curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”: “2.0”,”method”:”history.get”,”params”:{“history”:0,”itemids”:[“24526″],”time_from”:”1392789600″,”time_till”:”1392790200″,”output”:”extend”,”filter”:{“clock”:”1392789766″}},”auth”: “a826fca79a0795ccc1224dc76329972f”,”id”: 0}’ http://x.x.x.x/api_jsonrpc.php
#”value”:”94.5259″ 要获取的值

参考:
Zabbix API 官方文档:https://www.zabbix.com/documentation/2.2/manual/api

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

相关阅读:

安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm

《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm

CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计3651字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中