Stack mínimo con Grafana, Mimir, Tempo, Loki y otel-collector

Stack mínimo con Grafana, Mimir, Tempo, Loki y otel-collector
Pagina de inicio de grafana

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.