Files
automatic-process/VISUALIZATION_SETUP.md
T
egutierrez 5357cedc55 docs: add visualization setup guide and update Rill config
Añadida documentación de configuración de herramientas de visualización.

Cambios:
- Nuevo archivo VISUALIZATION_SETUP.md con guía de setup de Grafana/Metabase/Rill
- Actualizada configuración de Rill (rill-data/rill.yaml) con nuevas fuentes de datos

Contenido de VISUALIZATION_SETUP.md:
- Configuración de datasources para Grafana
- Setup de Metabase con PostgreSQL/ClickHouse
- Configuración de Rill con DuckDB
- Ejemplos de queries y dashboards
2026-03-23 23:41:26 +01:00

7.3 KiB

📊 Configuración de Herramientas de Visualización

Estado de Configuración

Todas las herramientas de visualización están conectadas a PostgreSQL y ClickHouse:

  • Grafana - Datasources configurados via provisioning YAML
  • Metabase - Configuración automática via API (sin UI)
  • Rill - Sources configurados en rill.yaml

🔑 Credenciales de Acceso

Grafana

  • URL: http://localhost:3500
  • Usuario: admin
  • Contraseña: admin123
  • Datasources configurados:
    • PostgreSQL (postgres-main:5432)
    • ClickHouse (clickhouse:8123)
    • Prometheus
    • Loki
    • Tempo

Metabase

  • URL: http://localhost:3200
  • Usuario: admin@example.com
  • Contraseña: Admin123!@#
  • Datasources configurados:
    • PostgreSQL Main (postgres-main:5432)
    • ClickHouse Analytics (clickhouse:8123)
    • Sample Database (H2 - demo)

Rill

  • URL: http://localhost:9009
  • Autenticación: No requiere
  • Sources configurados:
    • postgres_main (postgres-main:5432)
    • clickhouse_main (clickhouse:9000)

🚀 Configuración Automática de Metabase

El script configure_metabase.py configura automáticamente Metabase:

Primera vez (setup inicial):

cd /home/lucas/dagu/scripts
./configure_metabase.py

Este script:

  1. Detecta si Metabase necesita setup inicial
  2. Crea usuario admin automáticamente
  3. Configura datasources de PostgreSQL y ClickHouse
  4. Todo sin interacción manual

Si reseteas Metabase:

# Eliminar datos de Metabase
docker-compose -f docker-compose-analytics.yml down metabase metabase-db
docker volume rm automatic_process_metabase-data

# Reiniciar y configurar automáticamente
docker-compose -f docker-compose-analytics.yml up -d metabase-db metabase
sleep 50  # Esperar a que inicie
./configure_metabase.py

🔧 Archivos de Configuración

Grafana

Ubicación: /home/lucas/DataProyects/suite_logs/config/grafana/provisioning/datasources/datasources.yml

Datasources PostgreSQL y ClickHouse añadidos automáticamente al desplegar Grafana.

Rill

Ubicación: /home/lucas/AutomaticProyects/automatic_process/rill-data/rill.yaml

sources:
  - name: postgres_main
    type: sql
    connector: postgres
    settings:
      host: postgres-main
      port: 5432
      database: postgres
      user: postgres
      password: postgres
      ssl_mode: disable
    raw_sql: true

  - name: clickhouse_main
    type: sql
    connector: clickhouse
    settings:
      host: clickhouse
      port: 9000
      database: default
      user: default
      password: clickhouse
      ssl: false

Verificación de Conectividad

Script de Verificación

/home/lucas/dagu/scripts/test_db_connections.sh

Verifica:

  • ✓ PostgreSQL (localhost:5434)
  • ✓ ClickHouse (localhost:8123)
  • ✓ Grafana (localhost:3500)
  • ✓ Metabase (localhost:3200)
  • ✓ Rill (localhost:9009)

Verificación Manual

Grafana

  1. Login en http://localhost:3500
  2. Ir a Connections > Data sources
  3. Verificar datasources "PostgreSQL" y "ClickHouse"
  4. Hacer clic en cada uno y presionar Test (debe mostrar ✓)

Metabase

  1. Login en http://localhost:3200
  2. Ir a Admin Settings > Databases
  3. Verificar "PostgreSQL Main" y "ClickHouse Analytics"
  4. Estado debe mostrar "Connected"

