我很难理解基于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
}
}
}
我是否必须做一些特定的事情来将这些值加起来,或者是在使用度量的任何地方定义(例如在监视仪表板上)?
正如我所说的,我很难理解这一点。
当你测试你的代码,你有两个步骤:
- 获取指标
- 可视化/创建指标警报
基于日志的度量简单地将日志转换为度量。
然后,如果您想执行求和(当然是在一个时间窗口内),您必须要求仪表板系统执行该操作,例如使用Cloud Monitoring