Stack mínimo con Grafana, Mimir, Tempo, Loki y otel-collector
En este post vamos a ver como montar un stack de grafana con docker compose. Configuraremos:
- Grafana para dashboards
- Mimir para metricas
- Tempo para trazas
- Loki para logs
- Otel-collector como punto de entrada
TL;DR
git clone https://gitlab.com/mborrajo-mborrajo/minimal-grafana-stack.git
cd minimal-grafana-stack
docker compose up -d
Abrimos el navegador en http://localhost:3000/

Usaremos admin/admin. A continuacion nos pedirá cambiar la password de admin:

Ya estamos dentro:

Si vamos a Home > Drilldown > Metrics deberimos poder ver las métricas de host que está recopilando el colector de otel.

Arquitectura
Vamos a ver un poco más en detalle la arquitectura que hemos montado:
La entrada de datos es via otlp por los puestos estándar de open telemetry (4317/grpc y 4318/http ). Desde ahí el colector exporta las métricas a Mimir, trazas a Tempo y log a Loki.
Cada uno de estos tres servicios utiliza como backend de almacenamiento una instancia de minio que tiene un bucket para cada uno de ellos.
De cara a visualizar esta telemetría, grafana esta accesible por el puerto 3000.
En futuros posts iremos entrando mas en detalle en la configuración de cada uno de los componentes.