首页 > 解决方案 > 如何导出带有null的zabbix历史数据?

问题描述

我想使用 zibbix 数据和我的图表库来绘制图表,但是我遇到了一些问题。Zabbix history get API 在监控目标关闭时不提供任何数据。例如,我想使用这些数据来绘制我的图表。

data [null, 2, null, null, 5, 6]
time [t1, t2, t3, t4, t5]

但是 zabbix API 返回的数据是这样的:

data [2, 5, 6]
time [t2, t4, t5]

我不知道如何将 zabbix 返回的数据更改为图表数据或如何以我想要的格式从 zabbix 获取数据。

我怎样才能做到这一点?

标签: zabbix

解决方案


这是 Zabbix API 的正确行为。

您必须决定如何处理应用程序中的“空白”。最简单(也是正确的)方法是忽略缺失值并绘制现有值,就像 Grafana 一样。

为了实现您的目标,您可以执行以下操作:

  • 先查询项目(item.get)并获取interval
  • 查询历史(history.get
  • 用作参考,在历史记录中interval搜索“空白”并将其替换为您想要的任何内容:零或特定对象以绘制一个大红色间隔,上面写着“缺少数据”

这实际上很难看 :) 当然,它仅适用于具有简单间隔值的项目:如果您有自定义间隔,则还需要检查它们。


推荐阅读