merge: quick/simplify-stack-alloy-prometheus-loki-grafana — Simplificación del stack a Alloy + Prometheus + Loki + Grafana
Deploy to Coolify / deploy (push) Has been cancelled

This commit is contained in:
2026-03-23 20:01:31 +01:00
2 changed files with 141 additions and 155 deletions
+78 -78
View File
@@ -42,32 +42,32 @@ prometheus.scrape "loki" {
job_name = "loki"
}
// Scraping de Tempo
prometheus.scrape "tempo" {
targets = [{"__address__" = "tempo:3200"}]
forward_to = [prometheus.remote_write.prometheus.receiver]
scrape_interval = "15s"
metrics_path = "/metrics"
job_name = "tempo"
}
// // Scraping de Tempo
// prometheus.scrape "tempo" {
// targets = [{"__address__" = "tempo:3200"}]
// forward_to = [prometheus.remote_write.prometheus.receiver]
// scrape_interval = "15s"
// metrics_path = "/metrics"
// job_name = "tempo"
// }
// Scraping de Node Exporter (métricas del host Docker)
prometheus.scrape "node_exporter" {
targets = [{"__address__" = "node-exporter:9100"}]
forward_to = [prometheus.remote_write.prometheus.receiver]
scrape_interval = "15s"
metrics_path = "/metrics"
job_name = "node_exporter"
}
// // Scraping de Node Exporter (métricas del host Docker)
// prometheus.scrape "node_exporter" {
// targets = [{"__address__" = "node-exporter:9100"}]
// forward_to = [prometheus.remote_write.prometheus.receiver]
// scrape_interval = "15s"
// metrics_path = "/metrics"
// job_name = "node_exporter"
// }
// Scraping de cAdvisor (métricas detalladas de Docker/containers)
prometheus.scrape "cadvisor" {
targets = [{"__address__" = "cadvisor:8080"}]
forward_to = [prometheus.remote_write.prometheus.receiver]
scrape_interval = "15s"
metrics_path = "/metrics"
job_name = "cadvisor"
}
// // Scraping de cAdvisor (métricas detalladas de Docker/containers)
// prometheus.scrape "cadvisor" {
// targets = [{"__address__" = "cadvisor:8080"}]
// forward_to = [prometheus.remote_write.prometheus.receiver]
// scrape_interval = "15s"
// metrics_path = "/metrics"
// job_name = "cadvisor"
// }
// Scraping fijo para métricas expuestas desde el host (scripts Python)
// Corre por defecto en host.docker.internal:9102 para PrometheusMetric
@@ -168,66 +168,66 @@ loki.write "loki" {
}
//=============================================================================
// TEMPO - TRAZAS
// TEMPO - TRAZAS (COMENTADO - NO SE USA)
//=============================================================================
// Receptor OTLP
otelcol.receiver.otlp "tempo" {
grpc {
endpoint = "0.0.0.0:4317"
}
http {
endpoint = "0.0.0.0:4318"
}
output {
traces = [otelcol.processor.batch.tempo.input]
}
}
// // Receptor OTLP
// otelcol.receiver.otlp "tempo" {
// grpc {
// endpoint = "0.0.0.0:4317"
// }
// http {
// endpoint = "0.0.0.0:4318"
// }
// output {
// traces = [otelcol.processor.batch.tempo.input]
// }
// }
// Receptor Jaeger
otelcol.receiver.jaeger "jaeger_traces" {
protocols {
grpc {
endpoint = "0.0.0.0:14250"
}
thrift_http {
endpoint = "0.0.0.0:14268"
}
thrift_compact {
endpoint = "0.0.0.0:6831"
}
}
output {
traces = [otelcol.processor.batch.tempo.input]
}
}
// // Receptor Jaeger
// otelcol.receiver.jaeger "jaeger_traces" {
// protocols {
// grpc {
// endpoint = "0.0.0.0:14250"
// }
// thrift_http {
// endpoint = "0.0.0.0:14268"
// }
// thrift_compact {
// endpoint = "0.0.0.0:6831"
// }
// }
// output {
// traces = [otelcol.processor.batch.tempo.input]
// }
// }
// Receptor Zipkin
otelcol.receiver.zipkin "zipkin_traces" {
endpoint = "0.0.0.0:9411"
output {
traces = [otelcol.processor.batch.tempo.input]
}
}
// // Receptor Zipkin
// otelcol.receiver.zipkin "zipkin_traces" {
// endpoint = "0.0.0.0:9411"
// output {
// traces = [otelcol.processor.batch.tempo.input]
// }
// }
// Procesador batch
otelcol.processor.batch "tempo" {
send_batch_size = 1024
timeout = "1s"
output {
traces = [otelcol.exporter.otlp.tempo.input]
}
}
// // Procesador batch
// otelcol.processor.batch "tempo" {
// send_batch_size = 1024
// timeout = "1s"
// output {
// traces = [otelcol.exporter.otlp.tempo.input]
// }
// }
// Exportador a Tempo
otelcol.exporter.otlp "tempo" {
client {
endpoint = "http://tempo:4317"
tls {
insecure = true
}
}
}
// // Exportador a Tempo
// otelcol.exporter.otlp "tempo" {
// client {
// endpoint = "http://tempo:4317"
// tls {
// insecure = true
// }
// }
// }
//=============================================================================
// CONFIGURACIÓN GENERAL
+63 -77
View File
@@ -33,41 +33,29 @@ services:
- monitoring
restart: always
# Tempo para trazas - Solo almacenamiento (Alloy maneja la recolección)
tempo:
image: grafana/tempo:latest
container_name: tempo
ports:
- "${TEMPO_PORT:-3200}:3200" # Solo puerto de consulta, sin endpoints de recepción
volumes:
- ./config/tempo/tempo.yaml:/etc/tempo/tempo.yaml
- tempo_data:/var/tempo
command:
- -config.file=/etc/tempo/tempo.yaml
networks:
- monitoring
restart: always
# # Tempo para trazas - Solo almacenamiento (Alloy maneja la recolección)
# tempo:
# image: grafana/tempo:latest
# container_name: tempo
# ports:
# - "${TEMPO_PORT:-3200}:3200" # Solo puerto de consulta, sin endpoints de recepción
# volumes:
# - ./config/tempo/tempo.yaml:/etc/tempo/tempo.yaml
# - tempo_data:/var/tempo
# command:
# - -config.file=/etc/tempo/tempo.yaml
# networks:
# - monitoring
# restart: always
# Grafana Alloy para colección de datos - ÚNICA PUERTA DE ENTRADA
# Grafana Alloy para colección de métricas y logs
alloy:
image: grafana/alloy:latest
container_name: alloy
ports:
- "${ALLOY_UI_PORT:-12345}:12345" # Puerto para la UI de Alloy
# Puertos para métricas
- "${ALLOY_METRICS_PORT:-9999}:9999" # HTTP receiver para métricas externas
# Puertos para logs
- "${ALLOY_LOGS_HTTP_PORT:-3101}:3101" # HTTP receiver para logs externos
- "${ALLOY_SYSLOG_PORT:-1514}:1514" # Syslog TCP receiver
# Puertos para trazas - OpenTelemetry
- "${ALLOY_OTLP_GRPC_PORT:-4317}:4317" # OTLP gRPC
- "${ALLOY_OTLP_HTTP_PORT:-4318}:4318" # OTLP HTTP
# Puertos para trazas - Jaeger compatibility
- "${ALLOY_JAEGER_GRPC_PORT:-14250}:14250" # Jaeger gRPC
- "${ALLOY_JAEGER_HTTP_PORT:-14268}:14268" # Jaeger HTTP
- "${ALLOY_JAEGER_COMPACT_PORT:-6831}:6831/udp" # Jaeger compact thrift
# Puertos para trazas - Zipkin compatibility
- "${ALLOY_ZIPKIN_PORT:-9411}:9411" # Zipkin HTTP
volumes:
- ./config/alloy/alloy.river:/etc/alloy/config.river
- /var/run/docker.sock:/var/run/docker.sock:ro
@@ -89,7 +77,6 @@ services:
depends_on:
- prometheus
- loki
- tempo
# Grafana para visualización
grafana:
@@ -115,56 +102,55 @@ services:
depends_on:
- prometheus
- loki
- tempo
# Node Exporter para métricas del host
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
ports:
- "${NODE_EXPORTER_PORT:-9100}:9100"
command:
- '--path.rootfs=/host'
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/host:ro
networks:
- monitoring
restart: always
# # Node Exporter para métricas del host
# node-exporter:
# image: prom/node-exporter:latest
# container_name: node-exporter
# ports:
# - "${NODE_EXPORTER_PORT:-9100}:9100"
# command:
# - '--path.rootfs=/host'
# volumes:
# - /proc:/host/proc:ro
# - /sys:/host/sys:ro
# - /:/host:ro
# networks:
# - monitoring
# restart: always
# cAdvisor para métricas detalladas de Docker
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
privileged: true
ports:
- "${CADVISOR_PORT:-8081}:8080"
volumes:
- /:/rootfs:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
networks:
- monitoring
restart: always
# # cAdvisor para métricas detalladas de Docker
# cadvisor:
# image: gcr.io/cadvisor/cadvisor:latest
# container_name: cadvisor
# privileged: true
# ports:
# - "${CADVISOR_PORT:-8081}:8080"
# volumes:
# - /:/rootfs:ro
# - /var/run/docker.sock:/var/run/docker.sock:ro
# - /sys:/sys:ro
# - /var/lib/docker/:/var/lib/docker:ro
# - /dev/disk/:/dev/disk:ro
# networks:
# - monitoring
# restart: always
# Promtail para exportar logs de todos los contenedores hacia Alloy
promtail:
image: grafana/promtail:latest
container_name: promtail
command: -config.file=/etc/promtail/promtail-config.yml
volumes:
- ./config/promtail/promtail-config.yml:/etc/promtail/promtail-config.yml:ro
- promtail_positions:/var/lib/promtail
- /var/run/docker.sock:/var/run/docker.sock:ro
- /var/lib/docker/containers:/var/lib/docker/containers:ro
networks:
- monitoring
restart: always
depends_on:
- alloy
# # Promtail para exportar logs de todos los contenedores hacia Alloy
# promtail:
# image: grafana/promtail:latest
# container_name: promtail
# command: -config.file=/etc/promtail/promtail-config.yml
# volumes:
# - ./config/promtail/promtail-config.yml:/etc/promtail/promtail-config.yml:ro
# - promtail_positions:/var/lib/promtail
# - /var/run/docker.sock:/var/run/docker.sock:ro
# - /var/lib/docker/containers:/var/lib/docker/containers:ro
# networks:
# - monitoring
# restart: always
# depends_on:
# - alloy
networks:
monitoring:
@@ -174,7 +160,7 @@ networks:
volumes:
prometheus_data:
loki_data:
tempo_data:
alloy_data:
grafana_data:
promtail_positions:
# tempo_data:
# promtail_positions: