本页面从概念上简要介绍了基于日志的指标。
基于日志的指标可帮助您观察大量趋势和模式 日志条目的数量。这些指标来源于 或路由到您的 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 ...
通过提取 USERNAME 和 OPERATION 并将其用作两个标签的值,您可以在稍后询问“
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
标签。
此标签包含 LOG_ID 部分
日志条目中的 logName
字段,例如
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 价格:基于日志的指标。
配额
如需了解与用户定义的基于日志的指标相关的配额和限制,请参阅配额和限制。
问题排查
如果您在使用基于日志的指标时遇到问题,请参阅排查基于日志的指标的问题。