【问题标题】:Google Dataflow custom metrics not showing on StackdriverStackdriver 上未显示 Google Dataflow 自定义指标
【发布时间】:2018-07-09 20:58:57
【问题描述】:

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

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

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

除此之外,还有一点可能会有所帮助,那就是当我导航 https://app.google.stackdriver.com/services/dataflow 时,我收到的消息是: “您没有任何此类资源被 Stackdriver 监控。”这也很奇怪。好像我们的 Cloud Dataflow 没有正确连接到 Stackdriver,但是,另一方面。一些指标被显示并且可以被监控,例如系统延迟、水印年龄、经过的时间、元素计数等......

我错过了什么?

问候

【问题讨论】:

  • 您好 Carlos - 感谢您在此处发帖 :) 我们首先仔细检查您的 Stackdriver 帐户。你只有一个吗?您能否检查运行 Dataflow 的 GCP 项目是否是您的 Stackdriver 帐户设置下列出的 GCP 项目(通过 Stackdriver 页面上项目下拉菜单下的“帐户设置”访问)?
  • 您是否遵守custom metric naming conventions?我和你有同样的问题,这就是原因。
  • 另外,请注意,Dataflow 目前不支持 Gauge 指标。见:beam.apache.org/documentation/runners/capability-matrix/…
  • 嗨@Andrea 我已经检查过了,Stackdriver 帐户与运行数据流的 GCP 帐户相同。
  • @Robbe 我不认为我完全理解那些文档。 Metrics.counter 接收类和度量名称。例如,我正在使用我的包的一个类和“SubmittedWindows”作为名称,这些是有效的吗?

标签: google-cloud-dataflow stackdriver google-cloud-stackdriver


【解决方案1】:

自定义指标命名约定

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

相关sn-p:

您必须遵守以下指标标签拼写规则 名称:

  • 您可以在中使用大小写字母、数字、下划线 (_) 名字。
  • 名称可以以字母或数字开头。
  • 指标标签名称的最大长度为 100 个字符。

如果您使用

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

该指标在堆栈驱动程序中显示为 custom.googleapis.com/dataflow/name,因此“名称”应遵守上述规则。 Stackdriver 似乎没有使用命名空间。

附加:标签

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

'name' job_name job_id transform

所以您可以按这 4 个属性(+ 区域和项目)进行聚合。

【讨论】:

  • 谢谢!就我而言,我的名称中有一个(空白)空格
猜你喜欢
  • 2019-11-18
  • 2020-01-25
  • 1970-01-01
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 2018-05-14
  • 2014-02-23
相关资源
最近更新 更多