监控日志

本文档介绍了如何使用 Cloud Monitoring 观察日志中的趋势,并在出现描述的条件时通知您。为了向 Cloud Monitoring 提供日志中的数据,Logging 支持以下功能:

  • 您可以根据日志条目生成自定义指标。这些指标分别是 称为基于日志的指标您还可以创建基于指标的提醒 政策,在基于日志的指标满足条件时通知您。 如需了解详情,请参阅使用基于日志的指标可视化日志条目数据

  • 您可以使用提醒政策近乎实时地监控某条消息 。这些提醒政策称为 基于日志的提醒政策。如需了解详情,请参阅监控消息的各个日志条目

  • 您可以在 Log Analytics 中编写一个 SQL 查询,并创建一项提醒政策, 监控查询结果。这些提醒政策称为基于 SQL 的提醒政策。如需了解详情,请参阅监控 SQL 查询结果

    基于 SQL 的提醒政策目前为公开预览版。

本文档的其余部分将介绍这三种工具之间的区别, 并提供有关授权、费用和 限制。

使用基于日志的指标直观呈现日志条目数据

如果要在一段时间内监控日志中的周期性事件,请使用基于日志的指标。基于日志的指标通过日志生成数值数据。如果要执行以下任一操作,则可使用基于日志的指标:

  • 计算日志中消息的出现次数(例如警告或错误),并在出现次数超过阈值时接收通知。
  • 观察数据中的趋势(例如日志中的延迟值),并在这些值以不可接受的方式更改时接收通知。
  • 创建图表以显示从日志中提取的数字数据。

由于基于日志的指标通过日志生成数字数据,因此您可以在提醒政策中使用这些指标,并在图表中显示这些指标。了解有关为基于日志的提醒政策和图表创建的信息 请参阅为基于日志的指标配置通知

Cloud Monitoring 提供一组预定义的基于日志的指标,您可以定义自己的指标。如需查看系统定义的基于日志的指标的列表,请点击以下 按钮:

用户定义的基于日志的指标

您可以创建基于日志的指标,以从日志中提取数字数据。用户定义的基于日志的指标可通过包含的日志和排除的日志计算值。

默认情况下,用户定义的基于日志的指标会从 Google Cloud 项目中的日志路由器收到的所有日志收集数据,但您也可以定义基于日志的指标,从路由到特定日志存储分区中日志收集数据。

如果您定义自己的基于日志的指标,可能会产生费用。如需详细了解与 指标注入,请参阅收费指标

监控消息的各个日志条目

如果您希望在日志条目中出现特定消息时收到通知, 使用基于日志的提醒政策。基于日志的提醒政策 有助于捕获日志条目中的安全相关事件, 如下所示:

  • 如果您希望事件出现在审核日志中时收到通知;例如,自然人用户访问服务账号的安全密钥。
  • 您的应用将部署消息写入日志,并且您希望在记录部署更改时收到通知。

基于日志的提醒政策非常适合您认为极少见和重要的事件。您不想要了解趋势或模式,而是想知道发生了什么情况。

如需了解如何创建基于日志的提醒政策,请参阅 配置基于日志的提醒政策

您可以配置基于指标的提醒政策,以模拟基于日志的提醒政策 提醒政策。为此,请定义一个基于日志的指标,然后使用该指标 阈值为 1 的基于指标的提醒政策。 基于日志的提醒政策为您提供了这种行为,而无需创建基于日志的指标指标并配置基于指标的提醒政策。

监控 SQL 查询结果

您可以配置使用 Log Analytics 来运行 SQL 的提醒政策 针对日志条目数据的查询。如果您希望根据基于日志的提醒政策无法评估的模式(例如日志条目中的复杂模式或日志数据的汇总)收到通知,则这类提醒政策非常有效。如需了解详情,请参阅 使用提醒政策监控 SQL 查询结果

提醒选项比较

