如何配置基于日志的指标以对日志消息中的某些值求和?

How do I configure a logs-based metric to sum some values from log messages?

我无法理解基于 GCP 日志的指标。我从云功能中记录了以下消息:

insertId: qwerty
jsonPayload:
  accountId: 60da91d2-7391-4979-ba3b-4bfb31fa7777
  message: Replay beginning. Event tally=1
  metric: stashed-events-tally
  tally: 5
labels:
  execution_id: n2iwj3335agb

我想做的是对 tally 字段中的值求和。我研究了基于日志的指标,我看到的大多数示例似乎都与计算与给定过滤器匹配的日志消息的数量有关。我需要做的是对 tally 值求和。

这是我目前的情况(我正在使用 terraform 部署基于日志的指标):

resource "google_logging_metric" "my_metric" {
    name = "mymetric"
    filter = "resource.type=cloud_function AND resource.labels.function_name=${google_cloudfunctions_function.function.name} AND jsonPayload.metric=stashed-events-tally"
    metric_descriptor {
        metric_kind  = "DELTA"
        value_type   = "DISTRIBUTION"
        display_name = "mymetric"  
    }
    value_extractor = "EXTRACT(jsonPayload.tally)"
    bucket_options {
    linear_buckets {
      num_finite_buckets = 10
      width              = 1
    }
  }
}

我是否必须做一些特定的事情来对这些值求和,或者是在使用指标的任何地方定义的(例如在监控仪表板上)?

正如我所说,我无法解决这个问题。

检测代码时,有 2 个步骤:

  • 获取指标
  • Visualize/create 指标警报

Log-based 指标只是将日志转换为指标。

然后,如果您想执行求和(当然是 window 一段时间),您必须让您的仪表板系统执行该操作,例如云监控