Apache 2.0 · Open source

Dashglass:dashboards para Prometheus, en un solo binario Go.

Un binario Go, sin base de datos, nada más que desplegar: la parte de dashboards de Grafana, y solo esa.

Desarrollado por Bleemeo sobre los mismos componentes de gráficos y de edición PromQL que nuestro propio panel de monitoreo. Editas en el navegador, revisas el diff en git.

Inicio rápido

Apúntalo a un Prometheus y abre un navegador

Ejecuta la imagen publicada contra tu propio Prometheus.

docker
docker run -p 8080:8080 -v "$(pwd)/dashboards:/dashboards" \
  ghcr.io/bleemeo/dashglass -prometheus-url http://your-prometheus:9090

Después abre http://localhost:8080. Los dashboards son archivos normales en el directorio montado: pon ese directorio en git y ya tienes GitOps. Las imágenes se etiquetan como latest y por versión (CalVer, por ejemplo 2026.07.25.120000); una etiqueta snapshot móvil sigue la rama principal y puede romperse.

¿Empiezas con una instancia vacía? La pantalla de inicio ofrece dashboards de ejemplo en un clic — «Prometheus overview» y «Prometheus internals» — construidos solo con las métricas que Prometheus expone sobre sí mismo, así que muestran datos reales en cualquier instalación.

¿Prefieres un único binario? Hay ejecutables para Linux, macOS y Windows adjuntos a cada versión:

binary
./dashglass -prometheus-url http://localhost:9090 -dashboards-dir ./dashboards

¿No tienes un Prometheus a mano? El repositorio incluye una demo de Compose con un Prometheus que se scrapea a sí mismo, para que los dashboards de ejemplo tengan datos reales:

compose
git clone https://github.com/bleemeo/dashglass && cd dashglass
docker compose up

Algo que conviene saber antes de exponerlo: una instancia nueva arranca sin autenticación, así que cualquiera que pueda alcanzarla es un administrador anónimo — un aviso en la interfaz lo recuerda. Crea el primer usuario en Admin → Users para que todos tengan que iniciar sesión, o define DASHGLASS_BOOTSTRAP_ADMIN_PASSWORD en un despliegue automatizado.

La aplicación

Una cuadrícula, un editor PromQL y un modo kiosco

Una cuadrícula de 24 columnas con secciones, deshacer/rehacer y una vista previa en vivo que usa tus variables y tu rango de tiempo reales. Los paneles se repiten sobre los valores de una variable, los enlaces de datos llevan las variables y el rango actuales a otro dashboard o a una herramienta externa, y cada gráfico admite zoom y selección. Temas claro y oscuro, y un modo kiosco para pantallas de pared.

Dashboard de Dashglass en tema oscuro: un medidor, un panel de valor y un gráfico de tráfico de red, sobre una fila de paneles de CPU repetidos por variable.

Qué hace

Construir, conectar, versionar

Los dashboards se editan en la interfaz y siguen siendo archivos normales, que puedes poner en git. Las consultas nunca salen del backend. Ese es todo el diseño.

10
tipos de panel
1
binario que desplegar
0
bases de datos que operar

Construir

  • Paneles de series temporales, valor, medidor, tabla, barras, heatmap, rejilla de estado, markdown, imagen y reloj, con unidades y umbrales.
  • Editor PromQL con autocompletado y comprobación en vivo, respaldado por la API de Prometheus.
  • Variables, incluidas las encadenadas, donde una lista depende de otra.
  • Repetición de panel por variable: una definición, una baldosa por instancia.
  • Enlaces de datos y navegación que llevan las variables actuales y $__from / $__to.
  • Dos editores: una cuadrícula visual y una vista as-code del archivo en bruto, validada al guardar.
  • Modo Explore para consultas puntuales, modo kiosco y temas claro y oscuro.

Conectar

  • El navegador nunca habla con Prometheus: cada consulta pasa por un proxy de solo lectura en el backend.
  • Las credenciales se quedan en el servidor — autenticación básica o token bearer, nunca en la página.
  • Cabeceras extra para la multitenencia de Mimir/Cortex (X-Scope-OrgID) o un esquema Authorization propio.
  • CA propia para un endpoint con autoridad privada, y certificado de cliente + clave para mTLS.
  • La prueba de conexión comprueba TLS, cabeceras y credenciales antes de guardar nada.
  • Aprovisiona la fuente de datos en dashglass.yaml, o configúrala en caliente desde Admin.

Versionar

  • Serialización determinista en JSON, YAML o TOML: cambiar un campo produce un diff de una línea.
  • Historial de git en la interfaz: recorrer los commits que tocan un dashboard, compararlos, restaurar uno.
  • Commit al guardar, en nombre del usuario conectado, para que git blame siga siendo honesto.
  • La sincronización remota hace pull a intervalos y push tras un commit, rebasando un historial divergente.
  • Vigilancia de archivos y recarga en vivo por SSE: edita un archivo en disco y el dashboard abierto lo sigue.
  • El modo aprovisionado (-readonly) rechaza toda escritura, incluidos los administradores.
  • dashglass lint valida los archivos: un dashboard roto falla en CI, no en un navegador.

Ejecutarlo

Un solo artefacto, como sea que lo despliegues

La SPA va embebida en el binario Go, así que no hay nada más que servir.

Docker

