您可以配置 Error Reporting,以将错误通知发送到选定的 Cloud Monitoring 通知渠道。
Error Reporting 会在以下情况下发送通知:
某个错误在 Google Cloud 项目中首次发生,并且无法将其与先前的错误分为一组。
标记为已解决的错误再次出现。
管理通知渠道
您可以在 Monitoring 中创建、修改和删除通知渠道。创建通知渠道后,您可以配置 Error Reporting 以使用它们。
Error Reporting 允许您从四种类型的通知渠道中进行选择:电子邮件、移动设备、Slack 和 Webhook。
准备工作
如需获取使用 Google Cloud 控制台查看和配置通知渠道所需的权限,请让管理员授予您项目的 Monitoring Editor (roles/monitoring.editor
) IAM 角色。
如需详细了解如何授予角色,请参阅管理访问权限。
如需详细了解 Cloud Monitoring 角色,请参阅使用 Identity and Access Management 控制访问权限。
创建通知渠道
如需使用 Google Cloud 控制台创建通知渠道,请按照下表中针对渠道的说明进行操作:
电子邮件
如需添加电子邮件通知渠道,请执行以下操作:
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 点击修改通知渠道。
- 在电子邮件部分中,点击新增。
- 输入单个电子邮件地址和说明。
- 点击保存。
如果您使用群组电子邮件地址作为提醒政策的通知渠道,请将该群组配置为接受来自 ErrorReportingNotifications-noreply@google.com
的邮件。
mobile-app
使用 Google Cloud 控制台移动应用随时随地监控 Google Cloud 控制台资源和 Monitoring 信息。Google Cloud 控制台移动应用通知会发送到特定设备或特定用户:
- 设备表示通知仅发送到创建通知渠道的特定设备。对于设备范围的通知渠道,显示名字段包含设备信息。
- “用户”表示通知会发送到安装了 Google Cloud 控制台移动应用的所有设备。
Cloud Monitoring 会在创建渠道时确定通知范围。您不能选择或更改范围。
如需为特定 Google Cloud 项目配置 Google Cloud 控制台移动应用通知渠道,请执行以下操作:
- 通过移动设备的应用商店安装 Google Cloud 控制台移动应用。
选择要在 Google Cloud 控制台移动应用中查看的项目。
选择项目后,应用与所选的 Google Cloud 项目之间会交换数据。当不存在通知渠道时,系统会创建一个通知渠道。几分钟后,该渠道会列在通知渠道页面的移动设备部分。
如需将移动设备添加为提醒政策的通知渠道,请在提醒 Notifications 部分,选择 Google Cloud 控制台(移动设备),然后从列表中选择您的移动设备。
Slack
如需设置 Slack 通知,请执行以下操作:
在 Slack 中:在 Slack 网站上创建一个 Slack 工作区和渠道。请记录渠道网址。
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
点击修改通知渠道。
在 Slack 部分中,点击新增以打开 Slack 登录页面:
- 选择您的 Slack 工作区。
- 点击允许以允许 Cloud Monitoring 访问您的 Slack 工作区。此操作会使您返回通知渠道的 Monitoring 配置页面。
- 在 Slack 频道名称字段中,输入要用于通知的 Slack 频道的名称。
- 在 Cloud Alerting Display Name 字段中,输入简短的描述性语句。Monitoring 会在通知渠道页面上显示此字段的值。
- (可选)如需测试 Cloud Monitoring 与 Slack 工作区之间的连接,请点击发送测试通知。如果连接成功,您会在指定的 Slack 通知渠道中看到消息
This is a test alert notification...
。请检查通知渠道以确认收到。
如果您要用于通知的 Slack 渠道是专用渠道,则必须手动邀请 Monitoring 应用加入该渠道:
- 打开 Slack。
转到您指定为 Monitoring 通知渠道的渠道。
通过在该渠道中输入并发送以下消息,邀请 Monitoring 应用加入该渠道:
/invite @Google Cloud Monitoring
务必邀请 Monitoring 应用加入您在 Monitoring 中创建通知渠道时指定的专用渠道。邀请 Monitoring 应用加入公共渠道是可选操作。
Webhook
如需配置网络钩子通知,请执行以下操作:
- Webhook 处理程序:确定从 Monitoring 接收 Webhook 数据的公共端点网址。
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 点击修改通知渠道。
- 在网络钩子部分中,点击新增。
- 完整填写对话框。
- 点击测试连接,将测试载荷发送到网络钩子端点。您可以转到接收端点来验证递送。
- 点击保存。
网络钩子架构
如需查看 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 控制台修改或删除通知渠道,请执行以下操作:
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
点击修改通知渠道。
通知渠道信息中心包含每种类型的通知渠道的一部分。每个部分列出了该类型的所有配置:
- 如需修改条目,请点击 edit Edit。更改完成后,点击保存。
- 如需删除条目,请点击 Delete。点击确认对话框中的删除。
通过 Google Cloud 控制台选择通知渠道
要选择现有的通知渠道,您必须具有以下角色之一:
- Error Reporting User
- Error Reporting Admin
- Project Editor
- Project Owner
如需选择在发生新的错误组时要将通知发送到何处,请完成以下步骤。
-
在 Google Cloud 控制台中,前往 Error Reporting 页面:
您也可以使用搜索栏查找此页面。
点击配置通知以打开错误通知页面。
在通知渠道下拉菜单中,选择您要向其发送通知的渠道。
选择频道后,点击保存。
更多信息
以下是在 Error Reporting 中创建和管理通知时适用的其他信息。
何时发送通知
Error Reporting 在以下两种情况下会发送通知:
- Error Reporting 从未出现过错误组。
- 当现有错误组发生错误且错误组状态设置为
Resolved
时。
如需接收该错误组的未来通知,您必须将错误组状态设置为 Resolved
。发生其他错误时,系统不会触发通知,例如使用 API 删除错误组或等待数据老化。
通知速率限制
Error Reporting 使用以下规则限制您可能由于错误而收到的通知数量:
由于某个错误,在 60 分钟内最多可以发送 5 条通知。
如果在 60 分钟内发生的错误超过 5 个,则会发生以下情况:
您将收到一条通知,告知接下来的六个小时内将忽略其他通知。
系统会写入包含警告严重级别的日志条目。
解决某个错误组后,该错误组的通知会暂停五分钟。
解决状态
如果解决状态为已解决的错误再次出现,即使之前已删除,其解决状态也会变回待解决,并且 Error Reporting 将会发送通知。
如果处于已忽略状态的错误再次出现,Error Reporting 将不会再发送通知。
如需管理错误的解决状态,请参阅管理错误。
移动设备通知
Error Reporting 会向 Android 和 iOS 版 Google Cloud 应用发送移动设备通知。如需选择启用移动通知,您必须先在移动设备上安装该应用: