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

    Loading

    Facebook评论