Dasha – panel de rendimiento
Dasha es un panel de rendimiento de código abierto diseñado para supervisar entornos PostgreSQL. Se conecta a los clústeres mediante un rol con permisos de solo lectura, permite conocer en todo momento qué actividad están realizando las bases de datos y proporciona orientación sobre las medidas que conviene adoptar. No requiere la instalación de ningún componente en los hosts de las bases de datos, ya sea un agente o una extensión adicional a las que ya se encuentren instaladas.
Una sola instancia de Dasha puede atender múltiples clústeres y todas sus réplicas. Como la mayoría de las estadísticas de PostgreSQL son propias de cada instancia y no se replican, Dasha consulta todos los hosts de un clúster y analiza la información de forma conjunta. Así, por ejemplo, un índice que parece no utilizarse en el servidor primario puede estar soportando toda la carga de lecturas de un servidor standby.
Características
- Índice de estado — una puntuación global de 0 a 100 para cada instancia, calculada a partir de ocho categorías, que incluye recomendaciones priorizadas y un análisis detallado por base de datos. De forma opcional, puede calcularse utilizando series temporales de Prometheus/VictoriaMetrics en lugar de SQL en un momento determinado, incorporando la evolución de la métrica y una línea base estacional.
- Análisis de consultas — permite identificar las consultas principales según su tiempo de ejecución y uso de WAL, ver las consultas que están en ejecución o bloqueadas, y guardar snapshots de
pg_stat_statementsen una base de datos de almacenamiento para compartirlos mediante una URL y compararlos con otros snapshots o con los datos actuales. - Snapshots automáticos — un proceso independiente registra snapshots de las consultas y de la contención de bloqueos cuando se producen picos de actividad o cambios de rol entre el nodo primario y la réplica. Así, a la mañana siguiente ya se dispone de las evidencias necesarias para averiguar qué ocurrió a las 03:00.
- Análisis de índices — sobredimensionamiento, duplicidades e índices no válidos, identificación de índices B-tree definidos sobre arrays y determinación de si un índice puede eliminarse de forma segura. Esta evaluación considera los reinicios de las estadísticas, los contadores específicos de cada host y los índices particionados, evitando depender exclusivamente de
idx_scan = 0. - Tablas y mantenimiento — información sobre el tamaño, incluido el desglose de TOAST; descripción de cada tabla; umbrales de autovacuum y wraparound calculados con la fórmula utilizada por PostgreSQL; seguimiento del progreso de VACUUM; e identificación de las tablas e índices con mayor actividad a partir de instantáneas delta programadas.
- Bloqueos, esperas y conexiones — árboles de bloqueos, eventos de espera clasificados por tipo, estados y procedencia de las conexiones, y detalles de las sesiones activas.
- Control de acceso — tres modalidades de autenticación: acceso abierto, claves de API estáticas u OIDC con cookies de sesión cifradas. Incluye RBAC mediante Casbin, tokens de acceso personales y limitación de solicitudes por identidad.
- MCP connector — un servidor MCP de solo lectura que permite a los asistentes de IA acceder a los diagnósticos de la flota. Incluye 26 herramientas, 5 prompts, propagación de tokens por usuario y una base de conocimiento integrada con las reglas utilizadas para calcular las puntuaciones. La interfaz está disponible en inglés, ruso y alemán.
Requisitos
- PostgreSQL 14 o posterior (probado con las versiones 14 a 18) para los clústeres monitorizados, accesible mediante un rol que disponga de los privilegios
pg_monitoryCONNECT. pg_stat_statementspara las estadísticas de las consultas;pgstattuplees opcional.- Una base de datos PostgreSQL independiente será necesaria en caso de requerir snapshots, un historial de los objetos con mayor actividad y tokens de acceso personales. El resto de las funcionalidades puede utilizarse sin dicha base de datos.
Documentación
- README — configuración, despliegue y valores de Helm.
- Modelo de cálculo del Health Score
- Changelog
Licencia
Dasha se distribuye bajo la licencia GNU General Public License v3.0; consulten LICENSE.
Página del proyecto: github.com/dbulashev/dasha

