一款基于 .NET 开源、免费的数据库自治诊断平台

0 阅读3分钟

前言

今天大姚给大家分享一款基于 .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支持💖。

优秀项目和框架精选

该项目已收录至C#/.NET/.NET Core优秀项目和框架精选中,关注该精选合集,可以及时了解C#、.NET和.NET Core领域的最新动态、优质项目与最佳实践,帮助.NET开发者提升开发效率和项目质量。欢迎大家提交 PR 推荐或自荐优秀项目(让优秀的项目和框架不被埋没🤞)。