感谢本文作者董玉凡,ZCS Zabbix服务器托管网 中级认证工程师。
为了满足 agent 探针、协议等无法覆盖的监控需求,我们通常会使用 zabbix_sender 去发送数据到我们的 zabbix 服务器,除了 zabbix_sender 工具之外,在 zabbix7.0 中还推出了新的方法,它就是 history.push。
history.push 是从 Zabbix7.0.0 alpha4 版本中推出的一个 API 接口,后续将在 zabbix7.0LTS 版本中正式推出,它可以将监控项的历史数据推送到 zabbix 服务器。history.push 接口参数如下:
Parameter |
Type |
Description |
itemid |
ID |
ID of the related item. Parameter behavior: –requiredif |
host |
string |
Technical name of the host. Parameter behavior: –requiredif |
key |
string |
Item key. Parameter behavior: –requiredif |
value |
mixed |
Item value. Parameter behavior: –required |
clock |
timestamp |
Time when the value was received. |
ns |
integer |
Nanoseconds when the value was received. |
今天我们使用 Zabbix 7.0.0alpha7 版本进行测试,安装包下载地址:https://cdn.zabbix.com/zabbix/sources/development/7.0/zabbix-7.0.0alpha7.tar.gz,安装过程就不再一一赘述,安装成功如下:
创建一个用于测试的监控主机
创建一个 Zabbix trapper 类型的监控项
history.push 仅支持两种监控项类型的指标,分别是 Zabbix trapper 和 HTTP agent,我们先用 Zabbix trapper 类型指标进行测试。
Allowed 服务器托管网hosts 配置项可以配置允许接收数据的主机,如果没有配置则它将允许接收所有主机发送的数据。
获取监控项的 itemid
打开 Monitoring > 搜索 test_item 监控项 > 点击 Graph
7.0 的版本中,在主机中点击监控项变成了一个窗口,没有办法在 item 的 url 获取它的 itemid,但是可以通过最新数据获取
通过调用 history.push 接口发送数据到 test_item 监控项
# vi send_zabbixapi.sh
#!/bin/bash
TOKEN=`curl --request POST
--url 'http://xx.xx.xx.xx:xx/api_jsonrpc.php' ##替换成zabbix的IP地址
--header 'Content-Type: application/json-rpc'
--data '{"jsonrpc":"2.0","method":"user.login","params":{"username": "Admin","password": "zabbix"},"id":1}'|awk -F '"' '{print $8}' ##输入对应的账号密码,账号所在的User roles一定要开启了Access to API
`
curl --request POST
--url 'http://xx.xx.xx.xx:xx/api_jsonrpc.php' ##替换成zabbix的IP地址
--header "Authorization: Bearer ${TOKEN}"
--header 'Content-Type: application/json-rpc'
--data '{"jsonrpc":"2.0","method":"history.push","params": {"itemid": 46319,"value": "1"},"id":1}' ##替换itemid为自己需要测试的itemid
查看调用结果
添加 clock 字段发送一个数据
一次发送两个数据
创建一个 HTTP agent 类型的监控项
HTTP agent 类型监控项 URL 为必填项,这个随便填一个。
勾选 Enable trapping。
创建之后以同样方式获取监控项的 itemid
测试数据发送
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
蓝牙(Bluetooth,简称BT)是一种开放的、能够短距 离无线通信技术规范。可实现短距离的无线语音和数据 通信,是目前应用最广泛的短距离无线通信技术。1998年,Ericsson、Nokia、Toshiba、IBM、Intel等一 同创立了蓝牙特别兴趣小组…