El comando de inicio rápido de arriba, desde ghcr.io/bleemeo/dashglass. Las etiquetas siguen CalVer por versión, más latest y un snapshot móvil.

Binario único

Hay ejecutables para Linux, macOS y Windows adjuntos a cada versión. Un archivo estático — solo las funciones de historial de git piden algo más: el binario git en el PATH.

Demo con Compose

Un docker compose up en un clon te da Dashglass y un Prometheus que se scrapea a sí mismo, así que los dashboards de ejemplo muestran datos reales.

Desde el código

pnpm install y luego pnpm build-binary produce el binario único con la SPA embebida. La guía de contribución cubre el ciclo de desarrollo.

Documentación:Guía de usoConfiguración anotadaDocumento de diseño

Migración

Si vienes de Grafana

Importa lo que ya tienes y comprueba exactamente qué ha cambiado.

Desde grafana.com

Pega la URL de un dashboard o su id numérico y pulsa Load. El backend solo acepta un id numérico y solo habla con grafana.com, lo que descarta los SSRF.

Desde un export JSON

Pega o sube el JSON del Share → Export de Grafana. La conversión se hace en el navegador.

Lo mejor posible, y sin ocultarlo

Se convierten los paneles habituales, las filas en secciones, las consultas PromQL, el templating y las variables label_values. Lo que no se puede mapear se importa tal cual en lugar de descartarse, y cada aproximación se lista antes de guardar.

Alcance

Lo que Dashglass no es

Son no-objetivos del documento de diseño, no huecos esperando a rellenarse.

  • No es un sistema de alertas. Ni reglas de alerta, ni canales de notificación, ni gestión de incidentes. Dashglass dibuja lo que tu Prometheus ya sabe; despertar a alguien no es su trabajo — eso le toca a Alertmanager, o a una plataforma que lo haga por ti.
  • No es una plataforma multifuente. Solo Prometheus. La capa de fuente de datos es una interfaz, así que otra sigue siendo posible más adelante, pero SQL, Loki y las trazas están explícitamente fuera de alcance hoy. Mimir y Cortex funcionan, mediante la cabecera de tenencia.
  • No es multitenant. Tres roles fijos — viewer, editor, admin — con usuarios locales, cabeceras de proxy inverso u OIDC. Sin ACL por dashboard, sin equipos, sin organizaciones. Quien lo autoaloja tiene roles de verdad; la línea se traza en el grano fino y en la multitenencia.
  • No es un marketplace de plugins. Los paneles son plugins, pero se componen en tiempo de compilación. No hay carga de plugins de terceros en caliente, ni marketplace que recorrer.

Preguntas que nos hacen sobre Dashglass

Dónde encaja y dónde se detiene a propósito.

¿Es un sustituto de Grafana?

Para la parte de dashboards, esa es exactamente la intención, y además importa lo que ya has construido. Para lo demás, no: las alertas, las fuentes de datos que no sean Prometheus y un ecosistema de plugins son no-objetivos deliberados. Si los necesitas, quédate con Grafana.

¿Qué fuentes de datos están soportadas?

Prometheus y todo lo que hable su API HTTP, incluidos Mimir y Cortex, donde la cabecera de tenencia se indica en la configuración de la fuente. SQL, Loki y las trazas están fuera de alcance.

¿El navegador puede llegar directamente a mi Prometheus?

Nunca. Cada consulta pasa por un proxy de solo lectura en el backend Go, así que la URL, las credenciales, la CA y el certificado de cliente se quedan en el servidor y no llegan nunca a la página.

¿Se pueden aprovisionar y bloquear los dashboards?

Sí. Arranca con -readonly (o dashboards.readonly: true) y la API rechaza las escrituras mientras la interfaz retira toda opción de edición, administradores incluidos. Los dashboards se gestionan entonces solo editando los archivos en git.

¿Cómo funciona la autenticación?

Una instancia nueva está abierta a propósito: mientras no exista el primer usuario, todo el mundo es administrador anónimo, y un aviso lo indica. Crea el primer administrador para que todos tengan que iniciar sesión. A partir de ahí: usuarios locales con tres roles acumulativos, autenticación por cabeceras de proxy inverso, u OIDC con authorization code + PKCE y mapeo de grupos a roles. LDAP está previsto, no entregado.

¿Hace falta git para usarlo?

No. Los dashboards son archivos; git es lo que hace que esos archivos sean revisables. Las funciones de historial necesitan que el directorio sea un repositorio git y que el binario git esté en el PATH; sin una de las dos, todo lo demás funciona y esas funciones simplemente no aparecen. Convierte el directorio en repositorio cuando quieras.

Construido sobre herramientas que ya conoces

Dashglass incluye varios proyectos open source como bibliotecas: Apache ECharts para los gráficos, el paquete oficial CodeMirror PromQL de Prometheus para la edición y el autocompletado, react-grid-layout para la cuadrícula, Zod para el esquema de los dashboards y la validación de archivos, Chakra UI y React en la interfaz, y Go con la SPA embebida para el artefacto único que despliegas.

Dashglass dibuja los dashboards. No te va a despertar.

Aquí las alertas son un no-objetivo, a propósito. Bleemeo Cloud añade alertas, notificaciones, retención larga y paneles sobre todos tus servidores, con las mismas métricas.

¿Te falta el agente que llena Prometheus? Descubre Glouton.

Hasta 3 servidores gratis, para siempre · Sin tarjeta de crédito