标签: otlp-grpc

Rust OpenTelemetry OTLP 带 Honeycomb

我正在尝试使用OTLPopentelemetry并向open telemetry-otlpHoneycomb 提供可观测数据。

我使用这样的东西作为概念证明(如果您想运行它,则将其提取到此存储库中: https: //github.com/timfpark/honeycomb-rust-poc

fn init_tracer(metadata: &MetadataMap) -> Result<sdktrace::Tracer, TraceError> {
    let opentelemetry_endpoint =
        env::var("OTEL_ENDPOINT").unwrap_or_else(|_| "https://api.honeycomb.io".to_owned());
    let opentelemetry_endpoint =
        Url::parse(&opentelemetry_endpoint).expect("OTEL_ENDPOINT is not a valid url");

    opentelemetry_otlp::new_pipeline()
        .tracing()
        .with_exporter(
            opentelemetry_otlp::new_exporter()
                .tonic()
                .with_endpoint(opentelemetry_endpoint.as_str())
                .with_metadata(metadata.clone())
                .with_tls_config(
                    ClientTlsConfig::new().domain_name(
                        opentelemetry_endpoint
                            .host_str()
                            .expect("OTEL_ENDPOINTshould have a valid host"),
                    ),
                ),
        )
        .install_batch(opentelemetry::runtime::Tokio)
}

#[tokio::main]
async fn main() -> anyhow::Result<()> {

    let mut metadata = MetadataMap::with_capacity(2);

    metadata.insert(
        "x-honeycomb-team",
        "...honeycomb api key...".parse().unwrap(),
    );

    metadata.insert("x-honeycomb-dataset", "my-api".parse().unwrap());

    let tracer = init_tracer(&metadata).expect("failed to instantiate opentelemetry …
Run Code Online (Sandbox Code Playgroud)

rust open-telemetry otlp-grpc

2
推荐指数
1
解决办法
1179
查看次数

OpenTelemetry Collector 无法通过 OTLP 导出到 Jaeger

正如标题所述,我有一些客户端应用程序将指标、跟踪和日志发送到 opentelemtry 收集器,然后收集器应将提到的信号导出到 jaeger 实例。

由于某种原因,它失败了,并出现了一个不太明显的错误,我陷入了困境。

这是 Docker 的组成:

version: '3.9'
    x-default-logging: &logging
      driver: "json-file"
      options:
        max-size: "5m"
        max-file: "2"
    
    services:
      # ********************
      # Telemetry Components
      # ********************
      
      # Jaeger
      jaeger:
        image: jaegertracing/all-in-one:1.50
        container_name: jaeger
        deploy:
          resources:
            limits:
              memory: 500M
        restart: unless-stopped
        ports:
          - "16686:16686"                    # Jaeger UI
          - "4317"                           # OTLP gRPC default port
          - "4318"                           # OTLP HTTP default port (protobuf)
          - "14250"
        environment:
          - COLLECTOR_OTLP_ENABLED=true
        logging: *logging
    
      # OpenTelemetry Collector
      otelcol:
        image: otel/opentelemetry-collector-contrib:0.87
        container_name: otel-col
        deploy:
          resources: …
Run Code Online (Sandbox Code Playgroud)

jaeger open-telemetry otlp-grpc

1
推荐指数
1
解决办法
1671
查看次数

标签 统计

open-telemetry ×2

otlp-grpc ×2

jaeger ×1

rust ×1