Google Dataflow 自定义指标未显示在 Stackdriver 上

Google Dataflow custom metrics not showing on Stackdriver

我试图通过使用 Metrics.counterMetrics.gauge 测量数据流作业的一部分来更深入地了解我的数据流作业,但我在 Stackdriver 上找不到它们。

我有一个高级 Stackdriver 帐户,我可以在 Dataflow UI 的自定义计数器部分下看到这些计数器。

我可以在 Stackdriver 上看到 droppedDueToLateness 'custom' 计数器 that seems to be created via Metrics.counter as well...

除此之外,还有一些可能有用的东西,那就是当我导航 https://app.google.stackdriver.com/services/dataflow 时,我收到的消息是这样的: "You do not have any resources of this type being monitored by Stackdriver." 这也很奇怪。好像我们的 Cloud Dataflow 没有正确连接到 Stackdriver,但是,另一方面。显示并可以监控一些指标,例如系统延迟、水印年龄、运行时间、元素计数等...

我错过了什么?

此致

自定义指标命名约定

在 Dataflow 中定义自定义指标时,您必须遵守 custom metric naming conventions,否则它们将不会显示在 Stackdriver 中。

相关片段:

You must adhere to the following spelling rules for metric label names:

  • You can use upper and lower-case letters, digits, underscores (_) in the names.
  • You can start names with a letter or digit.
  • The maximum length of a metric label name is 100 characters.

如果您使用

创建指标
Metrics.counter('namespace', 'name')

指标在 stackdriver 中显示为 custom.googleapis.com/dataflow/name,因此 'name' 应遵守上述规则。 Stackdriver 似乎没有使用命名空间。

附加:标签

以这种方式定义时,似乎无法为指标添加标签。但是,指标的每个时间序列的完整描述是格式为

的字符串
'name' job_name job_id transform

因此您可以通过这 4 个属性(+ 区域和项目)进行聚合。