【问题标题】:Stackdriver Logs-Based Metrics - need sum over alignment periodStackdriver 基于日志的指标 - 需要在对齐期间求和
【发布时间】:2019-06-18 03:26:05
【问题描述】:

我们有一些看起来像这样的堆栈驱动程序日志条目:

{
  insertId:  "xyz"  
  jsonPayload: {
    countOfApples:  100   
    // other stuff
    }
  // other stuff
}

我们希望能够设置一个基于日志的指标,告诉我们在过去 10 分钟(或任何对齐期)内看到的苹果总数,但到目前为止,我还没有找到方法尽管阅读了文档,但仍然这样做。

尝试 1:

过滤那些指定了countOfApples 的日志条目,并创建一个Counter 指标,以countOfApples 作为标签。

完成此操作后,我可以根据countOfApples 高于或低于某个值来过滤。我看不到基于此值的 聚合 方法。所有聚合选项似乎都适用于对齐期间匹配过滤器的日志条目数

尝试 2:

过滤指定countOfApples 的日志条目,并创建一个分布 指标,并将字段名称设置为jsonPayload.CountOfApples

这似乎越来越近了,因为我现在可以在指标资源管理器中看到苹果数,但我找不到 Aligner/Reducers 的正确组合来只给我这段期间的苹果总数?选择 Aligner:delta & Reducer:sum 会导致错误消息:

此聚合不会为折线图生成有效的数据类型 类型。单击此处将对准器切换到 sum 并将减速器切换到 99th 百分位数

是否可以只监控每个校准周期内所有这些值的总和?

【问题讨论】:

  • 您应该过滤以匹配“=”“countOfApples”,尽量避免“分组依据”当不过滤或分组使用时,聚合应用于度量中的所有时间序列,将它们减少到单个时间序列,由在所有时间序列中计算得出的平均值、总和或其他度量组成。此外,对于此处 [1] 表中的对齐间隔,您应该使用 1 分钟,这仅适用于多个时间序列,并且是聚合的先决条件。我将尝试重现这一点并让你知道。 [1]:cloud.google.com/monitoring/charts/metrics-selector#alignment
  • @Luke 感谢您的回复,但我不确定我是否理解您的建议。我过滤相关日志没有问题;我希望能够对间隔内所有过滤日志的 countOfApples 的总值求和。因此,如果我们在窗口中有 3 条不同的日志消息,countOfApples 分别为 1、2 和 5,我希望看到一个值为 8 的指标。
  • 标签/字段似乎是每个数据点的属性,由于您无法计算指标计数,因此无法对它们进行求和。我不确定使用 Grafana [1] 是否可以帮助您。 [1]:docs.grafana.org/features/datasources/stackdriver
  • @Stewart_R 你能提示一下stackoverflow.com/questions/56821181/…
  • 嘿.. 我们可以计算“countOfApples”的平均值并将其绘制在指标中吗?

标签: google-cloud-platform stackdriver google-cloud-stackdriver


【解决方案1】:

自 2019 年 5 月 3 日起,无法根据日志中存储的值创建计数器指标。将值放入标签只是将它们公开为字符串,这使您可以过滤但不能基于这些值执行聚合。根据documentation,计数器指标计算日志条目,而不是这些日志条目中的值。正如您所注意到的,分布指标上没有足够的可用操作来做您想做的事情。

目前,最好的办法是根据这些日志值编写自己的自定义指标。您可以通过exporting your logs to Cloud Pub/Sub 执行此操作,并编写一些代码来处理来自 Pub/Sub 和 send custom metrics 的日志。或者,您可以尝试配置Stackdriver monitoring agent 以使用tail 插件和send them as custom metrics 提取值。

如果您只需要绘制和探索这些值(而不是将它们用于警报),您可以尝试Cloud Datalab

【讨论】:

  • 我遇到了同样的问题。在过去几年中是否添加了此功能?拥有这个似乎很合乎逻辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2017-03-08
相关资源
最近更新 更多