Rill

  1. Abrir http://localhost:9009
  2. Ver pestaña Sources
  3. Verificar postgres_main y clickhouse_main
  4. Ejecutar query de prueba: SELECT 1

📊 Bases de Datos Disponibles

PostgreSQL

  • Host interno: postgres-main:5432
  • Host externo: localhost:5434
  • Usuario: postgres
  • Contraseña: postgres
  • Base de datos: postgres
  • Estado: Vacía (sin tablas)

ClickHouse

  • Host interno: clickhouse:9000 (native), clickhouse:8123 (HTTP)
  • Host externo: localhost:9000, localhost:8123
  • Usuario: default
  • Contraseña: clickhouse
  • Base de datos: default
  • Estado: Vacía (sin tablas)

🎯 Próximos Pasos

1. Crear Tablas de Ejemplo (Opcional)

PostgreSQL

-- Conectar vía psql
PGPASSWORD=postgres psql -h localhost -p 5434 -U postgres -d postgres

-- Crear tabla de eventos
CREATE TABLE events (
    id SERIAL PRIMARY KEY,
    timestamp TIMESTAMP DEFAULT NOW(),
    event_type VARCHAR(100),
    user_id INTEGER,
    data JSONB
);

-- Insertar datos de prueba
INSERT INTO events (event_type, user_id, data)
VALUES
    ('login', 1, '{"ip": "192.168.1.1"}'),
    ('purchase', 1, '{"product": "laptop", "amount": 1200}'),
    ('logout', 1, '{"duration": 3600}');

ClickHouse

-- Conectar vía clickhouse-client
clickhouse-client --host localhost --port 9000 --user default --password clickhouse

-- Crear tabla de métricas
CREATE TABLE metrics (
    timestamp DateTime,
    metric_name String,
    metric_value Float64,
    tags Map(String, String)
) ENGINE = MergeTree()
ORDER BY timestamp;

-- Insertar datos de prueba
INSERT INTO metrics VALUES
    (now(), 'cpu_usage', 45.2, {'host': 'server1'}),
    (now(), 'memory_usage', 72.8, {'host': 'server1'}),
    (now(), 'disk_usage', 58.3, {'host': 'server1'});

2. Crear Dashboards de Ejemplo

En Grafana

  1. New Dashboard → Add visualization
  2. Seleccionar datasource "PostgreSQL"
  3. Query: SELECT * FROM events ORDER BY timestamp DESC LIMIT 10
  4. Visualizar como tabla o gráfico

En Metabase

  1. New → Question
  2. Seleccionar "PostgreSQL Main"
  3. Simple Question → Pick Table → events
  4. Guardar y añadir a dashboard

En Rill

  1. Crear modelo en rill-data/rill.yaml:
models:
  - name: recent_events
    sql: |
      SELECT * FROM events
      ORDER BY timestamp DESC
      LIMIT 100
    source: postgres_main
  1. Restart Rill: docker-compose -f docker-compose-analytics.yml restart rill

3. Configurar Pipelines con Dagu

Ver TRANSFORMATIONS.md para ejemplos de DAGs que:

  • Extraigan datos de APIs
  • Transformen datos
  • Carguen a PostgreSQL/ClickHouse
  • Generen visualizaciones automáticas

🔧 Troubleshooting

Metabase no se configura

# Verificar logs
docker logs metabase

# Resetear y reconfigurar
docker-compose -f docker-compose-analytics.yml down metabase metabase-db
docker volume rm automatic_process_metabase-data
docker-compose -f docker-compose-analytics.yml up -d metabase-db metabase
sleep 50
/home/lucas/dagu/scripts/configure_metabase.py

Grafana no ve las bases de datos

# Verificar que Grafana está en ambas redes
docker inspect grafana | grep -A 10 Networks

# Debe mostrar: suite-logs_monitoring y automatic_process_default

# Probar DNS desde Grafana
docker exec grafana nslookup postgres-main
docker exec grafana nslookup clickhouse

Rill no carga sources

# Verificar configuración
cat /home/lucas/AutomaticProyects/automatic_process/rill-data/rill.yaml

# Revisar logs
docker logs rill

# Reiniciar
docker-compose -f docker-compose-analytics.yml restart rill

📚 Referencias


Última actualización: 2026-03-23 Configuración: Automática via scripts