配置计数器指标

本页面介绍如何使用 Cloud Console、Logging API 和 gcloud 命令行工具创建基于日志的计数器类型指标。

如需全面了解基于日志的指标,请参阅基于日志的指标概览

创建计数器指标

为要计入指标的日志条目创建过滤条件时,您可以使用正则表达式。 请注意,过滤条件的长度不能超过 20000 个字符。

控制台

请按照以下步骤在 Google Cloud 项目的 Cloud Console 中创建计数器指标:

  1. 转到 Logging > 基于日志的指标页面:

    转到“基于日志的指标”

  2. 点击创建指标。此时会显示创建日志指标面板。

  3. 设置指标类型:选择计数器

  4. 详细信息部分中设置以下字段:

    • 日志指标名称:选择对于 Cloud 项目中基于日志的指标而言唯一的指标名称。您需遵循一些命名限制;如需了解详情,请参阅问题排查
    • 说明:输入此指标的说明。
    • 单位:可将此字段留空或者插入数字 1
  5. 过滤器选择部分中,定义指标过滤器。

    使用日志记录查询语言创建一个过滤器,用于仅收集要在指标中计数的日志条目。 您还可以使用正则表达式来创建指标的过滤器。

    点击预览日志可打开一个面板,其中会显示与您的过滤条件匹配的日志条目。

  6. (可选)在标签部分中添加标签。如需了解如何创建标签,请参阅创建标签

  7. 点击创建指标,以创建指标。

gcloud

gcloud 命令行工具支持没有标签的基于日志的计数器类型指标。以下命令用于创建基于日志的指标:

gcloud logging metrics create METRIC_NAME METRIC_DESCRIPTION FILTER

例如,以下命令会创建一个名为 error_count 的基于日志的计数器指标。

gcloud logging metrics create error_count \
     --description "Errors in syslog." \
     --log-filter "resource.type=gce_instance AND logName:logs/syslog AND severity>=ERROR"

选择对于 Cloud 项目中基于日志的指标而言唯一的指标名称。您需遵循一些命名限制;如需了解详情,请参阅排查基于日志的指标的问题

API

要创建计数器指标,请使用 Logging API 的 projects.metrics.create 方法。您可以试用 APIs Explorer 中的方法。请按以下步骤准备方法的参数:

  1. parent 字段设置为要在其中创建指标的项目:

    projects/PROJECT_ID
    
  2. 将请求正文设置为 LogMetric 对象。以下是该对象的一个示例:

    {
      name:        "my-metric"
      description: "This is my metric."
      filter:      "resource.type=gce_instance AND logName:\"logs/syslog\"",
      metricDescriptor: {
          labels: [
            {
              key: "my-label",
              valueType: STRING,
              description: "This is my label.",
            }
          ]
      },
      labelExtractors: {
        "my-label":
          "REGEXP_EXTRACT(jsonPayload.someField, \"before ([0-9]+) after\")",
        ...
      },
    }
    

注意:

  • 选择对于项目中基于日志的指标而言唯一的指标名称。您需遵循一些命名限制;要了解详情,请参阅问题排查

  • 对于计数器指标,LogMetric 字段 valueExtractorbucketOptions 没有任何用途,已被省略。

  • 如果指标没有标签,则可以省略 metricDescriptorlabelExtractors 字段。如果您的指标确实有标签,请参阅基于日志的指标标签,了解标签简介,并详细了解如何在该 API 中创建标签。

如需了解详情,请参阅 LogMetric 类型。

新指标延迟情况

您的新指标会立即显示在旧版日志查看器的指标列表和相关的 Monitoring 菜单中。数据通常会在不到一分钟的时间内提供。

检查计数器指标

如需列出您的 Google Cloud 项目中用户定义的基于日志的指标,或检查 Cloud 项目中的特定指标,请执行以下操作:

控制台

转到基于日志的指标页面:

转到“基于日志的指标”

