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

如何在Google Cloud Logging配置JSON中编写REGEXP_EXTRACT表达式

解决Google Cloud Logging分布指标的valueExtractor正则问题

问题根源

你的错误来自两方面:

  1. JSON字符串中反斜杠未正确双重转义,导致正则表达式解析失败;
  2. 原正则的空格匹配逻辑不符合日志格式(日志末尾的数值后无空格),无法正确捕获目标值。

修正方案

调整valueExtractor的正则表达式,同时确保JSON转义正确:

完整修正后的配置JSON

{
    "name": "end-to-end-response-time-shell",
    "description": "Time duration of a chat request (in seconds).",
    "filter": "resource.type=\"cloud_run_revision\" AND logName=\"log_name\" AND severity=\"INFO\" AND textPayload=~\"Chat request completed in\"",
    "metricDescriptor": {
        "name": "cloud_run_revision",
        "type": "logging.googleapis.com/user/end-to-end-response-time-shell",
        "metricKind": "CUMULATIVE",
        "valueType": "DISTRIBUTION",
        "unit": "s",
        "description": "Time duration of a chat request (in seconds).",
        "displayName": "end-to-end-response-time-shell (sec)"
    },
    "valueExtractor": "REGEXP_EXTRACT(textPayload, \"Chat request completed in (\\d+(?:\\.\\d+)?)\")"
}

关键说明

  • 正则逻辑:Chat request completed in (\\d+(?:\\.\\d+)?) 精准匹配日志中固定前缀后的数值,支持整数(如5)和小数(如3.818780105999849)两种格式,(?:\\.\\d+)?表示小数部分可选。
  • JSON转义:JSON字符串中所有反斜杠需写成\\,因此正则里的\d变为\\d,\.变为\\.,确保解析器能正确识别正则表达式。
  • 去掉冗余空格匹配:原正则的\\s会要求数值前后有空格,但日志末尾的数值后无空格,因此删除该部分,避免匹配失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:21:14