3.3. 分散トレースデータ収集の設定およびデプロイ
Red Hat OpenShift 分散トレースデータ収集 Operator は、Red Hat OpenShift 分散トレースデータ収集リソースの作成およびデプロイ時に使用されるアーキテクチャーおよび設定を定義するカスタムリソース定義 (CRD) ファイルを使用します。デフォルト設定をインストールするか、またはビジネス要件に合わせてファイルを変更することができます。
3.3.1. OpenTelemetry Collector 設定オプション
Red Hat OpenShift 分散トレースデータ収集 Operator は、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OpenTelemetry Collector は、テレメトリーデータにアクセスする 3 つのコンポーネントで設定されます。
- レシーバー: レシーバー (プッシュまたはプルベース) は、データが Collector に到達する方法です。通常、レシーバーは指定された形式のデータを受け入れ、これを内部形式に変換し、それを適用可能なパイプラインで定義されるプロセッサーおよびエクスポートャーに渡します。デフォルトでは、レシーバーは設定されていません。1 つまたは複数のレシーバーを設定する必要があります。レシーバーは 1 つまたは複数のデータソースをサポートする場合があります。
- プロセッサー:(オプション) プロセッサーは、受信され、エクスポートされる間のデータで実行されます。デフォルトでは、プロセッサーは有効になっていません。プロセッサーは、すべてのデータソースに対して有効にする必要があります。すべてのプロセッサーがすべてのデータソースをサポートするわけではありません。データソースによっては、複数のプロセッサーを有効にすることが推奨される場合があります。さらに、プロセッサーの順序が重要である点に気を留めることが大切です。
- エクスポーター: エクスポーター (プッシュまたはプルベース) は、データを 1 つまたは複数のバックエンド/宛先に送信する方法です。デフォルトでは、エクスポーターは設定されていません。1 つまたは複数のエクスポーターを設定する必要があります。エクスポーターは 1 つまたは複数のデータソースをサポートする場合があります。レポーターにはデフォルト設定が定義されている場合がありますが、多くの場合、少なくとも宛先およびセキュリティー設定を指定するための設定が必要になります。
カスタムリソース YAML ファイルで、コンポーネントのインスタンスを複数定義できます。これらのコンポーネントを設定したら、YAML ファイルの spec.config.service
セクションで定義されたパイプラインで有効にする必要があります。ベストプラクティスとしては、必要なコンポーネントのみを有効にする必要があります。
OpenTelemetry コレクターカスタムリソースファイルの例
apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: cluster-collector namespace: tracing-system spec: mode: deployment config: | receivers: otlp: protocols: grpc: http: processors: exporters: jaeger: endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 tls: ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" service: pipelines: traces: receivers: [otlp] processors: [] exporters: [jaeger]
コンポーネントが設定されていても、service
セクション内で定義されていない場合、有効になりません。
パラメーター | 説明 | 値 | デフォルト |
---|---|---|---|
receivers: | レシーバーは、データが Collector に到達する方法です。デフォルトでは、レシーバーは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なレシーバーが必要です。レシーバーは、パイプラインに追加して有効にされます。 |
| なし |
receivers: otlp: |
| ||
processors: | プロセッサーは、受信され、エクスポートされる間のデータで実行されます。デフォルトでは、プロセッサーは有効になっていません。 | なし | |
exporters: | エクスポーターは、データを 1 つまたは複数のバックエンド/宛先に送信します。デフォルトでは、エクスポーターは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なエクスポーターが必要です。エクスポーターは、パイプラインに追加して有効にされます。レポーターにはデフォルト設定が定義されている場合がありますが、多くの場合、少なくとも宛先およびセキュリティー設定を指定するための設定が必要になります。 |
| なし |
exporters: jaeger: endpoint: |
セキュアな接続を確立するには、 | ||
exporters: jaeger: tls: ca_file: | CA 証明書へのパス。クライアントの場合、サーバー証明書を検証します。サーバーの場合、クライアント証明書を検証します。空の場合、システムのルート CA が使用されます。 | ||
service: pipelines: |
コンポーネントは、それらを | ||
service: pipelines: traces: receivers: |
レシーバーは、それらを | なし | |
service: pipelines: traces: processors: |
プロセッサーは、それらを | なし | |
service: pipelines: traces: exporters: |
エクスポーターは、それらを | なし |
3.3.2. デプロイメントの検証
3.3.3. Jaeger コンソールへのアクセス
Jaeger コンソールにアクセスするには、Red Hat OpenShift Service Mesh または Red Hat OpenShift 分散トレースがインストールされ、Red Hat OpenShift 分散トレースプラットフォームがインストール、設定、およびデプロイされている必要があります。
インストールプロセスにより、Jaeger コンソールにアクセスするためのルートが作成されます。
Jaeger コンソールの URL が分かっている場合は、これに直接アクセスできます。URL が分からない場合は、以下の指示を使用します。
OpenShift コンソールからの手順
-
cluster-admin 権限を持つユーザーとして OpenShift Container Platform Web コンソールにログインします。(Red Hat OpenShift Dedicated を使用する場合)
dedicated-admin
ロールがあるアカウント。 -
Networking
Routes に移動します。 Routes ページで、Namespace メニューからコントロールプレーンプロジェクトを選択します (例:
tracing-system
)。Location 列には、各ルートのリンク先アドレスが表示されます。
-
必要な場合は、フィルターを使用して
jaeger
ルートを検索します。ルートの Location をクリックしてコンソールを起動します。 - Log In With OpenShift をクリックします。
CLI からの手順
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
コマンドラインを使用してルートの詳細をクエリーするには、以下のコマンドを入力します。この例では、
tracing-system
がコントロールプレーン namespace です。$ export JAEGER_URL=$(oc get route -n tracing-system jaeger -o jsonpath='{.spec.host}')
-
ブラウザーを起動し、
https://<JAEGER_URL>
に移動します。ここで、<JAEGER_URL>
は直前の手順で検出されたルートです。 - OpenShift Container Platform コンソールへアクセスするときに使用するものと同じユーザー名とパスワードを使用してログインします。
サービスメッシュにサービスを追加し、トレースを生成している場合は、フィルターと Find Traces ボタンを使用してトレースデータを検索します。
コンソールインストールを検証すると、表示するトレースデータはありません。