アプリケーションによって生成されたトレース・スパンの取得

トレースをJaegerにエクスポートするアプリケーションの構成

Jaegerエージェント・サイドカーは、"sidecar.jaegertracing.io/inject": "true"注釈によってアプリケーション・ポッドに注入されます。この注釈は、Deploymentなどのネームスペースまたはポッド・コントローラに適用できます。次のスニペットは、Jaegerエージェント・インジェクションのためにOAMコンポーネントに注釈を付ける方法を示しています。

apiVersion: core.oam.dev/v1alpha2
kind: Component
metadata:
  name: example-component
spec:
  workload:
    apiVersion: core.oam.dev/v1alpha2
    kind: ContainerizedWorkload
    metadata:
      name: example-workload
      annotations:
        # The component's Deployment will carry the Jaeger annotation.
        "sidecar.jaegertracing.io/inject": "true"

クラスタに複数のJaegerインスタンスがある場合は、トレースの送信先のJaegerインスタンスの名前を注釈sidecar.jaegertracing.io/injectの値として指定します。詳細は、Jaegerのドキュメントを参照してください。

ノート: Jaegerエージェントの使用は、Helidon 3.xではサポートされていません。Jaegerトレースを使用するには、HelidonアプリケーションがJaegerコレクタに直接接続する必要があります。次のYAMLファイルの例を参照してください。"TRACING_HOST""jaeger-operator-jaeger-collector.verrazzano-monitoring""TRACING_PORT""9411"に設定されます。マルチクラスタVerrazzano環境でのJaegerトレースの場合は、"TRACING_HOST""jaeger-verrazzano-managed-cluster-collector.verrazzano-monitoring.svc.cluster.local"に設定します。

apiVersion: core.oam.dev/v1alpha2
kind: Component
metadata:
  name: hello-helidon-component
spec:
  workload:
    apiVersion: oam.verrazzano.io/v1alpha1
    kind: VerrazzanoHelidonWorkload
    metadata:
      name: hello-helidon-workload
      labels:
        app: hello-helidon
        version: v1
    spec:
      deploymentTemplate:
        metadata:
          name: hello-helidon-deployment
        podSpec:
          containers:
            - name: hello-helidon-container
              image: "ghcr.io/verrazzano/example-helidon-greet-app-v1:1.0.0-1-20220513221156-7da0d32"
              env:
                - name: "TRACING_SERVICE"
                  value: "hello-helidon"
                - name: "TRACING_PORT"
                  value: "9411"
                - name: "TRACING_HOST"
                  value: "jaeger-operator-jaeger-collector.verrazzano-monitoring"
              ports:
                - containerPort: 8080
                  name: http