配置计数器指标

本文介绍了如何使用 Google Cloud 控制台、Logging API 和 Google Cloud CLI。

计数器指标统计的是 与指定过滤条件匹配的日志条目的数量。例如,您可以创建一个 基于日志的指标,用于计算包含特定 错误消息。基于日志的指标可应用于单个 Google Cloud 项目 还是在日志存储桶中

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

准备工作

  1. 如需使用基于日志的指标,您必须拥有一个符合以下条件的 Google Cloud 项目: 启用结算功能:

    1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. 确保您的 Google Cloud 项目已启用结算功能

    4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    5. 确保您的 Google Cloud 项目已启用结算功能

  2. 确保您的 Identity and Access Management 角色拥有执行以下操作所需的权限: 创建和查看基于日志的指标,以及创建提醒政策。 有关详情,请参阅 基于日志的指标的权限

创建基于日志的计数器类型指标

该指标会统计由您提供的过滤条件标识的日志条目。您可以 使用正则表达式 ,我们建议您添加资源类型。通过 过滤器的长度不能超过 20,000 个字符。

请勿在过滤器中输入敏感信息。过滤器被视为服务数据。

控制台

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

  1. 在 Google Cloud 控制台中,转到基于日志的指标页面:

    前往基于日志的指标

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

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

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

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

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

    1. 使用选择项目或日志存储桶菜单来选择 指标 统计 Google Cloud 项目中的日志条目,或者仅统计 特定日志存储桶中的这些日志条目

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

    3. 要查看哪些日志条目与您的过滤条件匹配,请点击预览日志

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

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

gcloud

您可以使用 以下命令:

gcloud logging metrics create METRIC_NAME \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  [--bucket-name="BUCKET_NAME"]

例如,以下命令会创建一个项目级范围的基于日志的指标 名为 error_count

gcloud logging metrics create error_count \
     --description "Errors in syslog." \
     --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR"

如需改为创建存储桶级基于日志的指标,请提供 --bucket_name 标志:

gcloud logging metrics create error_count \
    --description "Errors in syslog." \
    --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR" \
    --bucket-name projects/my-project/locations/global/buckets/my-test-bucket

如需了解如何创建标签,请参阅创建标签

API

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

  1. parent 字段设置为使用该指标的项目或存储桶 要创建的活动:

    • 对于项目级范围的基于日志的指标,请指定项目:
    projects/PROJECT_ID
    
    • 对于基于日志的桶级范围指标,请指定相应桶:
    projects/PROJECT_ID/locations/LOCATION/bucket/BUCKET_ID
    
  2. 将请求正文设置为 LogMetric 对象。已关注 示例 对象:

    {
      name:        "my-metric"
      description: "This is my metric."
      filter:      "resource.type=gce_instance AND log_id(\"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 项目中用户定义的基于日志的指标,或 如需检查 Google Cloud 项目中的特定指标,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,转到基于日志的指标页面:

    前往基于日志的指标

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

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

  3. 要查看基于日志的指标中的数据,请点击 菜单: 指标行,然后选择在 Metrics Explorer 中查看

gcloud

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

gcloud logging metrics list

如需在 Google Cloud 项目中显示用户定义的基于日志的指标,请执行以下操作: 请使用以下命令:

gcloud logging metrics describe METRIC_NAME

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

gcloud logging metrics --help

您无法通过 Google Cloud CLI 读取指标的时序数据。

API

列出指标

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

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

检索指标定义

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

  • metricName:指标的资源名称:

    projects/PROJECT_ID/metrics/METRIC_ID
    

读取指标数据

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

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

logging.googleapis.com/user/METRIC_ID

更新基于日志的指标

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

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

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

控制台

  1. 在 Google Cloud 控制台中,转到基于日志的指标页面:

    前往基于日志的指标

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

  2. 在“报告”标签中点击修改指标 菜单 您要修改的基于日志的指标。

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

  4. 点击更新指标

gcloud

使用 Google Cloud CLI 更改计数器指标的说明和过滤条件 查询和存储桶。您可以一次更新任意或所有字段。

gcloud logging update METRIC_NAME \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  --bucket-name=BUCKET_NAME

如果您更改与存储桶级范围指标关联的存储桶,则 更改之前收集的任何指标数据都不再反映 当前配置针对上一个存储桶收集的指标数据 未移除。

若要更新分布指标或其他计数器指标字段(不包括 METRIC_NAME,请创建一个包含修订后规范的文件 您的 LogMetric(采用 JSON 或 YAML 格式)。然后,更新 指定包含“--config-from-file”字段的 update 命令, 将 FILENAME 替换为您的 JSON 或 YAML 文件的名称:

gcloud logging update METRIC_NAME --config-from-file FILENAME

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

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. 在 Google Cloud 控制台中,转到基于日志的指标页面:

    前往基于日志的指标

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

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

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

gcloud

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

gcloud logging metrics delete METRIC_NAME

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

gcloud logging metrics delete --help

API

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

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