Dasha 是一个面向 PostgreSQL 集群的开源性能仪表盘。它使用只读角色连接到数据库,展示集群当前状态,并给出处理建议。数据库主机上不需要安装代理,也不需要额外扩展。
一个 Dasha 实例可以服务多个集群及其副本。由于多数 PostgreSQL 统计信息是实例级别且不会复制,Dasha 会读取集群中的每台主机,并基于整体视图进行分析。例如,一个在主库上看起来未被使用的索引,可能正在承载备库上的全部读负载。
主要功能包括:按八类指标计算 0 到 100 的健康评分,并给出优先级建议;分析按执行时间和 WAL 排序的 top queries、运行中和阻塞查询;保存、共享和对比 pg_stat_statements 快照;在活动峰值或主备角色变化时自动采集查询和锁等待快照;分析索引膨胀、重复索引、无效索引和分区索引;展示表大小、TOAST 拆分、autovacuum 与 wraparound 阈值、vacuum 进度和热点对象;查看锁树、等待事件、连接状态和会话详情。
Dasha 支持开放访问、静态 API key 或 OIDC 登录,并提供基于 Casbin 的 RBAC、个人访问令牌和按身份限流。它还包含只读 MCP server,可将集群诊断能力暴露给 AI 助手。
项目要求 PostgreSQL 14 或更高版本,监控角色需要 pg_monitor 和 CONNECT 权限;查询统计依赖 pg_stat_statements,pgstattuple 为可选。
项目页:https://github.com/dbulashev/dasha README:https://github.com/dbulashev/dasha/blob/main/README.md 健康评分模型:https://github.com/dbulashev/dasha/blob/main/README-health-score.md 变更日志:https://github.com/dbulashev/dasha/blob/main/CHANGELOG.md 许可证:https://github.com/dbulashev/dasha/blob/main/LICENSE
此文章已从旧版 PostgreSQL 网站迁移。对于迁移导致的任何格式问题,我们深表歉意。