5357cedc55
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
7.3 KiB
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:
- ✅ Detecta si Metabase necesita setup inicial
- ✅ Crea usuario admin automáticamente
- ✅ Configura datasources de PostgreSQL y ClickHouse
- ✅ 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
- Login en http://localhost:3500
- Ir a Connections > Data sources
- Verificar datasources "PostgreSQL" y "ClickHouse"
- Hacer clic en cada uno y presionar Test (debe mostrar ✓)
Metabase
- Login en http://localhost:3200
- Ir a Admin Settings > Databases
- Verificar "PostgreSQL Main" y "ClickHouse Analytics"
- Estado debe mostrar "Connected"
Rill
- Abrir http://localhost:9009
- Ver pestaña Sources
- Verificar
postgres_mainyclickhouse_main - 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
- New Dashboard → Add visualization
- Seleccionar datasource "PostgreSQL"
- Query:
SELECT * FROM events ORDER BY timestamp DESC LIMIT 10 - Visualizar como tabla o gráfico
En Metabase
- New → Question
- Seleccionar "PostgreSQL Main"
- Simple Question → Pick Table → events
- Guardar y añadir a dashboard
En Rill
- Crear modelo en
rill-data/rill.yaml:
models:
- name: recent_events
sql: |
SELECT * FROM events
ORDER BY timestamp DESC
LIMIT 100
source: postgres_main
- 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
- Grafana Datasources: http://localhost:3500/connections/datasources
- Metabase Admin: http://localhost:3200/admin/databases
- Rill Dashboard: http://localhost:9009
- DBGate (DB Manager): http://localhost:3300
- Marquez (Lineage): http://localhost:3001
- Homer (Dashboard Hub): http://localhost:8080
Última actualización: 2026-03-23 Configuración: Automática via scripts