Dataflow 的现成提醒

如需监控流式流水线的运行状况和资源消耗情况,而无需在 Cloud Monitoring 中手动配置政策,您可以在 Dataflow 中启用一键式提醒。一键式提醒提供了一套预配置的推荐提醒政策,您可以在作业启动期间启用这些政策。

借助此功能,您可以:

  • 即时了解情况 :自动跟踪关键流式指标(例如积压处理时间和 vCPU 增长),无需手动设置。
  • 标准化监控 :快速将基准提醒政策应用于新的和现有的生产工作负载。
  • 自定义提醒 :调整默认提醒阈值、停用个别政策,或向套件添加您自己的自定义提醒政策。

您可以随时在 Cloud Monitoring 中自定义这些默认政策,也可以将您自己的自定义提醒政策与一键式提醒套件集成。

前提条件

如需使用一键式提醒,您的项目必须满足以下要求:

  1. 通知渠道:您必须至少配置一个通知渠道(例如电子邮件、Slack 或 PagerDuty)。我们建议您配置重要联系人,以确保提醒能够送达正确的利益相关者。Dataflow 服务不会强制执行此要求。如需了解详情,请参阅创建和管理通知渠道

  2. 权限:Dataflow 服务账号 (P4SA) 需要特定的 IAM 权限 才能代表您创建和管理这些政策:

    • monitoring.alertPolicies.get
    • monitoring.alertPolicies.list
    • monitoring.alertPolicies.create
    • monitoring.alertPolicies.update
    • monitoring.alertPolicies.delete

    对于新项目,系统会自动添加这些权限。对于现有项目,您可能需要在 P4SA 账号上手动设置这些权限。

更新 P4SA 权限

Dataflow 服务代理(通常称为 P4SA,即 Per Product, Per Project Service Account)是在您启用 Dataflow API 时自动创建的代管式服务账号。其电子邮件地址采用以下格式:

service-PROJECT_NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com

如需更新 P4SA,您需要 resourcemanager.projects.setIamPolicy 权限或包含此权限的角色,例如 Project IAM Admin (roles/resourcemanager.projectIamAdmin)。

如需使用 Google Cloud 控制台授予所需角色,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 IAM 页面。

    转到 IAM

  2. 选择您的项目。

  3. 选中包括 Google 提供的角色授权 复选框。

  4. 在主账号列表中,找到 Dataflow 服务代理的行(service-PROJECT_NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com 或具有 Cloud Dataflow 服务代理 角色的行)。

  5. 在该行中,点击 修改主账号

  6. 修改权限 窗格中,点击 添加其他角色

  7. 选择角色 列表中,选择 Monitoring Editor (roles/monitoring.editor)。

  8. 点击保存 。权限更新可能需要几分钟才能传播完毕。

启用一键式提醒

您可以使用 gcloud CLI 将作业注册到一键式提醒。

使用 gcloud CLI 启用提醒

在提交作业期间添加以下标志之一,以启用或停用该功能:

  • --enable-turnkey-alerts
  • --no-enable-turnkey-alerts

如果您的服务帐号缺少所需的权限,CLI 会拒绝该请求并显示缺少的权限。如需了解详情,请参阅前提条件

一键式提醒设置会在作业更新期间保留。更新作业时,系统会保留之前的一键式提醒设置,因此您无需再次指定 --enable-turnkey-alerts--no-enable-turnkey-alerts 标志,除非您想更改设置。

默认政策套件

一键式提醒包含两个主要政策,专为典型的流式工作负载而设计,重点关注实时 KPI,例如处理时间和资源利用率。Google 提供的政策以 Default Policy: 为前缀进行标识,但该服务使用标签作为主要标识符。

客户会自动注册到默认政策套件中的所有政策。如果需要,您可以在 Cloud Monitoring 提醒中停用特定的默认政策。

政策名称 基本指标 默认阈值 理由
默认政策:预计积压 job/estimated_backlog_processing_time 30 分钟 估算清除当前积压所需的时间。积压超过 30 分钟表示作业难以取得进展。
默认政策:vCPU 增长政策 job/current_num_vcpus 1 小时平均 vCPU 使用量与 7 天平均 vCPU 使用量相比增加 5 倍以上 监控 vCPU 数量的相对变化,以帮助估算意外的作业费用。

政策生命周期

  • Beta 版政策 :这些政策的名称带有 BETA 前缀,并且可能会随着阈值的完善而更改或删除。
  • 正式版政策 :一旦政策被认为是稳定的,BETA 前缀就会被移除。

自定义和管理提醒

一键式提醒可作为起点。我们建议您根据自己的具体业务需求对其进行自定义。

  1. 在 Google Cloud 控制台中,前往 Cloud Monitoring > 提醒
  2. 找到政策(例如默认政策:预计积压 )。
  3. 将阈值修改为您首选的值。

创建自定义政策

您可以将任何 Cloud Monitoring 提醒政策添加到一键式提醒套件中,只需向其添加 goog-turnkey-alerts 标签即可。这样,您就可以在默认套件中管理自定义的业务特定规则。

停用或删除提醒政策

您可以使用 Monitoring 停用或删除特定的默认政策。停用政策后,Monitoring 会停止评估政策条件,并且不会创建新的突发事件,但政策配置会保留。如果您删除政策,该政策会从项目中永久移除。如需详细了解如何管理政策生命周期,请参阅管理提醒政策已停用的提醒政策

问题排查

问题 解决方法
PERMISSION_DENIED 确保 Dataflow P4SA 具有前提条件中列出的必需 monitoring.alertPolicies.* 权限。如果 P4SA 缺少这些角色,您的流水线仍会成功启动,但命令行输出和作业日志中会显示 PERMISSION_DENIED 错误,表明无法创建默认提醒。
未收到任何提醒 通过检查突发事件来确定是否满足提醒条件。您可以在 Monitoring 中查看提醒触发和突发事件时间轴(请参阅 查看突发事件和事件)。
重复政策 如果多个政策共享 goog-turnkey-alerts 标签和相同的指标配置,通常会发生这种情况。Dataflow 会检查重叠的标签和指标,而不是完全匹配的名称。检查您的政策,并从冗余配置中移除标签。