基于日志的指标概览

本页面从概念上简要介绍了基于日志的指标。

基于日志的指标会从您的 Google Cloud 项目中或路由到您的 Google Cloud 项目的日志条目派生指标数据。例如,您可以使用基于日志的指标来计算包含特定消息的日志条目的数量,或提取日志条目中记录的延迟时间信息。您可以在 Cloud Monitoring 图表和提醒政策中使用基于日志的指标。

基于日志的指标的来源

您可以使用 Cloud Logging 定义的指标来收集一般使用情况信息,也可以定义自己的基于日志的指标来捕获特定于您的应用或业务的信息。

基于日志的指标可以应用于单个 Google Cloud 项目或日志存储桶。您无法为其他 Google Cloud 资源(例如 Cloud Billing 帐号或组织)创建基于日志的指标。

如需了解基于项目的日志指标与基于存储桶的日志(基于日志)的指标之间的区别,请参阅存储桶级基于日志的指标

系统定义的指标

Logging 提供了一组使用量值指标,例如存储在项目的日志存储分区中的日志条目数,或您已导出的字节数。如需查看系统定义指标的完整列表,请参阅 Google Cloud 指标:日志记录

用户定义的指标

您可以创建用户定义的基于日志的指标,以跟踪对您的项目很重要的其他指标。例如,您可以创建基于日志的指标来计算与给定过滤条件匹配的日志条目的数量。

默认情况下,系统会根据 Google Cloud 项目的 Logging API 收到的所有日志计算用户定义的基于日志的指标,不考虑适用于 Google Cloud 项目的任何包含过滤条件排除项过滤条件

您还可以为 Google Cloud 项目中的特定日志存储桶创建用户定义的基于日志的指标。基于日志的存储桶级指标是根据发往该存储桶的所有日志计算得出的,无论这些日志来自何处。如需了解详情,请参阅日志存储分区上基于日志的指标

基于日志的指标的数据类型

基于日志的指标可以从日志中提取数据,以创建以下类型的指标:

  • 计数器:这些指标用于计算特定时间段内与指定过滤条件匹配的日志条目的数量。如果您想跟踪某个值或字符串在日志中的出现次数,可以使用计数器。
  • 分布:这些指标也会统计值,但它们会将计数收集到值范围内(直方图分区)。如果要提取延迟时间等值,请使用分布。
  • 布尔值:这些指标用于捕获日志条目是否与指定过滤条件匹配。

用户定义的基于日志的指标既可以是计数器指标类型,也可以是分布指标类型。系统定义的大多数基于日志的指标都是计数器,但有些属于布尔值类型。后续部分将详细介绍计数器和分布的特性。

对于用户定义的基于日志的指标,其数据仅来自创建指标后收到的日志条目。系统不会以追溯方式填充 Logging 中已有日志条目的数据。

基于系统日志的指标仅根据包含的日志计算得出。用户定义的基于日志的指标是根据包含和排除的日志计算得出的。

每当收到匹配的日志条目时,Logging 都会累积基于日志的指标信息。Logging 会以每分钟 1 个数据点的速率将新数据点写入指标的时序,以便向 Cloud Monitoring 提供数据。

基于日志的指标时序中的每个数据点仅表示自上一个数据点以来收到的额外信息 (delta)。

以下各部分介绍计数器类型和分布类型指标的特征。

计数器指标

计数器指标用于计算与给定过滤条件匹配的日志条目的数量。例如,您可以执行以下操作:

  • 计算包含特定特定错误消息的日志条目的数量。
  • 通过查找与如下模式匹配的日志消息来计算每个用户调用操作的次数:

    ... user USERNAME called OPERATION ...

    通过提取 USERNAMEOPERATION 并将其用作两个标签的值,您可以在稍后询问“sally 调用了多少次 update 操作?”、“有多少人调用了 read 操作?”、“george 调用了多少次操作?”等问题。

如需了解详情,请参阅配置计数器指标

分布指标

分布指标会累积与过滤条件匹配的日志条目的数字数据。此类指标包含分布对象的时序,每个对象包含以下内容:

  • 分布中值的数量。
  • 值的平均值。
  • 方差和:Sumi=1..n(xi–mean)2
  • 一组直方图分区,其中包含每个分区中的值的数量。您可以使用默认分区布局,也可以自行选择分区布局。

