
site24x7/opentelemetry-collector本镜像是基于 OpenTelemetry Collector 构建的专用版本,集成了 Site24x7 Exporter 组件。OpenTelemetry Collector 是一个开源的可观测性数据处理系统,支持接收、处理、聚合和导出遥测数据(指标、日志、追踪);Site24x7 Exporter 则负责将处理后的遥测数据转换为 Site24x7 平台兼容格式,并导出至该平台进行监控、分析与告警。
主要用途:作为数据管道中枢,连接分布式系统中的遥测数据源(如应用、服务、基础设施)与 Site24x7 监控平台,实现统一的可观测性数据采集与上报。
通过 Docker Hub 或私有镜像仓库拉取镜像(假设镜像标签为 otelcol-site24x7:latest):
bashdocker pull otelcol-site24x7:latest
OpenTelemetry Collector 通过 YAML 配置文件定义数据采集流程,核心包括 receivers(数据接收)、processors(数据处理)、exporters(数据导出)和 service(服务管道)四部分。需重点配置 exporters.site24x7 部分。
yaml# otel-collector-config.yaml receivers: # 示例:接收 OTLP 协议数据(默认端口 4317/gRPC, 4318/HTTP) otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 processors: # 示例:批处理数据以提高导出效率 batch: send_batch_size: 1000 timeout: 10s exporters: # Site24x7 Exporter 配置 site24x7: # Site24x7 API 密钥(必填,从 Site24x7 控制台获取) api_key: "YOUR_SITE24X7_API_KEY" # 服务名称(可选,默认为 "otel-collector",用于在 Site24x7 平台标识数据源) service_name: "my-app-service" # 导出端点(可选,默认使用 Site24x7 官方端点,私有化部署时需指定) endpoint: "[***]" # 超时时间(可选,默认 10s) timeout: 15s # 自定义标签(可选,添加至所有导出指标) resource_attributes: env: "production" team: "backend" service: pipelines: # 指标数据管道:接收 OTLP 指标 -> 批处理 -> 导出至 Site24x7 metrics: receivers: [otlp] processors: [batch] exporters: [site24x7] # 追踪数据管道:接收 OTLP 追踪 -> 批处理 -> 导出至 Site24x7 traces: receivers: [otlp] processors: [batch] exporters: [site24x7]
将本地配置文件挂载至容器,并启动 Collector:
bashdocker run -d \ --name otel-collector-site24x7 \ -p 4317:4317 # OTLP gRPC 接收端口 \ -p 4318:4318 # OTLP HTTP 接收端口 \ -v $(pwd)/otel-collector-config.yaml:/etc/otelcol/config.yaml \ otelcol-site24x7:latest \ --config=/etc/otelcol/config.yaml
创建 docker-compose.yml:
yamlversion: '3.8' services: otel-collector: image: otelcol-site24x7:latest container_name: otel-collector-site24x7 ports: - "4317:4317" # OTLP gRPC - "4318:4318" # OTLP HTTP volumes: - ./otel-collector-config.yaml:/etc/otelcol/config.yaml command: ["--config=/etc/otelcol/config.yaml"] restart: unless-stopped
启动服务:
bashdocker-compose up -d
| 参数名 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
api_key | string | 是 | Site24x7 平台 API 密钥,用于认证(从 Site24x7 控制台 > 集成 > API 密钥获取) | "a1b2c3d4-e5f6-7890-abcd-***ab" |
service_name | string | 否 | 标识数据源的服务名称,用于在 Site24x7 平台区分不同服务数据 | "order-service" |
endpoint | string | 否 | 数据导出端点 URL,默认使用 Site24x7 官方端点 | "[***]" |
timeout | string | 否 | 数据导出超时时间,默认 10s | "15s" |
resource_attributes | map | 否 | 附加至所有导出数据的资源标签(键值对),用于多维度筛选 | {"env": "prod", "region": "cn-north-1"} |
metrics_prefix | string | 否 | 指标名称前缀,避免多服务指标名称冲突 | "prod.order." |
| 参数名 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
log_level | string | 否 | 日志级别(debug/info/warn/error),默认 info | "debug" |
memory_limiter | object | 否 | 内存限制配置,防止 Collector 过度占用资源 | {"limit_mib": 512, "spike_limit_mib": 128} |
启动 Collector 后,检查容器日志确认无错误:
bashdocker logs otel-collector-site24x7
若日志中出现 Successfully exported metrics to Site24x7 或 Successfully exported traces to Site24x7,表示数据导出正常。
登录 Site24x7 控制台,在 APM > 指标浏览器 或 分布式追踪 页面查看是否有新数据流入。
401 Unauthorized,检查 api_key 是否正确或未过期。memory limiter exceeded,需调整 memory_limiter 配置或优化数据采样率。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务