管理通知渠道

此页列出了受支持的通知渠道类型,并说明了如何使用 Google Cloud Console 对其进行配置。要使用 Cloud Monitoring API 配置通知渠道,请参阅管理通知渠道

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

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

创建渠道

如需配置通知渠道,您必须在工作区的宿主项目中拥有下列 Identity and Access Management 角色之一:

  • Monitoring NotificationChannel 编辑者
  • 监控修改者
  • 监控管理员
  • 项目编辑者
  • Project Owner

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

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

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

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

    转至 Monitoring

  2. 使用 Monitoring 导航窗格,确认选择了正确的工作区。

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

  4. 点击修改通知渠道

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

电子邮件

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

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

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

提醒政策会在创建突发事件以及解决突发事件时发送电子邮件通知。无法自定义此行为。不过,您可以设置电子邮件规则来过滤电子邮件通知。

mobile-app

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

如需配置移动设备以接收 Monitoring 通知,请执行以下操作:

  1. 从移动设备的应用商店中安装 Cloud Console Mobile App。
  2. 在 Cloud Console Mobile App 中:选择设置菜单以针对您的工作区配置此应用。您将可以查看 Cloud Console 资源。
  3. 移动设备部分,点击新增并按照说明操作。

几分钟后,您的移动设备就会列在该移动设备

当创建提醒政策时,请在通知部分选择 Google Cloud Console (mobile),然后从列表中选择您的移动设备。

PagerDuty

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

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

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

如果您使用双向同步,则 PagerDuty 中的突发事件状态取决于 Monitoring 中的突发事件状态。如果您解决 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. 点击允许以允许 Google Cloud Monitoring 访问您的 Slack 工作区。

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

网络钩子

如需配置网络钩子通知,请执行以下操作:

  1. 网络钩子处理程序:确定将从 Monitoring 接收网络钩子数据的端点网址。
  2. 网络钩子部分,点击新增并按照说明操作。
  3. 点击保存

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

JSON 数据包示例

用于创建事件的 JSON 数据包表单如下:

  {
    "incident": {
      "incident_id": "f2e08c333dc64cb09f75eaab355393bz",
      "resource_id": "i-4a266a2d",
      "resource_name": "webserver-85",
      "state": "open",
      "started_at": 1385085727,
      "ended_at": null,
      "policy_name": "Webserver Health",
      "condition_name": "CPU usage",
      "url": "https://console.cloud.google.com/monitoring/alerting/incidents?project=PROJECT_ID",
      "summary": "CPU for webserver-85 is above the threshold of 1% with a value of 28.5%"
    },
    "version": 1.1
  }

基本身份验证

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

令牌身份验证

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

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

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

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

发布/订阅

如需向 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 会为创建该渠道的项目创建 Monitoring 通知服务代理的服务帐号。此服务账号负责管理,向该项目中基于 Pub/Sub 的通知渠道发送通知。

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

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

    您可以在 Cloud Console 的 IAM 页面(而非服务帐号)上看到此帐号。

    要授权此帐号向主题发布内容,您必须为服务帐号授予该主题的 pubsub.publisher IAM 角色。以下命令对 notificationTopic 主题执行此操作:

    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 渠道添加到提醒政策。

按需创建渠道

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

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

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

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

修改和删除渠道

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

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

    转到 Monitoring

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

  3. 点击修改通知渠道

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

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