v2.4 版本带来三大能力:类 SQL 日志检索语言、告警降噪与分组、Trace 水合关联日志与指标,同时修复了若干采集与存储问题。
v2.4 主要解决三个一直被诟病的问题:日志检索要学专用语法、告警重复轰炸、看 Trace 时查不到上下文。对应的三项新能力如下,均已灰度验证过再全量开放。
以前日志检索要么用正则,要么用平台自带的过滤面板,查复杂条件很别扭。v2.4 引入了完整的类 SQL 查询语言,支持 SELECT、WHERE、GROUP BY、ORDER BY、LIMIT,以及聚合函数 count、avg、sum、percentile。
SELECT host, count(*) AS cnt
FROM logs
WHERE service = 'payment-service' AND level = 'ERROR'
AND ts > now() - interval '1 hour'
GROUP BY host
ORDER BY cnt DESC;
这套语法和监控指标查询保持一致,团队只要学一种写法,日志和指标都能查。老的过滤面板保留,用户可逐步迁移。
告警风暴是这次改动最大的地方。新增了两个机制:告警分组按 host、服务或自定义标签把同源告警合并成一条;静默期在告警恢复后设置冷却时间,避免"恢复-再触发"的抖动刷屏。配置示例:
alerting:
group_by: [host, alertname]
group_wait: 30s
silence_after_resolved: 10m
dedup_window: 5m
实测同一宿主机 200 个容器 OOM 的场景,告警从 200 条合并为 1 条,值班同学从"关静音"变成了"看得清"。
"水合"指的是把 Trace 里每个 Span 关联的日志和宿主机指标自动拉出来,直接嵌在 Span 详情页里。点开任意 Span,右侧直接显示它时间窗口内的错误日志和 CPU/内存曲线,不用再手动去日志和指标页翻。实现上依赖日志里的 trace_id 字段和指标上的 host 标签,接入时确认这两个字段打全即可。
升级路径:信创和通用环境均提供离线升级包,执行 bin/upgrade.sh 即可,升级过程自动备份配置。完整变更见版本说明页。