首页 文章

Grafana singlestat和transformNull

提问于
浏览
0

我正在使用带有Graphite数据源的Grafana 5.0.3,并且我在使用transformNull函数时遇到了Singlestat的一些问题 . 下面引用的数据源来自Spring Boot 2 Micrometer的http指标,因此我无法修改生成此数据的代码 .

我有一个图表,可以跟踪自上次服务器重启以来的HTTP 500错误 .

场景1 - 数据变为空

当我重新启动服务器并且没有发生新的HTTP 500错误时会发生这种情况:
graph with nulls

我还有一个Singlestat显示该图的当前值 . 如果我使用transformNull将空数据转换为0,则它按预期工作(sumSeries显示相同结果之前或之后的transformNull):
singlestat 1 with tranformnull

如果我省略transformNull那么我似乎得到了上次收集数据时的总和,无论当前时间值应为0:
enter image description here

场景1决议

我应该使用transformNull,因为这将解释当前数据为空 .

场景2 - 数据为非空

发生错误并且服务器仍在运行后会发生这种情况:
enter image description here

如果我的Singlestat不包含transformNull函数,那么它按预期工作 . 我想这是因为它显示了收集数据的最后时间点的数据:
enter image description here

但是,如果我包含transformNull,我会看到数据相当频繁地归零 . 我的猜测是,因为数据是从Graphite中提取的,所以Grafana有时会将图形绘制到"now",但"now"的Graphite数据不存在 . 我的Spring Boot服务器每15秒将数据推送到Graphite .
enter image description here

场景2决议

我不应该使用transformNull,因为这将确保从上次收集数据时获取数据 .

问题

如何在Singlestat中准确显示此数据?它只是我将数据从Spring Boot推送到Graphite和Grafana刷新间隔的速率的一些神奇组合?

1 回答

  • 0

    我不喜欢对我有用的东西 . 我使用transformNull来确保最新的样本具有正确的数字,然后我改变了时间范围,因此它不是实时的,而是延迟了30秒或一分钟 . 例如 . for "Last 1 hour"我将窗口从"From: now-1h, To: now"更改为"From: now-1h, To: now-30s."

    它并没有解决问题,但它是一个对我来说足够好的解决方法 .

相关问题