第8章 Jaeger の統合
8.1. OpenShift Serverless を使用した Jaeger とサーバーレスアプリケーションの統合
Jaeger を OpenShift Serverless で使用すると、OpenShift Container Platform でのサーバーレスアプリケーションの 分散トレース を有効にできます。
8.1.1. OpenShift Serverless で使用する Jaeger の設定
前提条件
OpenShift Serverless で使用する Jaeger を設定するには、以下が必要です。
- OpenShift Container Platform クラスターでのクラスター管理者パーミッション。
- OpenShift Serverless Operator および Knative Serving が現時点でインストールされていること。
- Jaeger Operator が現時点でインストールされていること。
手順
以下のサンプル YAML を含む Jaeger カスタムリソース YAML ファイルを作成し、これを適用します。
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger namespace: default
KnativeServing
リソースを編集し、トレース用に YAML 設定を追加して、Knative Serving のトレースを有効にします。apiVersion: operator.knative.dev/v1alpha1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: config: tracing: sample-rate: "0.1" 1 backend: zipkin 2 zipkin-endpoint: http://jaeger-collector.default.svc.cluster.local:9411/api/v2/spans 3 debug: "false" 4
- 1 1
sample-rate
はサンプリングの可能性を定義します。sample-rate: "0.1"
を使用すると、10 トレースの内の 1 つがサンプリングされます。- 2
backend
はzipkin
に設定される必要があります。- 3
zipkin-endpoint
はjaeger-collector
サービスエンドポイントを参照する必要があります。このエンドポイントを取得するには、Jaeger カスタムリソースが適用される namespace を置き換えます。- 4
- デバッグは
false
に設定する必要があります。debug: "true"
を設定してデバッグモードを有効にすることで、サンプリングをバイパスしてすべてのスパンがサーバーに送信されるようにします。
検証手順
Jaeger Web コンソールにアクセスして、トレースデータを表示します。jaeger
ルートを使用して Jaeger Web コンソールにアクセスできます。
以下のコマンドを入力して
jaeger
ルートのホスト名を取得します。$ oc get route jaeger
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD jaeger jaeger-default.apps.example.com jaeger-query <all> reencrypt None
- ブラウザーでエンドポイントアドレスを開き、コンソールを表示します。