Introducción
Cuando escalás OpenTelemetry en producción con decenas —o millones— de Collectors distribuidos en entornos heterogéneos (Kubernetes, IoT, gateways, laptops), la gestión manual se vuelve insostenible. La fragmentación de protocolos (HTTP long-polling, WebSockets, protobufs, JSON), la falta de estandarización y la desconexión entre equipos de infraestructura y observabilidad generan fricciones operativas que pueden romper tu estrategia de telemetría.
OpAMP (Open Agent Management Protocol) resuelve esto con un protocolo estándar para gestionar agentes de forma centralizada: configuración remota, actualizaciones seguras, monitoreo de salud y diagnóstico de pipelines. Desde la gestión de Collectors en Kubernetes hasta SDKs en aplicaciones Java, OpAMP te permite operar tu infraestructura de observabilidad como un sistema observable.
Qué es y para qué sirve
OpAMP es un protocolo diseñado por la CNCF para la gestión remota de agentes de telemetría (principalmente OpenTelemetry Collector). Su arquitectura minimalista usa solo dos tipos de mensajes (server-to-agent y agent-to-server) definidos en Protocol Buffers, lo que simplifica la implementación y garantiza consistencia.
Casos de uso principales
- Gestión centralizada de configuraciones: Actualizá la configuración de cientos de Collectors sin acceder a cada pod.
- Actualizaciones seguras: Push de nuevas versiones o parches con rollback automático si falla.
- Monitoreo de salud: Supervisá el estado de cada Collector (CPU, memoria, pipelines, drift de configuración).
- Operaciones de emergencia: Habilitá debug logging o ajustá tasas de sampling en tiempo real para debugging.
- Extensibilidad: Gestioná no solo Collectors, sino también SDKs (Java), Fluent Bit, o cualquier agente que implemente el protocolo.
Componentes clave
- OpAMP Supervisor: Proceso separado que actúa como intermediario entre la plataforma de gestión y el Collector. Escribe configuraciones en disco, reinicia el Collector y revierte a la última configuración válida si falla.
- OpAMP Extension: Componente de solo lectura que reporta estado y configuración actual del Collector.
- OpAMP Bridge: Para gestionar Collectors en Kubernetes, traduce comandos OpAMP a operadores de Kubernetes (ej: OpenTelemetry Operator).
- OpAMP Gateway (en desarrollo): Proxy distribuido que escala WebSocket connections para miles de agentes.
Prerequisitos
Antes de empezar, asegurate de cumplir con estos requisitos técnicos y de acceso:
| Componente | Versión mínima | Notas |
|---|---|---|
| Kubernetes | 1.25+ | Cluster con permisos BLOCK16 |
| OpenTelemetry Operator | v0.90.0+ | Para gestionar Collectors en K8s |
| OpenTelemetry Collector | v0.90.0+ | Configurado con OpAMP |
| kubectl | 1.28+ | Con contexto apuntando a tu cluster |
| Helm | 3.14+ | Opcional, pero recomendado |
| Go | 1.21+ | Solo si vas a compilar código |
| Permisos |
