管理通知渠道

本页面列出了 Cloud Monitoring 提醒政策支持的通知渠道类型,并说明了如何使用 Google Cloud Console 来配置通知渠道类型。要使用 Cloud Monitoring API 配置通知渠道,请参阅管理通知渠道

如需了解提醒政策通知,请参阅以下页面:

  • 如需了解有关启动时出现问题和创建提醒之间的延迟信息,请参阅通知延迟时间
  • 如需了解为提醒政策生成的通知数量,请参阅每个事件的通知

默认情况下,提醒政策仅在创建突发事件时发送通知。如需在事件打开和关闭时都收到通知,请修改提醒政策,然后在“通知”部分选择在事件关闭时通知

创建渠道

要配置通知渠道,您必须对指标范围限定项目具有以下身份和访问权限管理角色之一:

  • Monitoring NotificationChannel Editor
  • Monitoring Editor
  • Monitoring Admin
  • Project Editor
  • Project Owner

如需详细了解这些角色,请参阅访问权限控制

创建提醒政策时,您可以选择任何已配置的通知渠道,并将其添加到政策中。您可以预配置通知渠道,也可以在创建提醒政策的过程中配置它们。如需了解详情,请参阅按需创建渠道

要使用 Cloud Console 创建通知渠道,请执行以下操作:

  1. 在 Cloud Console 中,使用项目选择器选择您的 Google Cloud 项目,然后选择 Monitoring 或点击以下按钮:

    转到 Monitoring

  2. 在 Monitoring 导航窗格中,点击提醒

  3. 点击修改通知渠道

  4. 要添加新的通知渠道,请找到渠道类型,点击新增,然后按照下表中包含的具体渠道说明进行操作:

电子邮件

如需添加电子邮件,请转到电子邮件部分,点击新增,然后按照说明操作。

您可以在创建提醒政策期间创建电子邮件渠道。有关详情,请参阅按需创建渠道

如果您使用群组电子邮件地址作为提醒政策的通知渠道,请将该群组配置为接受来自 alerting-noreply@google.com 的邮件。

mobile-app

您可以使用 Cloud Console 移动应用随时随地监控 Cloud Console 资源和 Monitoring 信息。

如需为特定 Google Cloud 项目配置 Cloud Console 移动应用通知渠道,请执行以下操作:

  1. 从移动设备的应用商店安装 Cloud Console 移动应用。
  2. 选择一个项目,以便在 Cloud Console 移动应用中查看。此操作会使应用与所选的 Google Cloud 项目之间交换数据。 当不存在通知渠道时,系统会自动创建一个通知渠道。几分钟后,该渠道会列在通知渠道页面的移动设备部分。

如需将您的移动设备添加为提醒政策的通知渠道,请在提醒通知部分中选择 Google Cloud Console(移动设备),然后从列表中选择您的移动设备。

了解哪些设备会收到通知

通知渠道页面的移动设备部分中,范围列指定通知的发送位置:

Cloud Console 移动应用通知渠道列表。

  • 设备表示通知仅发送到创建通知渠道的特定设备。对于设备范围的通知渠道,显示名字段包含设备信息。
  • 用户表示通知将发送到安装了 Cloud Console 移动应用的所有设备。

Cloud Monitoring 会在创建渠道时确定通知范围。您不能选择或更改范围。

PagerDuty

与 PagerDuty 集成可以实现使用 Monitoring 单向或双向同步。无论您的配置如何,都符合以下所有条件:

  • 如果在 Monitoring 中创建了突发事件,则会在 PagerDuty 中打开一个突发事件。
  • 您不能使用 PagerDuty 来结束 Monitoring 中的突发事件。

如果您使用单向同步并解决 PagerDuty 中的突发事件,则 PagerDuty 中的突发事件状态将与 Monitoring 中的突发事件状态分离开来。实际上,如果您解决 PagerDuty 中的突发事件,则突发事件在 PagerDuty 中将永久结束且无法重新开启。

如果您使用双向同步,则 Monitoring 会控制 PagerDuty 显示的状态。如果您解决 PagerDuty 中的突发事件且 Monitoring 开启了它,则该突发事件会在 PagerDuty 中重新开启。

如需设置 PagerDuty 通知,请执行以下操作:

  1. 在 PagerDuty 中:在 PagerDuty 网站上创建一个 PagerDuty 帐号。
  2. 按照 PagerDuty 的 Stackdriver 集成指南所述的步骤完成 PagerDuty 与 Monitoring 之间的集成。
  3. 在 Google Cloud Console 的通知渠道窗口中,添加 PagerDuty 通知渠道:
    1. PagerDuty 部分,点击新增
    2. 输入显示名。此名称应与您添加集成时提供给 PagerDuty 的名称一致。
    3. 服务密钥字段中输入 PagerDuty 生成的集成服务密钥
    4. 点击保存
  4. (可选)如果您要配置双向同步,请执行以下操作:
    1. 在 PagerDuty 中,依次选择配置服务,然后选择您在配置集成时输入的服务名称。
    2. 点击修改设置,选择创建突发事件,然后清除创建提醒和突发事件