本部分对基于日志的指标构建的提醒政策、基于日志的提醒政策和基于 SQL 的提醒政策进行了比较。

摘要表

下表总结了提醒方法,并提供了其他信息的链接:

基于指标的提醒政策 基于日志的提醒政策 基于 SQL 的提醒政策 更多信息
基于源自日志条目的指标 基于单个日志条目中的字符串 基于对日志条目执行的 SQL 查询返回的表 基于日志的指标
基于日志的提醒
基于 SQL 的提醒
用于通知您一段时间内的趋势 用于在日志中显示特定消息时通知您 用于通知您日志条目窗口中的模式 基于日志的指标
基于日志的提醒
基于 SQL 的提醒
计算依据:
  • 包含的日志(系统定义的基于日志的指标)
  • 包含的日志和排除的日志(用户定义的基于日志的指标)
仅匹配包含的日志 根据滑动窗口中的日志条目计算得出 可用日志
基于 SQL 的提醒
处理范围限定项目的指标范围内的所有项目的指标 仅处理范围限定的项目中的日志 对任何 Google Cloud 项目中的所有可读日志执行操作。 跨多个项目的提醒
当指标的值在指定时间段内满足条件时,系统会创建突发事件 每当特定日志条目与 过滤条件 查询查询结果表时,会创建突发事件 符合条件 突发事件和通知
在 Monitoring 中创建和管理 在 Logging 中创建;
在 Monitoring 中管理
在 Log Analytics 中创建;在 Monitoring 中管理 创建和管理提醒政策
基于 SQL 的提醒
在 Monitoring 中查看 在 Monitoring 中查看 在 Monitoring 中查看 查看提醒政策
可以使用 Monitoring 支持的任何通知渠道 可以使用 Monitoring 支持的任何通知渠道 可以使用 Monitoring 支持的任何通知渠道 通知渠道

可用日志

用户定义的基于日志的指标是根据收到的所有日志计算得出的 (无论 Logging API 级别为何), 包含过滤器排除过滤器可能适用于 Google Cloud 项目。如果您根据用户定义的基于日志的指标创建提醒政策,则该政策会监控所有日志中的数据。

系统定义的基于日志的指标仅根据日志计算得出 已存储在存储分区中的 Google Cloud 项目。如果日志已被明确 已排除,则不包含在这些指标中。 如果您根据系统定义的基于日志的指标创建提醒政策,则该政策仅监控包含的日志中的数据。

基于日志的提醒政策仅对包含在 项目。您无法使用基于日志的提醒政策来通知您排除日志中的消息,或来自其他资源(例如文件夹或组织)的日志中的消息。

基于日志的指标和基于日志的提醒政策均运行于 Google Cloud 项目范围,而非单个存储分区。

基于 SQL 的提醒政策会查询日志存储桶中的日志视图。您必须升级这些日志存储桶才能使用 Log Analytics,然后将其关联到 BigQuery 数据集。如需详细了解基于 SQL 的提醒政策,请参阅使用提醒政策监控 SQL 查询结果

跨多个项目的提醒

您可以通过配置指标范围来监控多个项目的指标。指标范围列出了其监控的所有项目和账号。范围限定的项目托管指标范围。范围界定项目会存储您为指标范围创建的提醒政策和其他配置。指标范围的范围界定项目是由 Google Cloud 控制台项目选择器选择的项目。

基于基于日志的指标的提醒政策(如基于其他指标的提醒政策)适用于范围划定项目的指标范围内的所有项目。

基于日志的提醒政策和基于 SQL 的提醒政策 不在指标范围上运行;登录 项目不属于指标范围。基于日志的提醒政策仅评估源自当前项目或路由到当前项目的日志。基于 SQL 的提醒政策会查询日志分桶中的日志视图。

如需详细了解指标范围(包括多项目指标范围)以及范围限定的项目,请参阅以下内容:

