【问题标题】:Single-stat percentage change from initial value in graphite/grafana?石墨/grafana中初始值的单统计百分比变化?
【发布时间】:2016-03-27 09:50:47
【问题描述】:

有没有办法简单地显示所选时间段内值的变化?我感兴趣的是最后一个值与初始值相比的偏移量。在一段时间内,这些值可能会高于和低于这些值,这并不真正相关(在我的情况下是例外)。

对于 100 的初始值和 105 的最终值,我希望单个统计框显示 5%。

我感觉我遗漏了一些显而易见的东西,但找不到显示这个看似简单的任务的方法。

编辑:

我正在尝试创建一个脚本化的 Grafana 仪表板,它将自动填充我们所有不同卷的磁盘消耗增长。数据已经在 Graphite 中,但出于容量管理和财务规划(哪些项目/部门需要计费)的目的,管理人员对哪些数量超出预期参数有一个简单粗略的概览会很有帮助。

这个想法是创建一个带有颜色编码的单一统计值列表,可以轻松滚动以查找异常。磁盘使用量显然永远不会是负数,但在此视图中,时间段开始和结束之间的使用量波动将丢失。这对我们来说不是一个大问题,因为这都是共享存储,并且在一定程度上可以预期这种使用。

完美的解决方案是根据所选时间段动态更改计算。

我认为仅使用 Graphite 和 Grafana 是不可能的(至少不容易),并且已经开始寻找替代方法。为此,我们可能必须实施不同的报告系统。

编辑 2

我已尝试实施 Leonid 建议的解决方案,而且效果不错。不过,计算似乎与我的预期有些不同。

我的测试仪表板如下所示:

如果我要手动计算变化,我最终会在开始 (7,23) 和结束 (8.96) 值之间产生大约 24% 的变化。 Graphite 将其计算为 19%。这可能是差异的一个原因,可能与它是一个时间序列而不是离散值有关?

作为旁注:这个例子只有 30 天,尽管最有趣的数字是一年。我们在 Graphite 中还没有一年的数据,拥有 30 天的视图也很有趣。看来我必须实现几个具有静态时间的仪表板。

【问题讨论】:

  • 增长预期参数是什么?
  • 我们将“有机增长”定义为一年内低于 15%。处理成本将来自运营预算。通常中断的是活跃的项目,这些项目的资金来源不同,如果它们超过增长速度,他们预计会支付该成本。
  • 从我的答案中查询可以准确计算出您需要的内容。只需将timeShiftmy_metric 中的'1m' 替换为'1y'(一年),即可使用您的磁盘使用指标。
  • 明天上班后,我会根据你的建议再做一次测试。我确实尝试了一些非常相似的方法并从中进行了计算,但结果与我的手动控制计算不匹配。不过谢谢,我测试后会更新。
  • 请确保您的查询结果通过current 函数减少为单个值。检查 YourPanel->Edit->Options->BigValue->Value。必须设置为current,默认为平均值。

标签: graphite grafana


【解决方案1】:

您当然可以在某个固定期限内这样做。例如,下面的查询取当前指标值与指标一分钟前的值(即初始值)之间的绝对差,然后计算其占初始值的百分比。

asPercent(absolute(diffSeries(my_metric, timeShift(my_metric, '1m'))), timeShift(my_metric, '1m'))

我相信你不能在 Grafana 选择器中选择的时间段内这样做。

但这真的是你需要的吗?这似乎很奇怪,因为正如您所说,价值可以双向变化。也许standard deviation 会更适合你?它在 Graphite 中以stdev function 的形式提供。

【讨论】:

  • 感谢您的建议。我一直在尝试类似的事情,但仍然不是我想要的。我意识到这不是一个典型的要求,我可能应该在我最初的问题中更具体。我会更新它以解释我在这里尝试做什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
相关资源
最近更新 更多