【问题标题】:Grafana renders data incorrectly for the last minuteGrafana 在最后一分钟错误地呈现数据
【发布时间】:2015-01-19 09:13:36
【问题描述】:

我是一名 NOC 操作员,负责监控亚马逊云应用程序的性能。 Ops 团队使用 Graphite 来监控其运行状况,并在其上使用 Grafana 来渲染精美的图表。通过设计“石墨”每分钟收集一次数据 但是我遇到了 Grafana 的问题,它在最后一分钟呈现不正确的数据(或未完全收集,请参见下面的屏幕截图)。 我可以解决它吗?

http://i.stack.imgur.com/1xXCK.png

【问题讨论】:

  • 这些图表是基于多个指标的累积还是其他公式?也许只有一些涉及的指标是 up2date 的,所以你得到的值低于预期......或者它是一个缓存的东西 - Graphite 在内存中大量缓存,但理论上应该可以随时提供 up2date 指标......
  • 是的,这些图表汇总了来自许多 VM(数千个)的数据,因此您很可能是对的。有没有办法排除最后一分钟的数据?
  • 要解决您的问题,您可以使用timeShift(your.metric,"1min") 及时返回 your.metric。
  • @cmur2,我刚刚在文档中读到了该功能,但没有专心,对此感到抱歉。似乎它不适用于 GroupByNode,这不起作用:timeShift(groupByNode(agg.*.*.*.*.somedata.*.*.count,2,'sumSeries'),"2min")
  • 你在使用 statsd 吗?如果是这样,您可能错误地配置了保留率,请参阅github.com/etsy/statsd/blob/master/docs/graphite.md

标签: graphite grafana


【解决方案1】:

我假设您正在对来自不同来源的多个系列进行 sumSeries() (或类似的)。当源尚未全部交付数据时,最后一个数据点的总和将太低,因为缺少一些数据。

要美观地修复它并提供近期的预测,您可以使用keepLastValue 函数。在计算查询时,它会重新使用以前的值来处理多达limit 缺失的数据点。这当然是不准确的,但由于它不是持久的,所以一旦到达,就会用实际数据替换不准确的数据。

以较低的限制使用它,并确保监控石墨设置的整体延迟,以便在出现问题时注意到(否则,keepLastValue 可以轻松隐藏监控问题)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    • 2011-12-26
    • 2019-03-31
    • 1970-01-01
    相关资源
    最近更新 更多