本页面从概念上简要介绍了基于日志的指标。
基于日志的指标从日志条目的内容中提取指标数据。例如,您可以使用基于日志的指标来计算包含特定消息的日志条目的数量,或提取日志条目中记录的延迟时间信息。您可以在 Cloud Monitoring 图表和提醒政策中使用基于日志的指标。
基于日志的指标的来源
您可以使用 Cloud Logging 定义的指标收集一般使用情况信息,还可以定义自己的基于日志的指标,以捕获特定于应用或业务的信息。
基于日志的指标仅适用于单个 Google Cloud 项目。您无法为其他 Google Cloud 资源(例如 Cloud Billing 帐号或组织)创建基于日志的指标。
系统定义的指标
Logging 为使用情况值提供一组指标,例如项目中注入的日志条目数或已导出的字节数。如需查看系统定义的指标的完整列表,请参阅 Google Cloud 指标:日志记录。
用户定义的指标
您可以创建用户定义的基于日志的指标,以跟踪对您的项目很重要的其他指标。例如,您可以创建基于日志的指标来计算与给定过滤条件匹配的日志条目的数量。
默认情况下,用户定义的日志型指标根据 Logging API 为 Cloud 项目接收的所有日志计算,而不管可能适用于 Cloud 项目的任何包含过滤器或排除项过滤器。
预览:您还可以为 Cloud 项目中的特定日志存储桶创建用户定义的基于日志的指标。基于日志的存储桶级所有指标(无论它们来自何处)都会计算基于存储桶的指标。如需了解详情,请参阅日志存储分区中基于日志的指标。
基于日志的指标的数据类型
基于日志的指标可以从日志中提取数据以创建以下类型的指标:
- 计数器:这些指标用于计算特定时间段内与指定过滤条件匹配的日志条目的数量。如果您想跟踪某个值或字符串在日志中出现的次数,请使用计数器。
- 分布:这些指标也会统计值,但会将计数收集到值范围内(直方图范围)。如果要提取延迟时间等值,请使用分布。
- 布尔值:这些指标可捕获日志条目是否与指定的过滤条件匹配。
用户定义的基于日志的指标既可以是计数器指标类型,也可以是分布指标类型。大多数系统定义的基于日志的指标都是计数器,但有些指标是布尔值类型。计数器和分布的特征将在后续部分中详细介绍。
用户定义的基于日志的指标的数据仅来自创建指标后收到的日志条目。系统不会用来自 Logging 中已有日志条目的数据来追溯性地填充指标。
系统日志指标仅根据所包含的日志计算得出。用户定义的基于日志的指标是根据包含和排除的日志计算得出的。
每当收到匹配的日志条目时,Logging 都会累积基于日志的指标信息。Logging 会以每分钟 1 个数据点的速率将新数据点写入指标的时序,以便向 Cloud Monitoring 提供数据。
基于日志的指标时序中的每个数据点仅表示自上一个数据点以来收到的额外信息 (delta)。
以下各部分介绍计数器类型和分布类型指标的特征。
计数器指标
计数器指标用于计算与给定过滤条件匹配的日志条目的数量。例如,您可以执行以下操作:
- 计算包含特定特定错误消息的日志条目的数量。
通过查找与如下模式匹配的日志消息来计算每个用户调用操作的次数:
... user USERNAME called OPERATION ...
通过提取 USERNAME 和 OPERATION 并将其用作两个标签的值,您可以在稍后询问“
sally
调用了多少次update
操作?”、“有多少人调用了read
操作?”、“george
调用了多少次操作?”等问题。
如需了解详情,请参阅配置计数器指标。
分布指标
分布指标会累积与过滤条件匹配的日志条目的数字数据。此类指标包含分布对象的时序,每个对象包含以下内容:
- 分布中值的数量。
- 值的平均值。
- 方差和:Sumi=1..n(xi–mean)2
- 一组直方图分区,其中包含每个分区中的值的数量。您可以使用默认分区布局,也可以自行选择分区布局。
分布指标的一个常见用途是跟踪延迟。收到每个日志条目后,系统将从日志条目中的某个位置提取延迟值,并将其添加到分布中。系统会按固定间隔将累积的分布写入 Cloud Monitoring。
如需了解分布情况(包括它们在时序中的格式及其直观呈现方式),请参阅绘制分布指标图表。
如需了解如何创建基于分布日志的指标,请参阅配置分布指标。
标签
基于日志的指标可以包含标签,以便为指标收集多个时序。系统会从匹配的日志条目中的字段提取标签值。Logging 会为标签值的每个组合记录单独的时序。
基于日志的系统指标具有预定义标签。可为用户定义的指标定义标签。如需了解详情,请参阅基于日志的指标标签。
Cloud Monitoring 中的图表和提醒
您可以在 Cloud Monitoring 中使用系统定义的和用户定义的基于日志的指标来创建图表和提醒政策。如需了解详情,请参阅配置图表和提醒。
在 Cloud Monitoring 中,基于日志的指标使用以下命名模式:
- 系统:
logging.googleapis.com/SYSTEM_METRIC_NAME
- 用户定义:
logging.googleapis.com/user/USER_METRIC_NAME
请注意,用户定义的基于日志的指标包含字符串 user
。
Monitoring 指标范围的可见性
Cloud Monitoring 会注入基于日志的指标,而指标数据对 Cloud 项目的可见性取决于指标范围。指标范围是由托管指标范围的项目监控的项目的列表;托管项目称为范围项目。
默认情况下,每个项目都托管一个仅包含自身的指标范围,因此一个项目本身就是限定范围的项目。因此,您的指标(包括基于日志的指标)仅对您的 Cloud 项目可见。
您还可以为限定范围的项目创建多项目指标范围。使用多项目指标范围时,范围限定项目可以查看指标范围内所有项目的指标。多项目指标范围内的各个项目可以看到的内容取决于每个项目托管的指标范围。两个项目属于多项目指标范围并不意味着每个项目都可以访问另一个项目中的指标或配置数据。
一个项目也可以出现在多个指标范围内。此类项目的指标对其中每个指标范围的范围项目可见。
指标(包括基于日志的指标)是在特定项目中定义的。当该项目出现在多个指标范围内时,指标对除了定义指标的项目以外的项目可见。
如需详细了解指标范围(包括多项目指标范围)以及范围限定的项目,请参阅以下内容:
价格
所有用户定义的基于日志的指标都是 Cloud Monitoring 自定义指标类,需要付费。如需了解价格信息,请参阅 Cloud Logging 价格:基于日志的指标。
配额
如需了解与用户定义的基于日志的指标相关联的配额和限制,请参阅配额和限制。
问题排查
如果您在使用基于日志的指标时遇到问题,请参阅排查基于日志的指标的问题。