如何使用GCP Logging实现不同条件下的数值分析与图表对比
GCP Logging 数值类日志分析实现方案
Node 端结构化日志上报方法
你无需将日志转为文本格式上报,直接传入 JSON 对象即可,GCP 会自动将字段解析为可检索的结构化数据,参考代码示例:
const { Logging } = require('@google-cloud/logging'); const logging = new Logging({ projectId: '你的GCP项目ID' }); const log = logging.log('function-execution-logs'); // 第二个参数直接传入数值类型字段的对象,不要序列化字符串 const logEntry = log.entry( { resource: { type: 'global' } }, // 替换为你实际的资源标识 { condition: 1, duration: 1000 } ); await log.write(logEntry);
GCP 侧对比图表生成步骤
- 进入 Cloud Logging 日志浏览器,输入过滤规则筛选目标日志:
logName="projects/你的项目ID/logs/function-execution-logs" - 确认日志条目的
jsonPayload下,condition、duration 已被识别为数值类型,若识别异常可在日志字段管理中手动为两个字段创建数值类型索引 - 点击页面上方的「汇总」按钮,按需求配置:分组依据选择
jsonPayload.condition,聚合字段选择jsonPayload.duration,聚合方式可选平均值、P95分位值、最大值等 - 配置完成后会自动生成两组 condition 的 duration 对比图表,可直接保存到 Cloud Monitoring 仪表盘长期查看
轻量替代第三方服务推荐
- Datadog Logs:Node SDK 上报结构化日志门槛极低,内置字段自动索引能力,控制台可视化配置分组聚合即可生成对比图表,UI 交互比 Loggly 清晰很多,适合中小规模业务使用
- New Relic:免费额度足以支撑测试场景,上报结构化数据后可通过简单查询语句直接生成对比图表,无需复杂前置配置
- 如果仅做内部测试使用,也可以选择 Prometheus + Grafana 开源栈,直接将 duration 作为指标上报而非走日志链路,统计效率更高,本地即可部署无需依赖云服务
内容的提问来源于stack exchange,提问作者Kevin Danikowski
相关产品推荐
相关产品推荐