当创建提醒政策时,请在 Notifications 部分选择 PagerDuty,然后选择您的 PagerDuty 配置。

在本文档中,Stackdriver 的屏幕截图来自旧版本,但信息是准确的。

短信

如需配置短信通知,请执行以下操作:

  1. 短信部分,点击新增并按照说明操作。
  2. 点击保存

设置提醒政策时,请选择短信通知类型,然后从列表中选择经过验证的电话号码。

Slack

在发生新事件时,Monitoring Slack 集成允许您的提醒政策向 Slack 渠道发布通知。如需设置 Slack 通知,请执行以下操作:

  1. 在 Slack 中:在 Slack 网站上创建一个 Slack 工作区和渠道。请记录渠道网址。

  2. 在 Cloud Console 中,选择 Monitoring

    转到 Monitoring

  3. 点击提醒,然后点击修改通知渠道

  4. Slack 部分中,点击新增以打开 Slack 登录页面:

    1. 选择您的 Slack 工作区。
    2. 点击允许以允许 Cloud Monitoring 访问您的 Slack 工作区。此操作会使您返回通知渠道的 Monitoring 配置页面。
    3. 输入您要用于通知的 Slack 渠道的名称。
    4. 输入 Slack 通知渠道的显示名称。
    5. (可选)如需测试 Cloud Monitoring 与 Slack 工作区之间的连接,请点击发送测试通知。如果连接成功,您会在指定的 Slack 通知渠道中看到消息 This is a test alert notification...。请检查通知渠道以确认收到。
  5. 如果您希望用于通知的 Slack 渠道是专用渠道,则必须手动邀请 Monitoring 应用加入该渠道。在 Slack 中

    1. 转到您指定为 Monitoring 通知渠道的渠道。

    2. 通过在该渠道中输入并发送以下消息,邀请 Monitoring 应用加入该渠道:

      /invite @Google Cloud Monitoring

      务必邀请 Monitoring 应用加入您在 Monitoring 中创建通知渠道时指定的专用渠道。邀请 Monitoring 应用加入公共渠道是可选操作。

    当创建提醒政策时,请在 Notifications 部分选择 Slack,然后选择您的 Slack 配置。

网络钩子

将网络钩子用于通知需要公共端点网址。如需配置网络钩子通知,请执行以下操作:

  1. Webhook 处理程序:确定从 Monitoring 接收 Webhook 数据的公共端点网址。
  2. 网络钩子部分,点击新增并按照说明操作。
  3. 点击测试连接,将测试载荷发送到网络钩子端点。您可以转到接收端点来验证递送。
  4. 点击保存

创建提醒政策时,在通知部分选择网络钩子,然后选择您的网络钩子配置。

基本身份验证

除了 Cloud Monitoring 发送的网络钩子请求之外,基本身份验证还会使用 HTTP 规范来指定用户名和密码。Cloud Monitoring 要求您的服务器返回具有正确 WWW-Authenticate 标头的 401 响应。如需了解有关基本身份验证的详情,请参阅以下内容:

令牌身份验证

令牌身份验证需要端点网址中的查询字符串参数和服务器希望在其自身和 Monitoring 之间保密的密钥。以下是包含令牌的示例网址:

https://www.myserver.com/stackdriver-hook?auth_token=1234-abcd

如果 Monitoring 将突发事件发布到端点网址,则您的服务器可以验证附加的参数。这种身份验证方法在与 SSL/TLS 结合使用以加密 HTTP 请求时最有效,可以防止窥探者学习令牌。

如需了解 Python 中的示例服务器,请参阅此示例服务器

弃用政策

载荷架构需遵守 Google Cloud Platform 服务条款第 1.4(d) 条所述的 Google Cloud 弃用政策。请注意,该架构不会控制生成的字段值的格式,这些格式可能会发生变化而不另行通知。例如,incident.summaryincident.documentation.contentincident.url 旨在包含与其字段相关的数据,但该架构并不具备可保证准确解析这些字段的限制条件。您可以将该值作为一个整体进行使用,并希望它遵守弃用政策,但请勿凭借它来解析生成的字段。

Pub/Sub

