← 返回文章列表
更新日志
4 分钟阅读
炬鲸团队
OBSERVE v2.7.0 发布:OpenTelemetry Logs 原生支持与 eBPF 火焰图
v2.7.0 更新说明:OpenTelemetry Logs 原生上报、eBPF 火焰图、告警规则回放测试台,告警评估并发化提速 70%,并修复多项信创兼容问题。
本次更新概览
v2.7.0 兑现了上个大版本承诺的两件事:OpenTelemetry Logs 原生支持,以及 eBPF 火焰图。同时做了告警引擎的性能优化和一批信创环境的兼容修复。下面逐条说明,升级前先读「升级注意事项」。
新功能
- OpenTelemetry Logs 原生支持:日志可直接通过 OTLP 协议上报(gRPC/HTTP),不再依赖文件采集 Agent。Java、Go、Python 应用的 SDK 直接发日志,字段、资源属性、trace 关联一次性到位;
- eBPF 火焰图:基于 eBPF 采集主机 CPU/内存火焰图,无需对应用插桩,也不用重启,就能看到进程级的调用热点;
- 告警规则测试台:规则保存前可以拿历史数据回放验证,看它会不会误报漏报,不用等真故障来试;
- 日志字段脱敏规则:内置手机号、身份证号、银行卡号等脱敏模板,采集时自动打码,敏感数据不进存储。
性能优化
- 告警评估引擎从串行改为并发评估,1000 条规则的平均评估耗时下降约 70%;
- OTLP 接收端增加批量写入合并,高并发上报时内存占用更平稳;
- 日志检索的列存读取路径优化,大结果集分页查询延迟下降约 40%。
问题修复
- 修复麒麟 V10 下 eBPF 程序加载失败的问题;
- 修复达梦数据库在大小写敏感模式下初始化脚本执行报错的问题;
- 修复跨租户查询在某些边界条件下绕过鉴权的问题(安全修复,建议尽快升级);
- 修复告警静默窗口跨天计算错误的问题;
- 修复 OTLP 日志上报时 trace_id 关联偶发丢失的问题。
升级注意事项
- 升级前备份配置与数据库,本次无索引格式变更,不需要重建索引;
- 启用 OpenTelemetry Logs 前,确认采集网关已升级到同版本,否则日志协议解析会失败;
- eBPF 火焰图要求内核 4.18+(麒麟 V10 默认满足),需要 root 权限加载 eBPF 程序,容器化部署时注意 privileged 配置;
- 告警评估并发数新增配置项
alert.eval_concurrency,默认 8,规则量大的环境可调高; - 建议升级后做一轮冒烟:发一条 OTLP 日志、跑一条规则回放、看一张 eBPF 火焰图。
已知问题
- eBPF 火焰图在容器环境默认只显示宿主机进程,容器内进程的映射下个补丁版补齐;
- OTLP 日志的
body 字段若为非字符串类型,暂不支持全文检索,需在 SDK 侧转成字符串; - 告警规则回放对「持续时长(for)」类规则只做近似模拟,结果供参考,不代表生产行为。
后续计划
v2.8.0 开始规划,优先做两件事:告警根因分析(把告警和链路、日志自动关联,给出可疑根因排序),以及日志检索的自然语言转 SQL。有想法可以到版本说明的 issue 区投票。