只要已向关联的 BigQuery 数据集授予适当的 read 权限,基于 SQL 的提醒政策便可从任何 Google Cloud 项目中的任何日志存储桶查询日志视图。

突发事件和通知

当满足提醒政策的条件时,Monitoring 会打开突发事件,并向提醒政策的通知渠道发送通知。如需查看突发事件的详细信息,请点击通知消息中的查看突发事件,或直接导航到 Monitoring 中的突发事件页面。

基于指标的提醒政策的突发事件

提醒行为中所述,基于基于日志的指标的提醒政策会创建类似 Monitoring 中所有其他指标式提醒政策的突发事件和通知。如需详细了解如何管理基于指标的提醒政策的突发事件,请参阅基于指标的提醒政策的突发事件

基于日志的提醒政策的突发事件

基于日志的提醒政策不是基于指标的提醒政策。 当日志条目满足基于日志的提醒政策的条件时, Monitoring 创建突发事件和通知的方式如下:

  • Cloud Logging 首次将与提醒查询匹配的日志条目写入日志分桶时,系统会创建一个突发事件并发送通知。如果随后写入了另一个匹配的日志条目,则仅当上一个突发事件已关闭时,才会创建新突发事件。但是,已关闭的突发事件最多可能需要三分钟才能被完全清除。如果在关闭突发事件后的三分钟内收到匹配日志条目,系统可能会重新打开该突发事件,而不是创建新突发事件。

  • 创建基于日志的提醒政策时,您可以指定通知之间的最短时间间隔。例如,您选择 10 分钟作为通知间隔时间。如果您的车况 基于日志的提醒政策在此期间内满足两次, 那么您只会收到一条通知

    基于日志的提醒政策的通知速率上限为每项基于日志的提醒政策每 5 分钟 1 条通知。不过,如果基于日志的提醒政策的查询会提取标签值,则提取的每个值组合都代表自己的通知时间轴。例如,假设基于日志的提醒政策会提取标签的值。假设 label 可以有两个值。采用此配置后,您可能会在 5 分钟内收到两个通知,每个标签值对应一条通知。

  • 每个基于日志的提醒政策每天最多只能发送 20 条通知。如果您达到此限制,则通知中将包含一条消息,提示您已达到此上限。

  • 除非您配置较短的时段或手动关闭突发事件,否则突发事件将在 7 天后自动关闭。

如需详细了解如何管理基于日志的提醒政策的突发事件,请参阅管理基于日志的提醒政策的突发事件

基于 SQL 的提醒政策的突发事件

对于基于 SQL 的提醒政策,Cloud Monitoring 会在 SQL 查询的结果首次满足政策中指定的条件时创建突发事件。每项提醒政策只能有一个未解决突发事件。在突发事件处于未解决状态时,如果再次满足该条件,Monitoring 不会再创建突发事件或发送其他通知。监控会在以下时间后关闭基于 SQL 的突发事件 7 天,除非您将突发事件关闭期缩短或结束 引发事件

如需详细了解如何管理基于 SQL 的提醒政策的突发事件,请参阅管理基于 SQL 的提醒政策的突发事件

创建和管理提醒政策

您可以根据 Cloud Monitoring 中基于日志的指标创建、修改和删除提醒政策,像任何其他基于指标的提醒政策一样。如需了解详情,请参阅管理政策

您可以使用日志浏览器或 Cloud Monitoring API 创建基于日志的提醒政策。您可以在 Monitoring 中或使用 Cloud Monitoring API 修改和删除基于日志的提醒政策。如需了解详情,请参阅管理基于日志的提醒政策

您可以使用 Log Analytics 或 Cloud Monitoring API 创建基于 SQL 的提醒政策。您可以在 Monitoring 中或使用 Cloud Monitoring API 修改和删除基于 SQL 的提醒政策。如需了解详情,请参阅使用提醒政策监控 SQL 查询结果

查看提醒政策

