otel/opentelemetry-collector-opampsupervisor本镜像是一个基于OpAMP(Open Agent Management Protocol)协议的监管工具,专为OpenTelemetry收集器设计。它通过标准OpAMP协议与收集器通信,提供配置管理、状态监控、日志收集等核心能力,帮助用户集中化管理OpenTelemetry收集器实例,简化监控基础设施的运维复杂度。
bashdocker run -d \ --name otel-opamp-supervisor \ -e OPAMP_SERVER_URL="[***]" \ # OpAMP服务器地址(可选,内置默认服务器) -e COLLECTOR_ENDPOINTS="[***]" \ # 监管目标列表 -e LOG_LEVEL="info" \ # 日志级别:debug/info/warn/error -p 4321:4321 \ # 监管器API端口(用于状态查询) -v ./tls:/etc/supervisor/tls \ # 挂载TLS证书(若启用加密) your-registry/otel-opamp-supervisor:latest
| 环境变量名 | 描述 | 可选值范围 | 默认值 |
|---|---|---|---|
OPAMP_SERVER_URL | 外部OpAMP服务器地址 | HTTP/HTTPS URL | 内置服务器(localhost:4320) |
COLLECTOR_ENDPOINTS | 收集器端点列表(逗号分隔) | HTTP/HTTPS URL列表 | 无(必填参数) |
LOG_LEVEL | 日志输出级别 | debug, info, warn, error | info |
TLS_ENABLED | 是否启用TLS加密 | true, false | false |
TLS_CERT_PATH | TLS证书文件路径 | 容器内绝对路径 | /etc/supervisor/tls/cert.pem |
TLS_KEY_PATH | TLS私钥文件路径 | 容器内绝对路径 | /etc/supervisor/tls/key.pem |
HEALTH_CHECK_INTERVAL | 收集器健康检查间隔(秒) | 5-300 | 30 |
yamlversion: '3.8' services: opamp-supervisor: image: your-registry/otel-opamp-supervisor:latest container_name: otel-opamp-supervisor restart: unless-stopped environment: - OPAMP_SERVER_URL="[***]" - COLLECTOR_ENDPOINTS="[***]" - LOG_LEVEL="debug" - TLS_ENABLED="true" - HEALTH_CHECK_INTERVAL="15" volumes: - ./tls:/etc/supervisor/tls # 挂载TLS证书目录 ports: - "4321:4321" # 监管器API端口 networks: - otel-network # 示例收集器配置(需启用OpAMP支持) otel-collector-east: image: otel/opentelemetry-collector-contrib:0.86.0 command: ["--config=/etc/otel-collector-config.yaml"] volumes: - ./collector-config.yaml:/etc/otel-collector-config.yaml networks: - otel-network networks: otel-network: driver: bridge
被监管的OpenTelemetry收集器需在配置文件中启用OpAMP扩展,示例如下:
yaml# collector-config.yaml extensions: opamp: server_endpoint: "ws://otel-opamp-supervisor:4320/v1/opamp" # 监管器地址 instance_id: "collector-east-01" # 实例唯一标识 agent_type: "otelcol-contrib" auto_accept_config: true # 自动接受监管器推送的配置 service: extensions: [opamp] pipelines: traces: receivers: [otlp] processors: [batch] exporters: [otlp]
检查监管器运行状态:
bashdocker exec -it otel-opamp-supervisor supervisor-cli status
预期输出包含已连接的收集器实例及状态(如 collector-east-01: connected (healthy))
访问监管器API:
bashcurl http://localhost:4321/api/v1/collectors
返回JSON格式的收集器列表及详细状态信息
/etc/supervisor/config.yaml)管理复杂参数,环境变量优先级低于配置文件prometheus扩展暴露指标(默认端口9090)manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务