如需监控流式流水线的运行状况和资源消耗情况,而无需在 Cloud Monitoring 中手动配置政策,您可以在 Dataflow 中启用一键式提醒。一键式提醒提供了一套预配置的推荐提醒政策,您可以在作业启动期间启用这些政策。
借助此功能,您可以:
- 即时了解情况 :自动跟踪关键流式指标(例如积压处理时间和 vCPU 增长),无需手动设置。
- 标准化监控 :快速将基准提醒政策应用于新的和现有的生产工作负载。
- 自定义提醒 :调整默认提醒阈值、停用个别政策,或向套件添加您自己的自定义提醒政策。
您可以随时在 Cloud Monitoring 中自定义这些默认政策,也可以将您自己的自定义提醒政策与一键式提醒套件集成。
前提条件
如需使用一键式提醒,您的项目必须满足以下要求:
通知渠道:您必须至少配置一个通知渠道(例如电子邮件、Slack 或 PagerDuty)。我们建议您配置重要联系人,以确保提醒能够送达正确的利益相关者。Dataflow 服务不会强制执行此要求。如需了解详情,请参阅创建和管理通知渠道。
权限:Dataflow 服务账号 (P4SA) 需要特定的 IAM 权限 才能代表您创建和管理这些政策:
monitoring.alertPolicies.getmonitoring.alertPolicies.listmonitoring.alertPolicies.createmonitoring.alertPolicies.updatemonitoring.alertPolicies.delete
对于新项目,系统会自动添加这些权限。对于现有项目,您可能需要在 P4SA 账号上手动设置这些权限。
更新 P4SA 权限
Dataflow 服务代理(通常称为 P4SA,即 Per Product, Per Project Service Account)是在您启用 Dataflow API 时自动创建的代管式服务账号。其电子邮件地址采用以下格式:
service-PROJECT_NUMBER@dataflow-service-producer-prod.
如需更新 P4SA,您需要 resourcemanager.projects.setIamPolicy 权限或包含此权限的角色,例如 Project IAM Admin (roles/resourcemanager.projectIamAdmin)。
如需使用 Google Cloud 控制台授予所需角色,请按以下步骤操作:
在 Google Cloud 控制台中,前往 IAM 页面。
选择您的项目。
选中包括 Google 提供的角色授权 复选框。
在主账号列表中,找到 Dataflow 服务代理的行(
service-PROJECT_NUMBER@dataflow-service-producer-prod.或具有 Cloud Dataflow 服务代理 角色的行)。在该行中,点击 修改主账号。
在修改权限 窗格中,点击 添加其他角色。
在选择角色 列表中,选择 Monitoring Editor (
roles/monitoring.editor)。点击保存 。权限更新可能需要几分钟才能传播完毕。
启用一键式提醒
您可以使用 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前缀就会被移除。
自定义和管理提醒
一键式提醒可作为起点。我们建议您根据自己的具体业务需求对其进行自定义。
- 在 Google Cloud 控制台中,前往 Cloud Monitoring > 提醒。
- 找到政策(例如默认政策:预计积压 )。
- 将阈值修改为您首选的值。
创建自定义政策
您可以将任何 Cloud Monitoring 提醒政策添加到一键式提醒套件中,只需向其添加 goog-turnkey-alerts 标签即可。这样,您就可以在默认套件中管理自定义的业务特定规则。
停用或删除提醒政策
您可以使用 Monitoring 停用或删除特定的默认政策。停用政策后,Monitoring 会停止评估政策条件,并且不会创建新的突发事件,但政策配置会保留。如果您删除政策,该政策会从项目中永久移除。如需详细了解如何管理政策生命周期,请参阅管理提醒政策和已停用的提醒政策。
问题排查
| 问题 | 解决方法 |
|---|---|
| PERMISSION_DENIED | 确保 Dataflow P4SA 具有前提条件中列出的必需 monitoring.alertPolicies.* 权限。如果 P4SA 缺少这些角色,您的流水线仍会成功启动,但命令行输出和作业日志中会显示 PERMISSION_DENIED 错误,表明无法创建默认提醒。 |
| 未收到任何提醒 | 通过检查突发事件来确定是否满足提醒条件。您可以在 Monitoring 中查看提醒触发和突发事件时间轴(请参阅 查看突发事件和事件)。 |
| 重复政策 | 如果多个政策共享 goog-turnkey-alerts 标签和相同的指标配置,通常会发生这种情况。Dataflow 会检查重叠的标签和指标,而不是完全匹配的名称。检查您的政策,并从冗余配置中移除标签。 |