用户定义的指标窗格中,您会看到当前 Cloud 项目中用户定义的基于日志的指标:

如需查看基于日志的指标中的数据,请点击该指标所在行中的菜单 ,然后选择在 Metrics Explorer 中查看

gcloud

如需列出 Cloud 项目中用户定义的基于日志的指标,请使用以下命令:

gcloud logging metrics list

要显示云项目中用户定义的基于日志的指标,请使用以下命令:

gcloud logging metrics describe METRIC_NAME

如需获取帮助,请使用以下命令:

gcloud logging metrics --help

您无法通过 Cloud SDK 读取指标的时间序列数据。

API

列出指标

如需列出 Cloud 项目中用户定义的基于日志的指标,请使用 projects.metrics.list API 方法。按如下所示填写方法的参数:

  • parent:Cloud 项目的资源名称:`projects/PROJECT_ID
  • pageSize:最大结果数。
  • pageToken:获取下一页结果。如需了解如何使用页面令牌,请参阅 projects.metrics.list

检索指标定义

要检索单个用户定义的基于日志的指标,请使用 projects.metrics.get API 方法。按如下所示填写方法的参数:

  • metricName:指标的资源名称:

    projects/PROJECT_ID/metrics/METRIC_ID
    

读取指标数据

如需读取基于日志的指标中的时间序列数据,请使用 Cloud Monitoring API 中的 projects.timeseries.list。如需详细了解时间序列数据,请参阅读取时间序列

如需读取单个用户定义的基于日志的指标,请使用此指标类型和标识符填写方法的参数:

logging.googleapis.com/user/METRIC_ID

更新计数器指标

您可以通过修改用户定义的基于日志的指标,以更改其说明、过滤条件以及指标中引用的字段的名称。您可以向指标添加新标签,还可以更改用于提取指标及其标签的值的正则表达式。

您无法更改用户定义的基于日志的指标或其标签的名称或类型,也无法删除基于日志的指标中的现有标签。

要修改基于日志的指标,请执行以下操作:

控制台

  1. 转到基于日志的指标页面:

    转到“基于日志的指标”

  2. 在您要修改的基于日志的指标的菜单 中,点击修改指标

  3. 更改指标中允许更改的项目。

  4. 点击更新指标

gcloud

您只能使用 Cloud SDK 更改现有指标的说明和查询。

要更新基于日志的指标,请使用以下命令。您可以指定其中一个或两个标志:

gcloud logging metrics update METRIC_NAME --description=DESCRIPTION --log-filter=FILTER

如需了解详情,请使用以下命令:

gcloud logging metrics update --help

API

要修改基于日志的指标,请使用该 API 中的 projects.metrics.update 方法。按如下所示设置字段:

  • metricName:指标的完整资源名称:

    projects/PROJECT_ID/metrics/METRIC_ID
    

    例如:

    projects/my-gcp-project/metrics/my-error-metric
    
  • 在请求正文中,添加与现有指标完全相同(要更改或新增的内容除外)的 LogMetric 对象。

删除计数器指标

要删除用户定义的基于日志的指标,请执行以下操作:

控制台

  1. 转到基于日志的指标页面:

    转到“基于日志的指标”

  2. 选择您要删除的指标,然后点击删除

    或者,在您要删除的基于日志的指标的菜单 中,点击删除指标

gcloud

使用以下命令可以删除当前 Cloud 项目中用户定义的基于日志的指标:

gcloud logging metrics delete METRIC_NAME

如需了解详情,请使用以下命令:

gcloud logging metrics delete --help

API

要删除用户定义的基于日志的指标,请使用 API 中的 projects.metrics.delete 方法。

此外,在 Google Cloud Console 的基于日志的指标页面中,基于日志的指标界面的用户定义的指标窗格提供了更多功能,可帮助您管理 Cloud 项目上用户定义的指标。如需了解详情,请参阅用户定义的指标窗格