egutierrez 9966851e75 Add initial project structure and configuration for monitoring suite
- Create .gitignore to exclude Python-generated files and virtual environments
- Add .python-version for Python version management
- Initialize README.md with project description and usage instructions
- Implement alloy.river configuration for Grafana Alloy observability
- Set up grafana.ini for Grafana configuration
- Configure dashboards.yml for automatic dashboard loading in Grafana
- Define datasources.yml for connecting Grafana to Prometheus, Loki, and Tempo
- Establish loki.yaml configuration for Loki logging
- Set up prometheus.yml for Prometheus metrics collection
- Configure tempo.yaml for Tempo tracing
- Create docker-compose.yml for orchestrating services
- Develop init.sh script for initializing project directories and services
- Implement main.py as the entry point for the application
- Define pyproject.toml for project metadata and dependencies
- Update uv.lock for dependency management
2025-10-06 00:52:31 +02:00

Suite de Monitoreo con Grafana, Prometheus y Mimir

Esta configuracin incluye un stack completo de monitoreo con:

  • Prometheus: Recoleccin de mtricas
  • Mimir: Almacenamiento de mtricas a largo plazo
  • Grafana: Visualizacin y dashboards

Estructura de Archivos

Uso

Iniciar los servicios

docker-compose up -d

Verificar estado

docker-compose ps

Ver logs

# Todos los servicios
docker-compose logs -f

# Servicio especfico
docker-compose logs -f grafana
docker-compose logs -f prometheus
docker-compose logs -f mimir

Detener los servicios

docker-compose down

Acceso a los Servicios

Configuracin

Modificar Configuraciones

Todos los archivos de configuracin estn en la carpeta config/ y pueden editarse directamente:

  1. Prometheus (config/prometheus/prometheus.yml):

    • Agregar nuevos targets de scraping
    • Configurar reglas de alertas
    • Modificar intervalos de recoleccin
  2. Mimir (config/mimir/mimir.yml):

    • Ajustar lmites de series
    • Configurar almacenamiento
    • Modificar configuracin de cluster
  3. Grafana (config/grafana/grafana.ini):

    • Cambiar configuracin de seguridad
    • Configurar autenticacin
    • Ajustar configuracin de la base de datos

Aplicar Cambios

Despus de modificar las configuraciones:

# Reiniciar servicios especficos
docker-compose restart prometheus
docker-compose restart mimir
docker-compose restart grafana

# O reiniciar todo
docker-compose restart

Agregar Fuentes de Datos

Edita config/grafana/provisioning/datasources/datasources.yml para agregar nuevas fuentes de datos automticamente.

Cargar Dashboards

Coloca archivos JSON de dashboards en data/grafana/dashboards/ y se cargarn automticamente.

Flujo de Datos

  1. Prometheus recolecta mtricas de los targets configurados
  2. Prometheus enva las mtricas a Mimir via remote_write
  3. Grafana consulta tanto Prometheus (datos recientes) como Mimir (datos histricos)

Personalizacin

Agregar Node Exporter

Descomenta las lneas en config/prometheus/prometheus.yml y agrega al docker-compose:

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node-exporter
    ports:
      - "9100:9100"
    networks:
      - monitoring

Agregar Alertmanager

Descomenta las lneas en config/prometheus/prometheus.yml y agrega al docker-compose:

  alertmanager:
    image: prom/alertmanager:latest
    container_name: alertmanager
    ports:
      - "9093:9093"
    networks:
      - monitoring

Troubleshooting

Verificar conectividad

# Ping entre contenedores
docker exec prometheus ping mimir
docker exec grafana ping prometheus

Verificar configuracin de Prometheus

# Verificar sintaxis de configuracin
docker exec prometheus promtool check config /etc/prometheus/prometheus.yml

Verificar configuracin de Mimir

# Ver configuracin activa
curl http://localhost:9009/config
S
Description
No description provided
Readme 152 KiB
Languages
Python 89.5%
Shell 10.5%