配置和管理通知

您可以配置 Error Reporting,以通过 Cloud Monitoring 渠道发送通知,从而在出现新错误或已解决的错误再次出现时实时提醒您的团队。

在以下情况下,Error Reporting 会触发通知:

  • 当错误事件无法与现有错误归为一组时,表示出现了新问题。
  • 当标记为已解决的错误组中发生错误事件时,表示出现回归。

准备工作

  1. 如需获得在 Error Reporting 中配置通知所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

  2. 验证您要使用的通知渠道是否存在。对于 Error Reporting,您可以使用电子邮件、移动设备、Slack 和网络钩子通知渠道。

    1. 在 Google Cloud 控制台中,前往  提醒页面:

      进入提醒

      如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

    2. 在工具栏中,选择修改通知渠道

      系统会打开通知渠道页面,其中列出了已配置的渠道。

    如果您要使用的渠道存在,则下一步是在 Error Reporting 中配置通知。否则,请创建这些渠道。如需了解如何完成不同类型通知渠道的对话框,请参阅在 Monitoring 中创建和管理通知渠道

在 Error Reporting 中配置通知

如需选择在发生新的错误组时要将通知发送到何处,请完成以下步骤:

  1. 在 Google Cloud 控制台中,前往 Error Reporting 页面:

    前往 Error Reporting

    您也可以使用搜索栏查找此页面。

  2. 点击配置通知以打开错误通知页面。

  3. 通知渠道菜单中,选择您要接收通知的渠道。

  4. 选择频道后,点击保存

在 Monitoring 中创建和管理通知渠道

您可以在 Monitoring 中创建、修改和删除通知渠道。创建通知渠道后,您可以配置 Error Reporting 以使用它们。

Error Reporting 提供四种类型的通知渠道:电子邮件、移动设备、Slack 和网络钩子。

创建通知渠道

如需使用 Google Cloud 控制台来创建通知渠道,请按照下表中包含的特定于渠道的说明操作:

邮件

如需添加电子邮件通知渠道,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或管理项目。
  3. 点击修改通知渠道
  4. 电子邮件部分中,点击新增
  5. 输入单个邮箱和说明。
  6. 点击保存

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

mobile-app

您可以使用Google Cloud 控制台移动应用随时随地监控您的 Google Cloud 控制台资源和 Monitoring 信息。 Google Cloud 控制台移动应用通知会发送给特定设备或特定用户:

 Google Cloud 控制台移动应用通知渠道列表。

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

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

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

  1. 从移动设备的应用商店中安装 Google Cloud 控制台移动应用。
  2. 选择要在 Google Cloud 控制台移动应用中查看的项目。

    选择项目后,应用与所选的 Google Cloud 项目之间会交换数据。当不存在通知渠道时,系统会创建一个通知渠道。几分钟后,该渠道会列在通知渠道页面的移动设备部分。

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

Slack

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

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

  2. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  3. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或管理项目。

  4. 点击修改通知渠道

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

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

    1. 打开 Slack。
    2. 转到您指定为 Monitoring 通知渠道的渠道。

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

      /invite @Google Cloud Monitoring

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

网络钩子

在配置网络钩子通知渠道之前,请考虑以下事项:

  • webhook 仅支持公共端点。 公共端点可通过公共互联网(例如通过 HTTP [port:80] 或 HTTPS [port:443])完全访问。通知服务必须能够与端点建立连接,对于 HTTPS,还必须验证服务器的安全证书。
  • 如果 Cloud Run functions 函数已配置为通知渠道的网络钩子端点,请确保调用该函数的用户具有所需的身份验证权限。如需了解详情,请参阅进行身份验证以便调用启用对函数的访问权限
  • 如需将通知数据从监控发送到 Microsoft Teams,您必须使用 Power Automate 或 Cloud Run functions 等中介服务。 配置服务以接收 Monitoring 网络钩子通知,将数据转换为 Teams 兼容格式,并将数据转发到相应的 Microsoft Teams 渠道。

配置 Webhook 通知渠道

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

  1. Webhook 处理程序:确定从 Monitoring 接收 Webhook 数据的公共端点网址。
  2. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  3. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或管理项目。
  4. 点击修改通知渠道
  5. 网络钩子部分中,点击新增
  6. 完整填写对话框。
  7. 点击测试连接,将测试载荷发送到网络钩子端点。您可以转到接收端点来验证递送。
  8. 点击保存

Webhook 架构

如需查看 Error Reporting 的 Webhook 架构结构,请点击以下链接:

基本身份验证

除了 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 控制台修改或删除通知渠道,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 点击修改通知渠道

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

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

通知行为和限制

以下部分介绍了 Error Reporting 中的通知内容、触发条件和速率限制。

通知内容

错误组的通知包含与相应组中日志条目相关的信息。包含的信息取决于发生错误事件的受监控资源的类型。例如,某些通知可能包含受监控的资源的名称和版本。

仅当错误组由区域为 global 的日志存储桶中的日志条目标识时,通知中才会包含描述错误事件的消息。

通知触发和解决

Error Reporting 会在以下两种情况下发送通知:

  • 当发生错误事件且不存在现有错误组时。

    如需接收有关相应错误组的未来通知,您必须将该错误组的状态设置为已解决。如果之后再次发生错误事件,那么其他操作(例如使用 API 删除错误组或等待数据过期)不会触发通知。

  • 当现有错误组发生错误事件,且该错误组的状态设置为已解决时。

    Error Reporting 会将相应错误组的状态更新为未结

如果发生错误事件且相应错误组的状态为已忽略,Error Reporting 不会发送通知。

如需管理错误组的解决状态,请参阅管理错误组

通知速率限制

Error Reporting 会使用以下规则来限制您因错误事件而可能收到的通知数量:

  • 在 60 分钟的时间范围内,每个 Google Cloud 项目最多可以发送 5 条通知。

  • 如果一个 Google Cloud 项目在 60 分钟的时间范围内收到 5 个以上的错误通知,则会发生以下情况:

    • 您会收到一条通知,告知您 Google Cloud 项目在未来 6 小时内不会再收到任何通知。

    • 写入严重级别为 WARNING 的日志条目。

  • 解决某个错误组后,系统会暂停该错误组的通知 5 分钟。

移动设备通知

Error Reporting 会将移动通知发送到 Android 和 iOS 设备上的Google Cloud 应用。如需接收移动通知,您必须先在移动设备上安装该应用:

下载 Google Cloud 应用

移动应用主页。 移动应用详情页面。

后续步骤