如需向 Pub/Sub 主题发送通知,请执行以下操作:

  1. 点击以下按钮为项目启用 Pub/Sub API:

    启用 Pub/Sub API

    1. 确保选择正确的 Google Cloud 项目。
    2. 如果显示启用按钮,请点击该按钮。
    3. 如果显示 API 已启用,则表示此 API 已经启用。
  2. 如果您还没有 Pub/Sub 主题,请按照创建主题中的说明,创建一个 Pub/Sub 主题。主题必须已存在,您才能将其用作通知渠道。以下命令会创建一个名为 notificationTopic 的主题。

    gcloud pubsub topics create notificationTopic
  3. 创建一个使用该主题的通知渠道。您可以使用 Monitoring API、gcloud 命令行工具或 Cloud Console。

    要使用 Cloud Console 创建通知渠道,请转到修改通知渠道窗口,然后执行以下操作:

    1. Cloud Pub/Sub 部分中,点击新增
    2. 输入渠道的显示名,输入 Pub/Sub 主题名称,然后点击添加渠道

    要使用 Monitoring API 或 gcloud 命令行工具创建通知渠道,请参阅创建渠道了解相关信息和示例。

  4. 请授权通知服务帐号,向您用作通知渠道的每个 Pub/Sub 主题发布通知。

    在您创建第一个 Pub/Sub 渠道时,Cloud Monitoring 会为创建该渠道的项目创建一个服务帐号,并向该服务帐号授予 Identity and Access Management 角色 Monitoring Notification Service Agent。借助该服务帐号,Monitoring 可向此项目中基于 Pub/Sub 的通知渠道发送通知。

    此服务帐号的 ID 采用以下结构:

    service-[PROJECT_NUMBER]@gcp-sa-monitoring-notification.iam.gserviceaccount.com

    如需查看服务帐号,请转到 IAM 页面:

    转到 IAM

    如果未显示服务帐号,请尝试执行以下操作:

    • 选择包括 Google 提供的角色授予,如以下屏幕截图所示:

      选择 **包括 Google 提供的角色授予** 选项。

    • 重新加载页面。

    如需授权此帐号向主题发布内容,您必须为服务帐号授予该主题的 pubsub.publisher IAM 角色。例如,以下命令用于为 notificationTopic 主题配置 IAM 角色:

    gcloud pubsub topics add-iam-policy-binding \
    projects/[PROJECT_NUMBER]/topics/notificationTopic --role=roles/pubsub.publisher \
    --member=serviceAccount:service-[PROJECT_NUMBER]@gcp-sa-monitoring-notification.iam.gserviceaccount.com
    

    如果命令成功,则返回如下所示的输出:

    Updated IAM policy for topic [notificationTopic].
    bindings:
    ‐ members:
      ‐ serviceAccount:service-[PROJECT_NUMBER]@gcp-sa-monitoring-notification.iam.gserviceaccount.com
      role: roles/pubsub.publisher
    etag: BwWcDOIw1Pc=
    version: 1
    

    如需了解详情,请参阅pubsub topics add-iam-policy-binding参考页面

    项目编号与项目 ID 不同。项目 ID 通常是反映项目名称的字符串,例如 my-test-project。项目编号是唯一的数字标识符。 您可以在 Cloud Console 中找到项目着陆页上的项目名称、ID 和编号,也可以使用以下命令进行检索:

    gcloud projects describe [PROJECT_ID] --format="value(project_number)"
    
  5. 通过选择 Pub/Sub 作为渠道类型并选择已命名的主题作为通知渠道,将 Pub/Sub 渠道添加到提醒政策。

    架构示例

    如需查看示例 JSON 数据包和架构,请展开以下部分。

    弃用政策

    载荷架构需遵守 Google Cloud Platform 服务条款第 1.4(d) 条所述的 Google Cloud 弃用政策。请注意,该架构不会控制生成的字段值的格式,这些格式可能会发生变化而不另行通知。例如,incident.summaryincident.documentation.contentincident.url 旨在包含与其字段相关的数据,但该架构并不具备可保证准确解析这些字段的限制条件。您可以将该值作为一个整体进行使用,并希望它遵守弃用政策,但请勿凭借它来解析生成的字段。

按需创建渠道

将通知渠道添加到提醒政策时,必须从列表中选择一个渠道。如果列表不包含您要使用的通知渠道,则您可以通过以下过程更新已配置的通知渠道:

  1. 在通知对话框中,点击管理通知渠道。系统会将您转到新的浏览器标签页中的通知渠道窗口。
  2. 要添加新的通知渠道,请找到渠道类型,点击新增,然后按照上表中包含的具体渠道说明进行操作:
  3. 返回到原始标签页,然后在通知对话框中点击 刷新

    显示“刷新”和“管理渠道”按钮的通知对话框。

  4. 从更新后的列表中选择通知渠道。

修改和删除渠道

要使用 Cloud Console 修改或删除通知渠道,请执行以下操作:

  1. 在 Cloud Console 中,选择 Monitoring,或点击以下按钮:

    转到 Monitoring

  2. 在 Monitoring 导航窗格中,点击提醒

  3. 点击修改通知渠道

    通知渠道信息中心包含每种类型的通知渠道的一部分。每个部分列出了该类型的所有配置:

    • 如需修改条目,请点击 修改。更改完成后,点击保存
    • 如需删除条目,请点击 删除。点击确认对话框中的删除