
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为 amazon/aws-otel-collector 的容器分支版本(fork),基于 OpenTelemetry Collector 构建,专注于遥测数据(指标、日志、分布式追踪)的收集、处理与导出。该镜像继承了官方 AWS OpenTelemetry Collector 的核心能力,并可能包含特定场景下的定制化优化,适用于云原生环境中应用与基础设施的可观测性数据管理。
awsxray exporter、cloudwatchlogs exporter、awscontainerinsightreceiver 等;通过 Docker Hub 或私有仓库拉取镜像(假设镜像标签为 my-fork/aws-otel-collector:latest):
bashdocker pull my-fork/aws-otel-collector:latest
通过 docker run 启动容器,需挂载配置文件并配置必要环境变量(如 AWS 区域):
4.2.1 本地配置文件挂载
bashdocker run -d \ --name aws-otel-collector \ -v /path/to/local/config.yaml:/etc/otel-collector-config.yaml \ # 挂载本地配置文件 -e AWS_REGION=us-east-1 \ # AWS 区域 -e AWS_ACCESS_KEY_ID=AKIAEXAMPLE \ # AWS 访问密钥(可选,若使用 IAM 角色则无需) -e AWS_SECRET_ACCESS_KEY=secret \ # AWS 密钥(可选) -p 4317:4317 \ # gRPC 接收端口(默认) -p 4318:4318 \ # HTTP 接收端口(默认) my-fork/aws-otel-collector:latest \ --config=/etc/otel-collector-config.yaml # 指定配置文件路径
4.2.2 配置文件示例(config.yaml)
以下为基础配置示例,定义一个 "metrics" pipeline(收集 Prometheus 指标并导出至 CloudWatch):
yamlreceivers: prometheus: config: scrape_configs: - job_name: 'otel-collector' static_configs: - targets: ['localhost:8888'] # 采集 Collector 自身指标 processors: batch: # 批量处理数据,优化网络传输 exporters: awscloudwatchmetrics: # 导出至 CloudWatch Metrics region: ${AWS_REGION} namespace: 'MyApp/Metrics' service: pipelines: metrics: receivers: [prometheus] processors: [batch] exporters: [awscloudwatchmetrics]
创建 docker-compose.yaml,定义 Collector 服务及依赖(如 Prometheus,可选):
yamlversion: '3.8' services: otel-collector: image: my-fork/aws-otel-collector:latest container_name: otel-collector volumes: - ./config.yaml:/etc/otel-collector-config.yaml # 挂载本地配置文件 environment: - AWS_REGION=us-east-1 - AWS_ACCESS_KEY_ID=AKIAEXAMPLE - AWS_SECRET_ACCESS_KEY=secret ports: - "4317:4317" # gRPC 接收端口 - "4318:4318" # HTTP 接收端口 command: ["--config", "/etc/otel-collector-config.yaml"] restart: unless-stopped
启动服务:
bashdocker-compose up -d
配置文件是 Collector 的核心,需定义以下关键部分:
prometheus、jaeger、awsxray、filelog 等;batch(批量)、filter(过滤)、metricstransform(指标转换)等;awscloudwatchmetrics、awsxray、prometheusremotewrite、logging(控制台输出)等;metrics、logs、traces 三类 pipeline)。详细配置语法与组件说明可参考 OpenTelemetry Collector 官方文档 及 https://aws-otel.github.io/docs/getting-started/collector%E3%80%82
Collector 支持通过命令行参数调整运行行为,常用参数如下:
| 参数 | 描述 | 默认值 |
|---|---|---|
--config <path> | 指定配置文件路径,支持本地文件或 HTTP URL(如 http://config-server/config.yaml) | /etc/otel-collector-config.yaml |
--log-level <level> | 设置日志级别,可选值:debug、info、warn、error、fatal | info |
--feature-gates <gates> | 启用实验性特性(如 component.UseLocalHostAsDefaultHost),多个特性用逗号分隔 | 空 |
--metrics-addr <addr> | 暴露 Collector 自身指标的 HTTP 地址(如 :8888) | :8888 |
容器运行时可通过环境变量注入配置,常用变量如下:
| 环境变量 | 描述 | 示例值 |
|---|---|---|
AWS_REGION | AWS 区域(必填,用于 AWS 服务认证与资源定位) | us-east-1 |
AWS_ACCESS_KEY_ID | AWS 访问密钥 ID(可选,若容器运行在 AWS 服务内,建议使用 IAM 角色认证) | AKIAEXAMPLE |
AWS_SECRET_ACCESS_KEY | AWS 密钥(与 AWS_ACCESS_KEY_ID 配对使用) | secret |
OTEL_CONFIG | 配置文件路径(覆盖 --config 参数) | /custom/config.yaml |
OTEL_LOG_LEVEL | 日志级别(覆盖 --log-level 参数) | debug |
HTTP_PROXY/HTTPS_PROXY | 代理服务器地址(用于 Collector 访问外部服务,如导出数据至第三方系统) | http://proxy:3128 |
otelcol)对文件有读取权限,避免因权限不足导致配置加载失败。AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY,最后是本地 AWS 凭证文件(~/.aws/credentials)。resources.limits),避免 OOM 或性能瓶颈。amazon/aws-otel-collector 的分支版本,使用前需确认与目标 OpenTelemetry 组件(如客户端 SDK)的版本兼容性。docker run --rm my-fork/aws-otel-collector:latest --config=config.yaml --validate 验证配置文件语法正确性。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务