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

如何在Vertex AI中实现容器日志的结构化处理?

Vertex AI 日志字段扁平化处理方法

你在Vertex AI中部署模型后,默认采集的日志会把结构化内容统一封装在jsonPayload字段内部的message字段中,你可以通过以下几种方式实现message字段的提取、将内部键直接提升到jsonPayload层级:

示例图片


方案1:配置Cloud Logging接收规则(最优,实时永久生效)

该方案会在日志入库阶段自动完成字段解析,后续查询和分析无需额外操作:

  • 打开Google Cloud控制台,进入「Logging > 日志接收」页面,点击创建新的接收规则
  • 配置日志筛选条件,仅匹配需要处理的Vertex AI端点日志:resource.type="aiplatform_endpoint" AND jsonPayload.message:*
  • 在处理步骤中添加「解析JSON」规则,指定解析源字段为jsonPayload.message,解析结果输出到jsonPayload层级
  • 可选添加额外处理步骤,删除冗余的jsonPayload.message字段,降低日志存储成本
  • 保存规则后,新产生的Vertex AI日志会自动完成字段扁平化处理

方案2:查询时动态解析(适合临时分析场景)

如果不想修改全局日志入库规则,可在查询时通过解析函数直接提取message内的字段,示例查询语句如下:

SELECT
  timestamp,
  resource.labels.endpoint_id AS endpoint_id,
  -- 直接提取message内的自定义字段
  JSON_VALUE(jsonPayload.message, '$.status') AS request_status,
  JSON_VALUE(jsonPayload.message, '$.latency') AS request_latency,
  JSON_VALUE(jsonPayload.message, '$.user_id') AS user_id
FROM `your_project_id.global._Default`
WHERE
  resource.type="aiplatform_endpoint"
  AND jsonPayload.message IS NOT NULL
  AND timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)

方案3:源头修改日志输出格式

如果你使用的是自定义模型服务镜像,可以直接调整服务的日志打印逻辑:不要将结构化JSON序列化为字符串后输出,直接打印标准JSON结构,Vertex AI的日志采集组件会自动识别JSON中的所有键,直接写入jsonPayload字段下,从根源避免message字段封装的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:36:03