数据库观测
Diting 在协议层解析数据库语句,不需要安装驱动,也不需要修改连接串。
支持的数据库
- MySQL
- PostgreSQL
- Oracle
- ClickHouse
- MongoDB
- Redis
数据从哪来
- agent 在网络层解析数据库协议
- 语句、执行计划、耗时、返回行数、错误码一起记录
- 语句挂在具体的 span 上,能定位到服务与接口
QAN
QAN 按语句摘要聚合,回答四个问题:
- 哪条语句最慢
- 慢在哪个实例
- 谁在调用
- 用户受了什么影响
摘要链路使用独立 Kafka topic db-query-digests,collector 消费后写入 diting.dwd_db_query_digest。
实例发现
数据库实例可以自动发现,也可以手工登记。发现结果包含实例地址、类型、版本与所属服务。
关联
从一条慢 SQL 可以直接跳到:
- 所属链路与 span
- 同一时间段的日志
- 触发这次查询的浏览器会话与录像
限制
- 需要数据库内部锁等待细节时,仍要开启 Performance Schema 或对应视图
- 加密连接在未开启 TLS 明文时只能看到连接元数据
- 语句文本按配置做脱敏