You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cloud Monitoring中创建基于日志的自定义统计指标?

创建基于日志的自定义指标(统计匹配过滤器的日志数量)

现有环境说明

  • 基于Python的微服务,当前使用Google Cloud Monitoring SDK创建自定义指标,核心代码片段:
from google.api import label_pb2 as ga_label
from google.api import metric_pb2 as ga_metric
from google.cloud import monitoring_v3
import uuid

client = monitoring_v3.MetricServiceClient()
project_name = f"projects/{project_id}"
descriptor = ga_metric.MetricDescriptor()
descriptor.type = "custom.googleapis.com/my_metric" + str(uuid.uuid4())
descriptor.metric_kind = ga_metric.MetricDescriptor.MetricKind.GAUGE
descriptor.value_type = ga_metric.MetricDescriptor.ValueType.DOUBLE
descriptor.description = "Custom Metric recording specific code level events."
  • 需统计的日志示例:
    脱敏日志示例

需求目标

创建基于日志的指标,统计匹配指定过滤器的日志条目数量。

解决方案(Python SDK实现)

使用Google Cloud Logging SDK直接创建计数型日志指标,步骤如下:

1. 安装依赖

确保已安装Logging SDK:

pip install google-cloud-logging

2. 核心代码实现

from google.cloud import logging_v3

def create_log_based_metric(project_id, metric_id, filter_str, metric_description):
    client = logging_v3.MetricsServiceV2Client()
    parent = f"projects/{project_id}"
    
    # 定义日志指标配置
    metric = logging_v3.LogMetric()
    metric.name = metric_id  # 指标唯一ID,仅支持小写字母、数字、连字符,以字母开头
    metric.description = metric_description
    metric.filter = filter_str  # 日志过滤规则,与Cloud Logging控制台语法一致
    
    # 创建计数型指标(默认统计匹配日志的数量)
    response = client.create_log_metric(parent=parent, log_metric=metric)
    print(f"已创建日志指标: {response.name}")

# 调用示例
if __name__ == "__main__":
    PROJECT_ID = "你的项目ID"
    METRIC_ID = "target_log_count"  # 自定义指标ID
    LOG_FILTER = "你的日志过滤规则"  # 替换为实际规则,比如"severity=ERROR AND textPayload:\"特定事件\""
    DESCRIPTION = "统计匹配指定规则的日志条目数量"
    
    create_log_based_metric(PROJECT_ID, METRIC_ID, LOG_FILTER, DESCRIPTION)

3. 关键参数说明

  • filter_str:日志过滤规则示例:
    • 匹配包含特定关键词的日志:"textPayload:\"payment_failed\""
    • 匹配指定级别与资源类型:"resource.type=cloud_run_revision AND severity=WARNING"
  • metric_id:需符合GCP资源命名规范,不能包含特殊字符

4. 验证与排查

  • 指标创建后,可在Cloud Monitoring控制台的「指标资源管理器」中,通过logging.googleapis.com/user/[你的metric_id]找到该指标查看数据
  • 若指标无数据:先在Cloud Logging控制台测试过滤规则是否能匹配到日志
  • 权限问题:确保运行代码的账号拥有logging.metrics.create权限,可通过IAM角色roles/logging.configWriter授权

内容的提问来源于stack exchange,提问作者due_date_09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:31:12