← 返回文章列表
更新日志 3 分钟阅读 炬鲸团队

v2.4 发布:OTLP 原生支持、告警降噪与日志冷热分层

v2.4 带来三块更新:OTLP 原生接入免装 Collector、告警降噪减少重复通知、日志冷热分层把存储成本砍掉一半。另含链路追踪性能优化与若干修复。

新增:OTLP 原生接入

以前接入链路和指标,得先在本机部署一个 OpenTelemetry Collector 做中转。v2.4 起,平台直接暴露 OTLP 端点,应用可以跳过 Collector,把 SDK 的上报地址指向平台即可:

export OTEL_EXPORTER_OTLP_ENDPOINT=https://ob.example.com/otlp
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer <token>"

已经有 Collector 的老用户不受影响,两条路径并存。省掉中转的好处是少了单点故障,小规模环境部署更简单;缺点是没有本地的批量缓冲,平台端会做限流兜底。

新增:告警降噪

告警风暴是值班的噩梦:一个 DB 故障会连带触发十几个服务的「依赖异常」告警,手机响个不停。v2.4 加入告警降噪:

  • 按根因聚合:同一时间窗口内、指向同一根因的告警合并成一条,附带受影响服务列表;
  • 去重窗口:相同告警在配置的窗口(默认 10 分钟)内只发一次,除非级别升级;
  • 静默时间:发布窗口或维护期可设静默,避免误报刷屏。

聚合规则可以在告警规则页配置,支持按服务、按错误类型、按 trace 根因分组。降噪之后,一条 DB 故障从「十几条告警」收敛成「一条根因 + 影响面」,值班的人一眼看清先修哪个。

新增:日志冷热分层

日志量涨到一定程度,存储成本就成了大头。v2.4 支持冷热分层:

  • 热层:最近 N 天(默认 7 天)的日志在 SSD,检索秒回;
  • 冷层:超出热层的日志自动压缩归档到对象存储,成本约为热层的三分之一;
  • 透明查询:查冷数据只需在查询里加时间范围,平台自动跨层检索,对用户无感。

实测把 30 天的日志存储成本降了约 55%,检索冷数据会慢 1–2 秒,属于可接受的取舍。

优化:链路追踪性能

  • 大跨度 Trace 的水合(hydration)重构,加载速度提升约 40%;
  • 按服务过滤 Trace 列表时不再全表扫描,响应时间从秒级降到百毫秒级。

修复

  • 修复告警规则在跨天时间窗口下不触发的问题;
  • 修复冷层归档偶发的索引不一致;
  • 修复 ARM64 环境下部分采集器二进制的兼容性问题。

升级说明

老版本升级到 v2.4 是平滑升级,配置与数据向后兼容。冷热分层功能默认关闭,需在「存储设置」里手动开启并指定冷层对象存储的地址。OTLP 原生接入默认开启,Token 沿用「服务管理」里的接入 Token,无需额外申请。