Monitoring 中的政策页面列出了 提醒政策。此列表包括使用基于日志的指标和基于日志的提醒政策的政策。

  1. 在 Google Cloud 控制台中,转到 提醒页面:

    进入提醒

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

  2. 选择查看所有政策

基于日志的提醒政策会显示在列表中,类型列中为 Logs 值。基于指标(包括基于日志)的提醒政策 指标,其类型列的值为 Metrics。 基于 SQL 的提醒政策出现在 在 Types 列中值为 SQL 的列表。 以下屏幕截图显示了政策列表的摘录:

要按类型查看提醒政策,请使用
提醒政策

通知渠道

您可以通过任何类型的提醒政策将通知发送到 Monitoring 支持的任何通知渠道。您 必须先配置这些渠道,然后才能将其用于提醒政策。

如需了解详情,请参阅管理通知渠道

授权要求

使用基于日志的指标或基于日志的提醒政策需要授权 Cloud Logging 和 Cloud Monitoring 的最佳实践。

费用和限制

如果您定义了自己的基于日志的指标,则需遵守以下要求:

  • 用户定义的基于日志的指标的数量和结构存在限制。如需详细了解这些限制,请参阅基于日志的指标限制
  • 您可能需要为用户定义的基于日志的指标付费。如需详细了解与指标提取相关的费用,请参阅待付款指标
  • 在 BigQuery 中运行基于 SQL 的提醒政策 在您的 Google Cloud 项目中创建预留。您可能会因使用 BigQuery 预留功能而产生费用。如需详细了解费用 请参阅 BigQuery 价格

使用基于基于日志的指标的提醒政策无需付费。

以下 Monitoring 限制相关提醒政策的应用:

类别 政策类型1
每个指标范围的提醒政策(指标和日志的总和)2 500 指标、日志
每个基于指标的提醒政策的条件 6 指标
每个基于 SQL 的提醒政策的条件(公开预览版) 1 SQL
指标缺失条件评估的
最长时间段3
1 天 指标
指标阈值条件评估的
最长时间段3
23 小时 30 分钟 指标
所用过滤器的长度上限
在指标阈值条件下
2,048 个 Unicode 字符 指标
一个预测条件监控的时间序列的数量上限
64 指标
最短预测期 1 小时(3,600 秒) 指标
预测时段上限 2.5 天(216,000 秒) 指标
每项提醒政策的通知渠道数量 16 指标、日志
通知速率上限4 每项基于日志的提醒政策每 5 分钟 1 条通知 日志
通知数上限 每个基于日志的提醒政策每天 20 条通知 日志
每项提醒政策同时打开的突发事件数量上限
1,000 指标
无新数据突发事件的
自动关闭期
7 天 指标
非手动关闭的突发事件最长持续时间 7 天 日志
已关闭的突发事件的保留期限 13 个月 不适用
未结突发事件的保留期限 无限期 不适用
每个指标范围的通知渠道 4000 不适用
每次延后的提醒政策数量上限 16 指标、日志
延后提醒的保留 13 个月 不适用
1指标:基于指标数据的提醒政策;日志:基于日志消息的提醒政策(基于日志的提醒)
2ApigeeApigee Hybrid 与 Cloud Monitoring 深度集成。所有 Apigee 订阅层级(标准版、企业版和企业加强版)的提醒限制与 Cloud Monitoring 相同,即每个指标范围 500 个。
3条件评估的最长时间段是校准时间段和时长窗口值的总和。例如,如果将校准时间段设置为 15 小时,并将时长窗口设置为 15 小时,则需要 30 小时的数据来评估条件。
4如果基于日志的提醒政策的查询会提取标签值,则提取的每个值组合都代表自己的通知时间轴。例如,假设基于日志的提醒政策会提取标签的值。假设标签可以有两个值。使用此配置,您可以在同一位置接收两个通知,每个通知对应一个标签值 5 分钟。