提醒概览

本文档介绍了当应用失败或性能不符合定义的标准时如何获得通知。

提醒工作的工作原理

Cloud Monitoring 提醒过程包含三个部分:

  • 提醒政策,用于描述您希望在哪些情况下收到提醒,以及如何获得有关突发事件的通知。提醒政策可以监控 Monitoring 存储的时间序列数据或 Cloud Logging 存储的日志。当这些数据符合提醒政策条件时,Monitoring 会创建一个突发事件并发送通知。

  • 每个突发事件都是一条记录,记录了所监控的数据类型以及满足条件的时间。此信息可帮助您排查导致突发事件的问题。

  • 通知渠道定义了在 Monitoring 创建突发事件时接收通知的方式。例如,您可以将通知渠道配置为向 my-support-team@example.com 发送电子邮件,并将 Slack 消息发布到渠道 #my-support-team。提醒政策可以包含一个或多个通知渠道。

提醒政策可以评估两类数据:

  • 时间序列数据(也称为指标数据),由 Monitoring 存储。这些类型的政策称为基于指标的提醒政策。

    如需了解如何设置基于指标的提醒政策,请参阅 Compute Engine 快速入门

  • Cloud Logging 存储的日志数据。这些类型的政策称为基于日志的提醒政策。基于日志的提醒政策会在您的日志中出现特定消息时通知您。

    本文档重点介绍基于指标的提醒政策,以及有关基于日志的提醒政策(如有)的一般信息。如需详细了解基于日志的提醒政策,请参阅监控日志

提醒过程可帮助您在应用性能未达到可接受的值时对问题作出响应。例如,您可以将 Web 应用部署到 Compute Engine 虚拟机 (VM) 实例上。虽然您预计 HTTP 响应延迟时间会有波动,但您希望支持团队在应用长时间延迟时间较长时作出响应。您可以创建基于指标的提醒政策,以便监控应用的 HTTP 响应延迟时间指标。如果响应延迟时间超过两秒且至少持续五分钟,则 Monitoring 会创建一个突发事件并向您的支持团队发送电子邮件通知。

如何创建提醒政策

您可以通过多种方式创建提醒政策。例如,您可以通过在集成或 Google Cloud 控制台中的某些页面启用建议的提醒,从而使用预配置的提醒政策。您还可以使用 Google Cloud 控制台、Cloud Monitoring APIGoogle Cloud CLITerraform 来配置新的提醒政策。

使用集成和推荐的提醒政策

Monitoring 提供了预构建的软件包,让您可以为 Google Cloud 服务和第三方集成创建提醒政策。其中包括服务的推荐提醒政策、示例信息中心和关键指标。这些软件包适用于 Google Cloud 服务(例如 Google Kubernetes Engine、Compute Engine 和 Cloud SQL)以及常见的第三方集成(例如 MongoDB、Kafka 和 Elasticsearch)。

安装软件包时,您可以启用软件包推荐的提醒政策。启用推荐的提醒政策时,您可以配置其通知渠道,还可以视需要修改其他值。 配置后,提醒政策会立即开始监控其目标,不需要用户进一步输入。

如果您部署了新服务并希望针对重要指标发出提醒,则建议的提醒政策非常有用。例如,Cloud SQL 集成软件包针对失败实例和缓慢的事务提供了推荐的提醒政策:

Cloud SQL 集成软件包的两种推荐提醒政策。

如需详细了解如何提醒集成,请参阅监控第三方应用

使用 Cloud Monitoring

如果要创建提醒政策并选择其条件类型以及其他组件(如指标类型和时序),请使用 Monitoring。下表列出了您在创建提醒政策时可以使用的不同类型的条件。

条件类型 说明 示例
指标阈值条件

当指标的值大于或小于特定重新测试窗口的阈值时,即满足指标阈值条件。

如需了解详情,请参阅创建指标阈值提醒政策使用 API 创建提醒政策

您希望设置一项提醒政策,即在超过 10 分钟的连续五次拨测的响应延迟时间达到 500 毫秒或以上时发送通知。
指标缺失条件

如果受监控的时序没有特定重新测试窗口的数据,则满足指标缺失条件。重新测试窗口最长为 23.5 小时。

如需了解详情,请参阅创建指标缺失提醒政策使用 API 创建提醒政策

