【问题标题】:Plot event values in Graphite在 Graphite 中绘制事件值
【发布时间】:2016-11-28 15:17:47
【问题描述】:

我们想使用 Graphite 绘制与事件相关的值,例如“一包 N 消息已发布”。当没有发布数据包时,根本不会运行任何代码,因此我们无法向 Graphite 发送零。

本质上,我们想计算某种每秒的发布率。

以下是我们发送到 Graphite 的一些示例数据(添加了时间戳):

2016-11-28 14:46:33.6338Z   api.message.publication.count:100
2016-11-28 15:01:36.0780Z   api.message.publication.count:12
2016-11-28 15:01:36.9911Z   api.message.publication.count:1
2016-11-28 15:01:37.0679Z   api.message.publication.count:100

在 14:46:33 和 15:01:36 之间,没有发送任何消息。但是,在 15:01:36 和 15:01:37 之间,发送了 13 条消息(报告为两个值,12 和 1)。

我尝试了summarize() 函数,但它没有给出对我有意义的结果,即我无法将我发送给 Graphite 的内容与 Graphite 显示的内容关联起来。此外,summarize() 似乎不支持 1 秒的间隔(我尝试过 "1second" 和 "1s" 作为间隔参数)。

perSecond() 函数计算变化率(即导数),但我们发送的已经是一种导数(也许它更接近狄拉克三角洲?)所以它在我们的上下文中没有意义.

我们是完全关闭了,还是有办法使用 Graphite 来完成这项工作?


编辑:我想我们需要为我们的数据添加一个聚合阶段。 Carbon 聚合是否适合这里的账单?

【问题讨论】:

    标签: monitoring graphite


    【解决方案1】:

    事实证明,我们已经将指标发送到 statsd,它支持通过 c 指标类型进行聚合,以及其他一些漂亮的东西:https://github.com/etsy/statsd/blob/master/docs/metric_types.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-12
      • 2018-02-19
      • 1970-01-01
      • 2020-02-02
      • 2015-04-03
      • 2015-06-05
      • 2012-04-03
      • 1970-01-01
      相关资源
      最近更新 更多