分布指标的一个常见用途是跟踪延迟。收到每个日志条目后,系统将从日志条目中的某个位置提取延迟值,并将其添加到分布中。系统会按固定间隔将累积的分布写入 Cloud Monitoring。

如需了解分布(包括分布在时序中的格式及其可视化方式),请参阅绘制分布指标图表

如需了解如何创建基于分布日志的指标,请参阅配置分布指标

资源类型

我们建议您为基于日志的指标指定单一资源类型。此规范可确保为基于日志的指标生成的时间序列数据与 Cloud Monitoring 预期的数据模型匹配。它还简化了创建图表和提醒政策的过程,因为对于绘制或监控哪些时间序列数据没有任何歧义。

假设一个基于日志的指标具有以下过滤条件:

severity>="ERROR"
resource.type="gce_instance"

Cloud Monitoring 会识别出这是 Compute Engine 虚拟机实例的数据。因此,当您为虚拟机实例创建图表时,您的基于日志的指标将作为一个选项列在菜单中。当您为其他资源类型创建图表时,您的基于日志的指标不会列为选项。

如果您创建了基于日志的指标而未指定资源类型,则 Monitoring 会将基于日志的指标列为多种资源类型的选项,即使您不统计这些资源中的条目数。

标签

基于日志的指标可以包含标签,以便为指标收集多个时序。系统会从匹配的日志条目中的字段提取标签值。Logging 会为标签值的每个组合记录单独的时序。

所有基于日志的指标均提供默认的 log 标签。此标签包含日志条目中 logName 字段LOG_ID 部分的值,例如 cloudresourcemanager.googleapis.com%2Factivity

基于日志的系统指标具有无法更改的预定义标签。但是,您可以为用户定义的指标自定义标签。例如,即使无法为文件夹或组织创建存储桶级基于日志的指标,您也可以使用基于日志的指标中的标签来记录生成日志条目的文件夹或组织。如需了解详情,请参阅基于日志的指标标签

Cloud Monitoring 中的图表和提醒政策

您可以在 Cloud Monitoring 中使用系统定义的和用户定义的基于日志的指标来创建图表和提醒政策。如需了解详情,请参阅列出基于日志的指标并绘制图表以及针对基于日志的指标发出提醒

在 Cloud Monitoring 中,基于日志的指标使用以下命名模式:

  • 系统:logging.googleapis.com/SYSTEM_METRIC_NAME
  • 用户定义:logging.googleapis.com/user/USER_METRIC_NAME

请注意,用户定义的基于日志的指标包含字符串 user

可以查看 Monitoring 指标范围

基于日志的指标由 Cloud Monitoring 提取,指标数据对 Google Cloud 项目的可见性由指标范围决定。指标范围是由托管指标范围的项目所监控的项目的列表;托管项目称为限定范围的项目

默认情况下,每个项目都托管一个仅包含自身的指标范围,因此项目本身就是一个限定范围的项目。因此,您的指标(包括基于日志的指标)仅对 Google Cloud 项目可见。

您还可以为限定范围的项目创建多项目指标范围。对于多项目指标范围,限定范围的项目可以查看指标范围内所有项目的指标。在多项目指标范围内,各个项目的可见内容取决于每个项目托管的指标范围。两个项目处于多项目指标范围内,但这并不意味着每个项目都可以访问另一个项目中的指标或配置数据。

单个项目也可以出现在多个指标范围内。每个指标范围的限定项目均可查看此类项目中的指标。

指标(包括基于日志的指标)是在特定项目中定义的。如果该项目出现在多个指标范围内,则除了定义这些指标的项目以外,其他项目也能看到这些指标。如需了解指标范围和存储桶级基于日志的指标如何交互,请参阅项目和指标范围

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

价格

所有用户定义的基于日志的指标都是 Cloud Monitoring 自定义指标的一个类别,需要付费。如需了解价格信息,请参阅 Cloud Logging 价格:基于日志的指标

配额

如需了解与用户定义的基于日志的指标相关联的配额和限制,请参阅配额和限制

问题排查

如果您在使用基于日志的指标时遇到问题,请参阅排查基于日志的指标的问题