您希望制定一个提醒政策,当资源在五分钟内没有响应任何 HTTP 请求时,您的支持团队会创建突发事件。
预测的指标值条件

如果提醒政策预测将在未来的预测时间范围内违反阈值,则满足预测的指标值条件。预测时间范围从 1 小时到 7 天不等。

如需了解详情,请参阅创建预测的指标值提醒政策使用 API 创建提醒政策

您希望制定一个提醒政策,当资源未来 24 小时内的磁盘空间用量可能达到 80% 时,向您的支持团队创建突发事件。
基于日志的条件

当提醒政策检测到基于日志的指标符合提醒政策条件时,满足基于日志的提醒政策中的条件。基于日志的指标从日志条目的内容中提取指标数据。例如,您可以使用基于日志的指标来计算包含特定消息的日志条目的数量,或提取日志条目中记录的延迟时间信息。

如需了解详情,请参阅配置基于日志的提醒政策使用 Cloud Monitoring API 创建基于日志的提醒政策

您希望设置一条提醒政策,在您的项目有至少 50 个 message 包含 product_ids=['tier_1_support', 'tier_2_support'] 的日志条目时向支持团队创建突发事件

提醒政策组成部分

每个提醒政策都包含以下组成部分:

  • 描述一个资源或一组资源何时处于需要您响应的状态的条件。条件包括数据源、静态或动态阈值,以及过滤条件和分组依据等数据汇总方法。您的条件可以监控单个指标、多个指标或指标比率。您还可以使用 PromQL 和 Monitoring Query Language (MQL) 等查询语言来添加复杂表达式,例如动态阈值和条件逻辑。

    如果您使用集成来启用推荐的提醒政策,则系统会预填充提醒政策条件。

  • 一个通知渠道列表,描述了需要执行操作时要通知的人员。如需了解详情,请参阅创建和管理通知渠道

  • 通知和事件页面中显示的文档。您可以配置通知的主题行,还可以在通知的正文中添加实用信息。例如,您可以将通知配置为显示指向内部 playbook 或 Google Cloud 页面(如自定义信息中心)的链接。如需详细了解文档(包括示例),请参阅使用用户定义的文档为突发事件添加注解

查询语言

在提醒政策中使用查询语言和过滤条件,以便更好地控制指标评估。Monitoring 支持以下查询类型:

  • Prometheus 查询语言 (PromQL) 是一种实用的查询语言,用于实时评估时序数据。您可以配置提醒政策条件,以便在其条件中包含 PromQL 查询。您的 PromQL 查询可以使用任何有效表达式,例如指标组合、比率和伸缩阈值。通过在 Google Cloud 中使用基于 PromQL 的条件配置提醒政策,您可以减少对外部提醒基础架构的依赖。如需了解详情,请参阅 Cloud Monitoring 中的 PromQL使用 PromQL 设置提醒政策

  • Monitoring Query Language (MQL) 是一个基于文本且富有表现力的界面,可用于检索、过滤和处理时间序列数据。您可以创建具有包含 Monitoring Query Language 提醒操作条件的提醒政策。如需了解详情,请参阅 Monitoring 查询语言概览使用 MQL 的提醒政策

  • 借助监控过滤条件,您可以将提醒政策配置为使用基于过滤条件的指标比率。无法在 Google Cloud 控制台中查看或修改基于过滤条件的提醒政策。如需查看使用 Monitoring 过滤条件的政策示例,请参阅指标比率

管理提醒政策和突发事件

启用提醒政策后,Monitoring 会持续监控该政策的条件。您不能将提醒政策配置为仅监控特定时间段内的条件。如果您想在某个时间段内停用提醒政策,请创建暂停

如果突发事件未解决,并且 Monitoring 确定基于指标的政策的条件已不再满足,则 Monitoring 会自动关闭突发事件并发送有关关闭的通知。

价格

一般来说,Cloud Monitoring 系统指标是免费的,来自外部系统、代理或应用的指标则不是免费指标。计费指标按注入的字节数或提取的样本数收费。

如需详细了解 Cloud Monitoring 价格,请参阅以下文档:

如需了解如何监控提取的跟踪记录 span 或日志的数量,或如何在日志条目中包含特定内容时获得通知,请参阅以下文档:

后续步骤