![如何让 Zabbix 根据单个请求的结果填充多个计数器?](https://linux22.com/image/729630/%E5%A6%82%E4%BD%95%E8%AE%A9%20Zabbix%20%E6%A0%B9%E6%8D%AE%E5%8D%95%E4%B8%AA%E8%AF%B7%E6%B1%82%E7%9A%84%E7%BB%93%E6%9E%9C%E5%A1%AB%E5%85%85%E5%A4%9A%E4%B8%AA%E8%AE%A1%E6%95%B0%E5%99%A8%EF%BC%9F.png)
我有一台 Zabbix 3.4 服务器和一个 Nutanix CE 软件集群,它们还恰好拥有一个非常丰富的 REST API,不仅提供状态或库存,还通过单个请求提供性能。我想让 Zabbix 在单独的计数器/实体/元素中跟踪这些数据,无论它们是什么,可能与它们在逻辑上相关的实体(例如磁盘的已用空间与磁盘)有关。数据采用 JSON 格式,相关实体表示为具有属性的对象。有没有办法让 Zabbix 像这样将 JSON 聚合到其数据库中?
答案1
记录:所需功能称为“依赖项”,您为其提供类型为 text/json 的主项,该主项应以某种方式保存 JSON REST API 响应(在 3.4 中它只是脚本,在 4.0 中他们添加了可以保存完整 JSON 响应的“HTTP 代理”项类型),然后您为其提供一系列预处理步骤,从“JSON 路径”预处理类型开始,将上一步的值(对于第一步,主项的值)解释为 JSON 结构,然后遍历该结构路径并检索该键的值(如果存在)。将这些项目中的几个添加到一个主项目中可以解决请求的任务。