En pocas palabras
Distribución de OpenTelemetry Collector con componentes para recolectar y enviar telemetría.
Qué problema resuelve
Múltiples agentes y configuraciones inconsistentes para métricas, logs y trazas.
Cuándo utilizarlo
Infraestructura con OTEL o Grafana. Ejemplo: centralizar la recolección de telemetría de Kubernetes.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
En el Radar compartido: Trial (valoración de la edición aportada).
Cómo funciona
Configura pipelines que reciben datos, aplican transformaciones y los exportan. Integra componentes de OpenTelemetry y del ecosistema Prometheus y Grafana.
Ejemplo de uso
Recoger logs de pods hacia Loki, métricas hacia un backend Prometheus y trazas hacia Tempo. Añadir etiquetas de servicio y entorno de forma consistente.
Modelo de componentes
Alloy se configura con su propio lenguaje declarativo. Cada bloque es un componente con argumentos y exportaciones, y los componentes se conectan referenciando las salidas de otros, formando un grafo:
// Recibir OTLP desde las aplicaciones
otelcol.receiver.otlp "default" {
grpc { endpoint = "0.0.0.0:4317" }
http { endpoint = "0.0.0.0:4318" }
output {
traces = [otelcol.processor.batch.default.input]
metrics = [otelcol.processor.batch.default.input]
logs = [otelcol.processor.batch.default.input]
}
}
otelcol.processor.batch "default" {
output {
traces = [otelcol.exporter.otlp.tempo.input]
metrics = [otelcol.exporter.prometheus.default.input]
logs = [otelcol.exporter.loki.default.input]
}
}
otelcol.exporter.otlp "tempo" {
client { endpoint = "tempo:4317" }
}
otelcol.exporter.prometheus "default" {
forward_to = [prometheus.remote_write.mimir.receiver]
}
prometheus.remote_write "mimir" {
endpoint { url = "http://mimir:9009/api/v1/push" }
}
otelcol.exporter.loki "default" {
forward_to = [loki.write.default.receiver]
}
loki.write "default" {
endpoint { url = "http://loki:3100/loki/api/v1/push" }
}
Familias de componentes
| Prefijo | Para qué |
|---|---|
otelcol.* |
Receptores, procesadores y exportadores de OpenTelemetry |
prometheus.* |
Scraping, relabeling y remote_write |
loki.* |
Lectura de archivos, pods o journald, procesado y envío de logs |
discovery.* |
Descubrimiento de objetivos en Kubernetes, nubes, Consul |
pyroscope.* |
Perfiles continuos |
beyla.* |
Instrumentación automática con eBPF |
Operación
- La interfaz web local (puerto 12345 por defecto) muestra el grafo, el estado de cada componente y los datos en vivo, muy útil para depurar.
alloy converttraduce configuraciones de OpenTelemetry Collector, Prometheus o Promtail.- En Kubernetes se despliega con Helm, como DaemonSet (logs y métricas del nodo) y/o Deployment (receptor central).
- Reemplaza a Grafana Agent y Promtail, que han llegado al final de su soporte.
Alloy frente al OpenTelemetry Collector
Ambos procesan OTLP. Alloy añade el ecosistema Prometheus y Loki nativo, depuración visual y gestión remota de flota; el Collector oficial es neutral respecto al proveedor y usa configuración YAML. Ver OpenTelemetry.
Criterios de implementación
Configurar buffers, reintentos y límites de memoria. Redactar datos sensibles y controlar cardinalidad; vigilar al propio colector para detectar pérdidas y saturación.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.