将开放遥测数据导出到 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, "")),
我在将开放遥测数据导出并发送到 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, "")),