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

炬鲸 OBSERVE v2.4.0 发布:自适应采样与告警降噪升级

v2.4.0 更新:链路追踪新增尾采样(tail-based sampling)与错误全采,告警支持时段阈值与抖动抑制,日志检索支持子查询,并修复若干稳定性问题。

本次更新概览

v2.4.0 主要围绕三件事:让采样更聪明、让告警更安静、让检索更强大。下面按功能列出改动,升级前请阅读文末的兼容性说明。

链路追踪:新增尾采样

采样策略从“头部采样”扩展到“尾部采样”,解决高流量场景下“正常请求被采样、异常请求被漏掉”的问题:

  • tail-based sampling:span 完成后再决定是否保留,出错、超时的 trace 全量保留
  • 错误全采:status = ERROR 或包含异常的 span 100% 采集,不受基础采样率影响
  • 按服务独立配置采样率:核心链路 100%,一般接口 1%

配置示例:

sampling:
  mode: tail
  base_rate: 0.1
  keep_on_error: true
  per_service:
    trade-core: 1.0
    admin-api: 0.05

建议先在非核心服务试点,观察存储增长后再全量开启尾采样。

告警与日志检索

告警模块新增两项降噪能力:

  1. 时段阈值:同一指标可按时间段设置不同阈值,例如交易系统开盘时段延迟阈值收紧到 200ms,午休时段自动放宽
  2. 抖动抑制:单点偶发抖动先进入 pending 状态,持续超过设定时长才真正触发,避免瞬时毛刺刷屏

同时告警静默窗口可按节假日日历自动生效,休市日自动静默低流量类告警。

日志检索新增子查询,可以在一条查询里“先聚合再过滤”:

SELECT * FROM logs
WHERE service IN (
  SELECT service FROM logs
  WHERE level = 'ERROR' AND timestamp >= now() - 300
  GROUP BY service
  HAVING count(*) > 10
)

这条查询直接列出“过去 5 分钟错误超过 10 次的那些服务”的全部日志,省去两次查询加人工拼接。

其他改进与升级说明

其他改进与修复:修复 OTLP/gRPC 在高并发下偶发连接断开的问题;优化索引写入性能,ARM64 环境吞吐提升约 20%;看板新增漏斗图组件,支持按阶段转化率展示;修复告警通知在节假日日历边界处漏发的问题。

本次为小版本升级,兼容 v2.3.x 配置。升级前建议备份数据库与索引配置,升级后核对采样策略与告警规则是否按预期生效。如遇问题,可在控制台提交工单并附上版本号与相关 traceId。