MySQL 9.7 把 Telemetry 组件放进社区版:日志、指标、追踪统一走 OTLP
MySQL 9.7 把原先只在企业版提供的 Telemetry 组件移到了社区版(WL #17224)。发布说明见:MySQL 9.7 Release Notes。
变更内容
- OpenTelemetry / OTLP 集成
- 导出 logs、metrics、traces 三类数据
- 组件式配置:像其它 server component 一样安装和调参,不是独立插件
- 跟集中式监控与追踪链路对齐,纳入现有的可观测性流程
对 DBA、SRE 和平台团队来说,这意味着 MySQL 可以直接接入技术栈里其它服务已经在用的那套可观测性系统。
工程权衡
收益很直接:MySQL 接进了和其它服务相同的 OTLP 管道,MySQL 的 span 会和它所属的应用 trace 落到同一块面板上。集中监控里那个需要自己写 exporter 去填的“MySQL 形状的洞”没有了,不用再维护一个只服务 MySQL 的旁路导出器。
代价也要提前算。在繁忙实例上,collector 以及它与 MySQL 服务器之间的网络链路要多扛一份 OTLP 流量,这不是免费的。采样策略和导出频率要确认清楚:trace 全采、指标高频导出,在本身压力就大的实例上,监控会变成新的负载源。日志导出尤其要注意量级,慢查询日志和错误日志的体量跟业务写入量直接相关。
落地步骤
- 确认版本。 需要 9.7 LTS。9.7.0 于 2026-04-21 GA;MySQL 8.0 已 EOL。9.7.x 后续补丁:9.7.1(2026-06-16)、9.7.2(2026-07-28)、9.7.3(2026-08-18)、9.7.4(2026-10-20)。Percona 建议从 9.7.1 起用,因为 9.7.0 带有较高严重级别的 CVE。
- 安装 Telemetry 组件。 按 server component 的方式装入实例,而不是当作插件处理。
- 指向 collector 端点。 把导出目标配置成 OTLP collector,日志、指标、追踪共用同一条链路。具体的组件安装语句、端点与采样相关配置项名称,请查 9.7 官方文档,各版本参数命名有差异,不要照抄别处的示例变量名。
- 先验证再上生产。 在从库或预发环境打开导出,观察 collector 的接收速率、网络带宽占用,以及 MySQL 侧 CPU 与延迟变化,确认采样率和导出间隔在可接受范围内,再推到主库。
上述流程为组件能力的落地顺序说明,未在实例上实测,参数取值以官方文档与实际观测为准。
同版本其它社区版改动(背景)
9.7 社区版还包含 Hypergraph Optimizer、JSON Duality Views 的 DML 支持,以及 Replication Applier Metrics、Group Replication 的流控与选主相关组件。对已经在跑 9.7 的团队来说,这些和 Telemetry 一起构成了升级到该版本的额外理由。