v2.4 带来日志检索索引加速、原生 OTel Collector 集成、告警静默与值班排班,以及若干修复与兼容性增强。
日志量大之后,检索变慢是最常见的抱怨。v2.4 重写了时间分区索引,配合倒排索引预聚合,高频查询(按 service、level、时间范围过滤)的 P99 延迟平均下降约 50%。升级后无需改配置,索引会在后台自动重建。
平台现在内置 OTel Collector,控制台一键开启,自动生成 OTLP 上报配置与 Token,Java/Go/Node 应用拷贝即用,不用再自己维护 Collector 部署:
curl -X POST https://ob.example.com/otlp -H "Authorization: Bearer <token>" -d '{"resourceLogs": [...]}'
支持按时间段静默告警(如凌晨维护窗口、已知故障期间),支持按值班表轮转告警接收人,避免"全组人都被同一条告警叫醒"。排班表和静默规则都可以在告警规则里直接引用,也支持按环境(生产/测试)分别配置。
LIMIT 分页语法自动改写检索加速 — 无需任何操作,升级后索引自动重建。想确认生效,可以对大流量服务跑一条宽范围查询,和 v2.3 的基线对比延迟。
内置 OTel Collector — 打开「设置 → 采集接入 → OpenTelemetry」,开启开关,复制生成的地址和 Token,把应用指向它,一分钟内应能看到 Trace。生成的配置同时支持 gRPC(4317)和 HTTP(4318)。
告警静默 — 在任意告警规则上创建静默:选一个时间窗口(一次性的维护窗口或每周重复的规律),可选限定到某个环境:
silences:
- name: "nightly-maintenance"
match: { env: "prod" }
schedule: "0 2 * * *" # 每天 02:00
duration: "2h"
comment: "数据库备份窗口"
静默只压制通知,告警事件仍然记录,事后复盘不丢历史。
值班排班 — 定义带班次和交接时间的排班表,在告警规则的通知目标里引用它。告警触发时只通知当前值班人,超时未确认则自动升级给下一位。
从 v2.3 升级只需替换二进制并重启,配置向后兼容;启用新索引需在后台手动触发一次重建。建议先在测试环境跑一轮,确认无误再上生产。
已知问题:极端情况下(单租户日志日增超 10 亿条)新索引的压缩率会有约 5% 的波动,预计 v2.4.1 修复。