前言
今天大姚给大家分享一款基于 .NET 开源、免费的数据库自治诊断平台:DBPilot。
它解决的是 DBA 日常工作中最耗时的痛点:性能趋势分析、Top SQL 定位、阻塞与死锁排查,原本散落在多个工具和脚本里的活,现在一个 Web 控制台全搞定。
项目介绍
DBPilot 是一个自托管的数据库自治诊断平台。它持续采集实例的性能数据,在同一个 Web 控制台里完成日常 DBA 工作流:性能趋势与 AAS 负载拆解、Top SQL、执行计划变更跟踪、缺失索引建议、索引使用与碎片、阻塞分析、死锁分析、慢日志。
解决什么痛点
日常数据库运维中,排查性能问题经常要开一堆工具:SSMS 看活动会话、第三方工具看趋势、手动抓死锁图、翻慢查询日志。信息分散,口径不统一,效率低。
DBPilot 把这些采集和展示统一到一个服务里。实时页面直查实例的 DMV 视图,历史页面读平台库,两路共用同一套数据口径(噪音排除、SQL 指纹、时间窗口)。接入实例后,实时页面立即可用,历史数据随运行自动积累。
项目亮点
- 单进程部署:.NET 8.0+ 单进程,启动自动建库建表,支持 SQL Server / MySQL / PostgreSQL / SQLite
- 三引擎监控:覆盖 SQL Server 2008~2022、MySQL 8.0+、PostgreSQL 13+,平台库与被监控引擎独立组合
- <1% CPU 开销:仅读取 DMV / pg_stat_* / performance_schema,不扫业务表
- AI 就绪:内置只读 MCP Server,提供 11 个诊断工具,可接入 Claude Code / Codex CLI
- 能力矩阵 UI:按引擎能力自动适配,缺失功能隐藏或降级,API 返回可操作指引
项目架构
核心功能
- 实例概览:一屏展示实例健康、指标卡、近期事件与 Top SQL 摘要。
- 性能趋势:10秒粒度监控核心指标(30天留存),支持叠加死锁/慢SQL等事件竖线。
- 性能洞察:AAS 拆解 CPU/锁/IO/等待,快速定位高负载来源。
- Top SQL:实时榜与历史趋势,支持相同指纹合并及噪音排除。
- 执行计划:自动快照版本变化,对比资源消耗、计划树与 XML。
- 缺失索引:按优化器推荐排序,提供建索引脚本与重叠提示。
- 索引维护:识别无用索引附删除脚本,提供 REBUILD / REORGANIZE 修复脚本。
- 阻塞分析:实时展示阻塞树(头阻塞者/链路/等待时长)及历史统计。
- 死锁分析:自动捕获死锁,图形化展示环路与语句持锁/等待关系。
- 慢日志:自动留档超标 SQL,保留完整文本、耗时、IO 及指纹。
引擎支持矩阵
项目运行效果
项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。
- GitHub: github.com/SkyChenSky/…
优秀项目和框架精选
该项目已收录至C#/.NET/.NET Core优秀项目和框架精选中,关注该精选合集,可以及时了解C#、.NET和.NET Core领域的最新动态、优质项目与最佳实践,帮助.NET开发者提升开发效率和项目质量。欢迎大家提交 PR 推荐或自荐优秀项目(让优秀的项目和框架不被埋没🤞)。
- GitHub开源地址: github.com/YSGStudyHar…
- Gitee开源地址: gitee.com/ysgdaydayup…