Zabbix7.0新功能,还可以这样推送数据!不止zabbix_sender

原创
01/24 08:00
阅读数 45

感谢本文作者董玉凡,ZCS Zabbix中级认证工程师。

有奖投稿先赚它几千元再说!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: - required if host and key are not set
host string Technical name of the host.  Parameter behavior: - required if itemid is not set
key string Item key.  Parameter behavior: - required if itemid is not set
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

测试数据发送


Zabbix7.0将于2024年第一季度正式发布,点击查看路线图,非常期待。

今年我们将去到更多城市去大家交流分享,

欢迎扫码报名,并告知您想了解的主题。

延伸阅读

10分钟教会你使用Zabbix API出报表(附代码)

学习不能停!有机会获得免费Zabbix认证培训名额

合作共赢,成为Zabbix合作伙伴的4大理由!伙伴招募中


本文分享自微信公众号 - Zabbix开源社区(china_zabbix)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部