首页 > 解决方案 > Go SDK 中的数据流自定义指标不会出现在监控中

问题描述

我们正在尝试从我们的数据流中公开一些指标,我们希望它们可以在 gcloud Metrics 中使用,但它们仅作为jsonPayload.message(一大块文本)的一部分完全出现在 gcloud Logging 中。

例如:

beam.NewDistribution("my_dataflow_name", "processingCount")
beam.NewCounter("my_dataflow_name", "total")

会出现在jsonPayload.message(有很多其他的东西):

"RESP: instruction_id: "-3425"
process_bundle_progress: <
  metrics: <
    ptransforms: <
      key: ""
      value: <
        user: <
          metric_name: <
            namespace: "my_dataflow_name"
            name: "processingCount"
          >
          distribution_data: <
            count: 1053
            sum: 567
            max: 2
          >
        >
         user: <
          metric_name: <
            namespace: "my_dataflow_name"
            name: "total"
          >
          distribution_data: <
            count: 1053
            sum: 155992
            min: 1
            max: 644
          >
        >
        ...

我们错过了什么吗?

Google Cloud 中的每个数据流文档:

您在 Apache Beam 管道中定义的任何指标都会由 Dataflow 作为自定义指标报告给 Monitoring。... Dataflow 大约每 30 秒向 Monitoring 报告增量更新。所有用户指标都导出为双精度数据类型以避免冲突。Dataflow 中的自定义指标在 Monitoring 中显示为 custom.googleapis.com/dataflow/metric-name,每个项目限制为 500 个指标。

标签: google-cloud-dataflowapache-beam

解决方案


推荐阅读