本文档介绍了如何在应用发生故障或应用性能不符合既定标准时接收通知。
提醒工作的工作原理
Cloud Monitoring 提醒过程包含三个部分:
一项提醒政策,用于描述您希望在哪些情况下收到提醒以及您希望以何种方式收到突发事件通知。提醒政策可以监控 Cloud Monitoring 存储的时间序列数据或 Cloud Logging 存储的日志。当该数据满足提醒政策条件时,Cloud Monitoring 会创建一个突发事件并发送通知。
每个突发事件都是一条记录,包含受监控的数据类型以及满足条件的时间。此信息可帮助您排查导致突发事件的问题。
通知渠道定义了当 Cloud Monitoring 创建突发事件时您接收通知的方式。例如,您可以配置通知渠道,以向
my-support-team@example.com
发送电子邮件,并向渠道#my-support-team
发布 Slack 消息。提醒政策可以包含一个或多个通知渠道。
提醒政策可以评估两种类型的数据:
时间序列数据(也称为指标数据),由 Monitoring 存储。这些类型的政策称为基于指标的提醒政策。
如需了解如何设置基于指标的提醒政策,请参阅 Compute Engine 快速入门。
Cloud Logging 存储的日志数据。这些类型的政策称为基于日志的提醒政策。基于日志的提醒政策会在日志中出现特定消息时通知您。
本文档重点介绍基于指标的提醒政策,并在相关情况下提供有关基于日志的提醒政策的一般信息。如需详细了解基于日志的提醒政策,请参阅监控日志。
提醒流程可帮助您在应用性能未达到可接受的值时对问题做出响应。例如,将 Web 应用部署到 Compute Engine 虚拟机 (VM) 实例上。虽然您预计 HTTP 响应延迟时间会发生波动,但还是希望支持团队在应用的较长时间段内延迟时间较长时做出响应。您可以创建基于指标的提醒政策来监控应用的 HTTP 响应延迟时间指标。如果响应延迟时间超过两秒,且至少持续五分钟,则 Monitoring 会创建一个突发事件,并向您的支持团队发送电子邮件通知。
如何创建提醒政策
您可以通过多种方式创建提醒政策。例如,您可以启用来自集成或 Google Cloud 控制台某些页面的建议提醒,从而使用预配置的提醒政策。您还可以使用 Google Cloud 控制台、Cloud Monitoring API、Google Cloud CLI 和 Terraform 来配置新的提醒政策。
使用集成和建议的提醒
Cloud Monitoring 提供预构建的软件包,可让您为 Google Cloud 服务和第三方集成创建提醒政策。这些软件包包含建议的提醒政策、示例信息中心和服务的关键指标。这些软件包适用于 Google Cloud 服务(例如 Google Kubernetes Engine、Compute Engine 和 Cloud SQL)以及常见的第三方集成(例如 MongoDB、Kafka 和 Elasticsearch)。
安装软件包时,您可以启用软件包的推荐提醒。启用提醒时,您需要提供通知渠道并使用提醒默认配置,或根据需要调整配置。提醒政策会立即开始监控其目标,而无需额外的用户输入。
如果您部署了新服务并希望针对重要指标发出提醒,建议的提醒政策非常有用。例如,CloudSQL 集成软件包附带推荐用于失败实例和事务缓慢的提醒:
如需详细了解如何提醒集成,请参阅监控第三方应用。
使用 Cloud Monitoring
如果您要创建提醒政策,并选择其条件类型以及其他组件(例如指标类型和时序),请使用 Cloud Monitoring。下表列出了在创建提醒政策时可以使用的不同类型的条件。
条件类型 | 说明 | 示例 |
---|---|---|
指标阈值条件 | 在特定考量时长内,指标值大于或小于阈值时,就会触发指标阈值条件。 如需了解详情,请参阅创建指标阈值提醒政策和使用 API 创建提醒政策。 |
您希望一个提醒政策,在 10 分钟内连续 5 次拨测导致资源延迟时间达到或超过 500 毫秒时发送提醒。 |
指标缺失条件 | 当受监控的时序在特定时长内没有数据时,就会触发指标缺失条件。如果您在 Google Cloud 控制台中创建条件,则最长需要 24 小时;在 Cloud Monitoring API 中创建条件则最长为 24.5 小时。 如需了解详情,请参阅创建指标缺失提醒政策和使用 API 创建提醒政策。 | 您希望制定一个提醒政策,在资源在五分钟内未响应任何 HTTP 请求时,向支持团队创建一个突发事件。 |
预测指标值条件 | 当提醒政策预测在即将到来的预测期内将违反阈值时,就会触发预测的指标值条件。预测时间范围从 1 小时到 7 天不等。 如需了解详情,请参阅创建预测的指标值提醒政策和使用 API 创建提醒政策。 |
您希望制定一个提醒政策,在资源在未来 24 小时内可能达到 80% 的磁盘空间使用量时,向支持团队创建突发事件。 |
基于日志的条件 |
当提醒政策检测到基于日志的指标与提醒政策条件匹配时,就会触发基于日志的提醒条件。基于日志的指标会从日志条目的内容派生指标数据。例如,您可以使用基于日志的指标来统计包含特定消息的日志条目的数量,或者提取日志条目中记录的延迟信息。 如需了解详情,请参阅配置基于日志的提醒和使用 Monitoring API 创建基于日志的提醒。 |
您需要一个提醒政策,以便在您的项目有至少 50 个日志条目且 message 包含 product_ids=['tier_1_support', 'tier_2_support'] 时向支持团队创建突发事件 |
提醒政策组件
每个提醒政策都包含以下组成部分:
描述一项资源或一组资源何时处于需要您响应的状态的条件。条件包括数据源、静态或动态阈值,以及回溯期、过滤条件和分组依据等数据汇总方法。您的条件可以监控单个指标、多个指标或一个指标比率。您还可以使用查询语言(例如 PromQL 和 Monitoring Query Language (MQL))来包含复杂表达式,例如动态阈值和条件逻辑。
如果您使用集成来启用建议的提醒政策,则系统会预先填充提醒政策条件。
通知渠道列表,其中说明了在需要采取措施时通知谁。如需了解详情,请参阅创建和管理通知渠道。
通知和事件页面中显示的文档。您可以配置通知的主题行,并且可以在通知正文中添加有用的信息。例如,您可以将通知配置为显示指向内部 playbook 或 Google Cloud 页面(如自定义信息中心)的链接。 如需详细了解文档(包括示例),请参阅使用用户定义的文档为提醒添加注解。
查询语言
在提醒政策中使用查询语言和过滤器可以更好地控制指标评估。Cloud Monitoring 支持以下查询类型:
通过 PromQL 提醒,您可以将提醒政策配置为使用 Prometheus 查询语言。您的 PromQL 查询可以使用任何类型的有效的 Prometheus 查询语言表达式,例如指标组合、比率和伸缩阈值。此外,PromQL 提醒还支持完全基于 Google Cloud CLI 的提醒执行,从而消除了对外部提醒基础架构的依赖。如需了解详情,请参阅 Cloud Monitoring 中的 PromQL 和使用 PromQL 的提醒政策。
Monitoring Query Language (MQL) 是一个基于文本的直观界面,可用于检索、过滤和操控时间序列数据。您可以创建包含 Monitoring Query Language 提醒操作条件的提醒政策。如需了解详情,请参阅 Monitoring Query Language 概览和使用 MQL 的提醒政策。
利用 Monitoring 过滤条件,您可以将提醒政策配置为使用基于过滤条件的指标比率。无法在 Google Cloud 控制台中查看或修改基于过滤条件的提醒政策。如需查看使用 Monitoring 过滤条件的政策示例,请参阅指标比率。
管理提醒政策和突发事件
启用提醒政策后,Cloud Monitoring 会持续监控该政策的条件。您不能将提醒政策配置为仅监控特定时间段内的条件。如果您想要在特定时间段内停用提醒政策,请创建暂停。
如果某个突发事件处于未解决状态,并且 Monitoring 确定基于指标的政策的条件不再满足,则 Monitoring 会自动关闭该事件并发送有关关闭情况的通知。
价格
一般来说,Cloud Monitoring 系统指标是免费的,来自外部系统、代理或应用的指标不是。计费指标按注入的字节数或样本数计费。
如需详细了解 Cloud Monitoring 价格,请参阅以下文档:
如需了解如何监控提取的跟踪记录 span 或日志的数量,或在日志条目中包含特定内容时收到通知,请参阅以下内容:
后续步骤
如需了解通知延迟时间以及提醒政策参数的选择对通知发送时间的影响,请参阅基于指标的提醒政策的行为。
如需查看基于指标的政策示例列表,请参阅示例提醒政策的摘要。