zabbix - 如何导出带有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 API 的正确行为。
您必须决定如何处理应用程序中的“空白”。最简单(也是正确的)方法是忽略缺失值并绘制现有值,就像 Grafana 一样。
为了实现您的目标,您可以执行以下操作:
- 先查询项目(
item.get
)并获取interval
值 - 查询历史(
history.get
) - 用作参考,在历史记录中
interval
搜索“空白”并将其替换为您想要的任何内容:零或特定对象以绘制一个大红色间隔,上面写着“缺少数据”
这实际上很难看 :) 当然,它仅适用于具有简单间隔值的项目:如果您有自定义间隔,则还需要检查它们。
推荐阅读
- javascript - Laravel 7 + Vue - 未定义 api - 无法在 vue 中显示任务发布
- excel - 根据介于两个日期之间的日期查找数据
- python - TypeError:“方法”对象不可下标(flask,sql)
- javascript - expressjs 显示帖子数据返回一个空对象
- python - 如何根据选择抓取具有不同值的网站表
- php - 如何解决 laravel 8 UI 分页问题?
- swift - 使用未解析的标识符“self”(CoreData)
- azure - Azure 数据工厂 V2 探索管道依赖项
- javascript - 图像的 CSS 绝对定位
- sql - 在 SQL Server 2017 中使用 STRING_AGG 获取唯一值