将开放遥测数据导出到 newRelic 时出现问题

Problem with export open telemetry data to newRelic

我在将开放遥测数据导出并发送到 newRelic 的 GRPC 端点时遇到问题。 这是我尝试连接到 newRelic 端点​​的代码片段:

var headers = map[string]string{
    "api-key": "my newRelc API key",
}

var clientOpts = []otlptracegrpc.Option{
    otlptracegrpc.WithEndpoint("https://otlp.nr-data.net:4317"),
    otlptracegrpc.WithInsecure(),
    otlptracegrpc.WithReconnectionPeriod(2 * time.Second),
    otlptracegrpc.WithDialOption(grpc.WithBlock()),
    otlptracegrpc.WithTimeout(30 * time.Second),
    otlptracegrpc.WithHeaders(headers),
    otlptracegrpc.WithCompressor("gzip"),
}

otlpExporter, err := otlptrace.New(ctx, otlptracegrpc.NewClient(clientOpts...))
if err != nil {
    return nil, fmt.Errorf("creating OTLP trace exporter: %w", err)
}

resource, _ := g.Config.resource(ctx)
tracerProvider := trace.NewTracerProvider(
    trace.WithSampler(trace.AlwaysSample()),
    trace.WithBatcher(otlpExporter),
    trace.WithResource(resource),
)

otel.SetTracerProvider(tracerProvider)

卡在步骤 otlptrace.New

我是 OpenTelemetry 的新手,我阅读了开放遥测文档,我可以在控制台中打印 Otel 数据,但是当我想将它导出到 newrelic 时,它不起作用。 我也阅读了 newRelic Otel 文档,他们有一个导出器 SDK,但它已停产,他们提供了这个新的 GRPC 端点,但它没有很好的文档和示例。 你有什么想法吗?

我发现了问题,问题与 TLS 有关。 我替换了这一行:

otlptracegrpc.WithInsecure(),

这一行:

otlptracegrpc.WithTLSCredentials(credentials.NewClientTLSFromCert(nil, "")),