配置计数器指标

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

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

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

准备工作

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

    1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. Make sure that billing is enabled for your Google Cloud project.

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

      Go to project selector

    5. Make sure that billing is enabled for your Google Cloud project.

  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 项目。如需了解详情,请参阅用户定义的指标窗格