带有 Jaeger 错误的 Opentelemetry - 严重:无法导出跨度。请求无法执行。完整错误信息:连接超时

问题描述 投票:0回答:0

我在我的 openshift 集群中使用 2 个操作员:

  1. 分布式追踪数据采集(opentelemetry)
  2. 分布式溯源平台(Jaeger) 另一方面,这是我的 2 个 yamls 配置:
  • Jaeger yml:
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: my-jaeger
spec: {}

还有我的 opentelemetry yaml:

apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
  name: simplest
  namespace: opentelemetry-project
  labels:
    app.kubernetes.io/managed-by: opentelemetry-operator
spec:
  config: |
    receivers:
      jaeger:
        protocols:
          thrift_http:
            endpoint: "0.0.0.0:14278"
      otlp:
        protocols:
          grpc:
          http:
    processors:
      batch:

    exporters:
      logging:
        loglevel: info

      jaeger:
        endpoint: my-jaeger-collector-headless.jaeger.svc:14250
        ca_file: "/etc/pki/ca-trust/source/service-ca/service-ca.crt"
    service:
      pipelines:
        traces:
          receivers: [jaeger,otlp]
          processors: [batch]
          exporters: [logging,jaeger]
  mode: deployment
  resources: {}
  targetAllocator: {}
  volumeMounts:
    - mountPath: /etc/pki/ca-trust/source/service-ca
      name: cabundle-volume
  volumes:
    - configMap:
        name: otelcol-cabundle
      name: cabundle-volume

我正在尝试访问我的服务跟踪抛出这个 URL :

await().untilAsserted(() -> {
        String tracesAPIUrl = "http://my-jaeger-opentelemetry-project.apps.ocp12.my.cluster/api/traces?service=" + JAEGER_SERVICE_NAME;

        System.out.println("tracesAPIJaegerUrl ---> " + tracesAPIUrl);
        Response apiTraceServiceResponse = given()
          .get(tracesAPIUrl);
        apiTraceServiceResponse.then().statusCode(200)
           .extract().response();

这些是我部署在 openshift 上的服务:

NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                    AGE
my-jaeger-agent                 ClusterIP   None             <none>        5775/UDP,5778/TCP,6831/UDP,6832/UDP                        17s
my-jaeger-collector             ClusterIP   123.30.456.205   <none>        9411/TCP,14250/TCP,14267/TCP,14268/TCP,4317/TCP,4318/TCP   17s
my-jaeger-collector-headless    ClusterIP   None             <none>        9411/TCP,14250/TCP,14267/TCP,14268/TCP,4317/TCP,4318/TCP   17s
my-jaeger-query                 ClusterIP   123.30.48.197    <none>        443/TCP,16685/TCP                                          17s
opentelemetry                   ClusterIP   123.30.155.77    <none>        80/TCP                                                     20s
simplest-collector-monitoring   ClusterIP   123.30.210.190   <none>        8888/TCP                                                   20s

路线

oc get routes
NAME            HOST/PORT                                                      PATH   SERVICES          PORT          TERMINATION   WILDCARD
my-jaeger       my-jaeger-opentelemetry-project.apps.ocp12.my.cluster              my-jaeger-query   https-query   reencrypt     None
opentelemetry   opentelemetry-opentelemetry-project.apps.ocp12.my.cluster          opentelemetry     <all>                       None

我的 pod 日志的一部分:

Log from pod my-jaeger-684c8c4968-p79bw: {"level":"info","ts":1680273428.4396424,"caller":"grpc/builder.go:124","msg":"Agent collector connection state change","dialTarget":":14250","status":"READY"}
[ERROR] io.vertx.openshift.opentelemetry.OpenTelemetryIT.jaegerSimpleTraceTest(VertxTestContext)  Time elapsed: 16.788 s  <<< ERROR!
org.awaitility.core.ConditionTimeoutException: 
Assertion condition defined as a lambda expression in io.vertx.openshift.opentelemetry.OpenTelemetryIT that uses io.vertx.junit5.Checkpoint 1 expectation failed.
Expected status code <200> but was <503>.

另一方面,我得到了这个错误:

SEVERE: Failed to export spans. The request could not be executed. Full error message: connect timed out
为什么?? 而且我在 jaeger UI 和任何痕迹中都看不到我的 JAEGER_SERVICE_NAME。 我缺少什么?我的 yaml 中是否缺少任何内容、路线或类似内容?我应该在我的代码中使用特定端口指向另一个 jaeger 端点吗?谢谢。

yaml openshift open-telemetry jaeger exporter
© www.soinside.com 2019 - 2024. All rights reserved.