Docker本地运行Otel Collector 服务Datadog
1. 准备otel collector的config.yaml
receivers:
otlp:
protocols:
http:
endpoint: "0.0.0.0:4318"
grpc:
endpoint: "0.0.0.0:4317"
processors:
probabilistic_sampler:
sampling_percentage: 100 # <--- 为了测试,设置为 100%
batch:
send_batch_max_size: 1000
send_batch_size: 100
timeout: 10s
connectors:
datadog/connector: null # 对于基本用法,这里不需要特定配置,它会使用 exporter 中的 API key
exporters:
debug:
verbosity: detailed
datadog:
api:
key: "1234" # <--- 请务必替换为您的真实 Datadog API 密钥
site: "datadoghq.com" # <--- 设置为您账户对应的 Datadog 站点!
# 可选:如果自动检测的主机名不理想,可以在 Datadog 中帮助识别主机
# hostname: "my-otel-collector-host"
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch] # 先批处理,再交给 connector
exporters: [datadog/connector, debug] # connector 会生成 APM 统计信息并转发追踪
traces/sampling: # 这个 pipeline 从 datadog/connector 接收追踪数据
receivers: [datadog/connector]
processors: [batch, probabilistic_sampler] # 在这里进行采样
exporters: [datadog] # 将采样后的追踪数据发送到 Datadog
metrics: # 这个 pipeline 从 datadog/connector 接收 APM 统计信息(指标)
receivers: [datadog/connector]
processors: [batch]
exporters: [datadog] # 将指标发送到 Datadog
2. 在docker本机运行
4318是服务http
4317是服务grpc
docker run --rm --name otelcol-custom \
-v "$(pwd)/config.yaml":/etc/otelcol/config.yaml \
-p 4317:4317 \
-p 4318:4318 \
otel/opentelemetry-collector-contrib:latest \
--config /etc/otelcol/config.yaml
Facebook评论