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

炬鲸 OBSERVE v2.5.0:日志转指标、告警升级与采样配置

v2.5.0 上线三项大能力:从日志流直接生成可告警指标、告警升级与值班轮转、链路采样按服务精细控制。本文逐项说明用法与升级注意事项。

日志转指标:从日志流到可告警的时序

之前想把日志里的数字变成指标,得先接一套指标采集,再和日志系统对齐标签——两套系统、两套保留期,外加一堆胶水代码。v2.5.0 把这条路走通了:在检索语句上直接定义一个"日志转指标"规则,系统周期性把命中的日志聚合成时序指标。

用法很简单,指定查询、聚合方式和目标指标名即可。例如统计每分钟按 level 分组的错误数:

source: app-logs AND level:ERROR
| rate 1m by level
-> metric: app_error_rate

生成出的指标和原生指标一样,能建大盘、配告警、设保留期。适合把"每分钟登录失败次数""按地域的 5xx 比例"这类以前只能靠脚本算的数值,直接变成有历史、能回溯的时序,还不用多维护一套采集器。

告警升级与值班轮转

单条告警通知一次,深夜故障很容易被漏掉。v2.5.0 引入升级链:告警触发后先通知值班人,N 分钟未确认自动升级到上一级,可设最多三级。每一级可以指定不同的通知渠道——一级用企业微信,二级短信,三级电话。

值班轮转按周或按天生成排班,告警按"当前值班人"路由,而不是固定发给某个人。规则配置里加两个字段就生效:

escalation:
  steps:
    - wait: 5m
    - wait: 10m
    - wait: 15m
oncall: team-ops-weekly

这样一次 page-out 不会再死在一条没人看的通知上,交接班也不再是一张没人更新的表格。

链路采样按服务精细控制

全局采样率一刀切,要么漏掉慢请求要么成本爆炸。v2.5.0 把采样粒度下放到服务:给核心链路设 100% 采样,边缘服务降到 5%,同时支持"错误必采"——凡是带 error 标签的 span 无论采样率多少都保留。

配置按服务覆盖全局默认值,热更新生效,不用重启采集器。排查慢调用时也省心:不会再出现"关键服务恰好没采到"的尴尬,尾部被采样掉的异常也依然可见。

其他改进与升级注意

此外修复了日志检索在大时间跨度下的分页游标问题,信创镜像补齐了 ARM 架构的采集器插件,Grok 解析器新增了 30 多个常见格式模板。

升级注意两点:一是升级前导出告警规则与采样配置做备份,本次部分配置结构有调整;二是日志转指标规则上线后会产生新的时序写入,注意预留时序存储空间。滚动升级即可,无需停服,新功能均为增量,现有大盘和告警保持原样生效。