This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.Red Hat build of OpenTelemetry
Red Hat build of OpenTelemetry
概要
第1章 Red Hat build of OpenTelemetry のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
1.1. Red Hat build of OpenTelemetry の概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry は、オープンソースの OpenTelemetry プロジェクト に基づいており、クラウドネイティブソフトウェア用に統合かつ標準化された、ベンダー中立のテレメトリーデータ収集を提供することを目的としています。Red Hat build of OpenTelemetry 製品は、OpenTelemetry Collector のデプロイと管理、およびワークロードインストルメンテーションの簡素化に対するサポートを提供します。
OpenTelemetry Collector は、テレメトリーデータを複数の形式で受信、処理、転送できるため、テレメトリー処理とテレメトリーシステム間の相互運用性にとって理想的なコンポーネントとなります。Collector は、メトリクス、トレース、ログを収集および処理するための統合ソリューションを提供します。
OpenTelemetry Collector には、次のような多くの機能があります。
- データ収集および処理ハブ
- これは、さまざまなソースからメトリクスやトレースなどのテレメトリーデータを収集する中心的なコンポーネントとして機能します。このデータは、インストルメントされたアプリケーションとインフラストラクチャーから作成できます。
- カスタマイズ可能なテレメトリーデータパイプライン
- OpenTelemetry Collector はカスタマイズできるように設計されています。さまざまなプロセッサー、エクスポーター、レシーバーをサポートします。
- 自動インストルメンテーション機能
- 自動インストルメンテーションにより、アプリケーションに可観測性を追加するプロセスが簡素化されます。開発者は、基本的なテレメトリーデータのコードを手動でインストルメントする必要はありません。
OpenTelemetry Collector の使用例の一部を次に示します。
- 一元的なデータ収集
- マイクロサービスアーキテクチャーでは、Collector をデプロイして、複数のサービスからデータを集約できます。
- データの補完と処理
- データを分析ツールに転送する前に、Collector はこのデータを強化、フィルタリング、および処理できます。
- マルチバックエンドの受信とエクスポート
- Collector は、複数の監視および分析プラットフォームに同時にデータを送受信できます。
1.2. Red Hat build of OpenTelemetry 3.0 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry 3.0 は OpenTelemetry 0.89.0 に基づいています。
1.2.1. 新機能および機能拡張 リンクのコピーリンクがクリップボードにコピーされました!
この更新では、次の機能拡張が導入されています。
- OpenShift distributed tracing data collection Operator は、Red Hat build of OpenTelemetry Operator という名前に変更されました。
- ARM アーキテクチャーのサポート。
- メトリクス収集用の Prometheus レシーバーのサポート。
- トレースとメトリクスを Kafka に送信するための Kafka レシーバーおよびエクスポーターのサポート。
- クラスター全体のプロキシー環境のサポート。
-
Prometheus エクスポーターが有効になっている場合、Red Hat build of OpenTelemetry Operatorは Prometheus
ServiceMonitorカスタムリソースを作成します。 -
Operator は、アップストリームの OpenTelemetry 自動インストルメンテーションライブラリーを注入できるようにする
Instrumentationカスタムリソースを有効にします。
1.2.2. 削除通知 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat build of OpenTelemetry 3.0 では、Jaeger エクスポーターが削除されました。バグ修正とサポートは、2.9 ライフサイクルの終了までのみ提供されます。Jaeger Collector にデータを送信するための Jaeger エクスポーターの代わりに、OTLP エクスポーターを使用できます。
1.2.3. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
この更新では、次のバグ修正が導入されています。
-
oc adm category MirrorCLI コマンドを使用する場合の、非接続環境のサポートが修正されました。
1.2.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
現在、Red Hat build of OpenTelemetry Operatorのクラスター監視はバグ (TRACING-3761) により無効になっています。このバグにより、クラスター監視およびサービスモニターオブジェクトに必要なラベル openshift.io/cluster-monitoring=true が欠落しているため、クラスター監視が Red Hat build of OpenTelemetry Operatorからメトリクスをスクレイピングできなくなっています。
回避策
次のようにクラスター監視を有効にできます。
-
Operator namespace に次のラベルを追加します:
oc label namespace openshift-opentelemetry-operator openshift.io/cluster-monitoring=true サービスモニター、ロール、およびロールバインディングを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. サポート リンクのコピーリンクがクリップボードにコピーされました!
本書で説明されている手順、または OpenShift Container Platform で問題が発生した場合は、Red Hat カスタマーポータル にアクセスしてください。カスタマーポータルでは、次のことができます。
- Red Hat 製品に関するアーティクルおよびソリューションを対象とした Red Hat ナレッジベースの検索またはブラウズ。
- Red Hat サポートに対するサポートケースの送信。
- その他の製品ドキュメントへのアクセス。
クラスターの問題を特定するには、OpenShift Cluster Manager Hybrid Cloud Console で Insights を使用できます。Insights により、問題の詳細と、利用可能な場合は問題の解決方法に関する情報が提供されます。
本書の改善への提案がある場合、またはエラーを見つけた場合は、最も関連性の高いドキュメントコンポーネントの Jira Issue を送信してください。セクション名や OpenShift Container Platform バージョンなどの具体的な情報を提供してください。
1.4. 多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第2章 Red Hat build of OpenTelemetry のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry をインストールするには、次の手順を実行します。
- Red Hat build of OpenTelemetry Operatorをインストールします。
- OpenTelemetry Collector インスタンスの namespace を作成します。
-
OpenTelemetryCollectorカスタムリソースを作成して、OpenTelemetry Collector インスタンスをデプロイします。
2.1. Web コンソールからの Red Hat build of OpenTelemetry のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry は、Web コンソールの Administrator ビューからインストールできます。
前提条件
-
cluster-adminロールを持つクラスター管理者として Web コンソールにログインしている。 -
Red Hat OpenShift Dedicated の場合、
dedicated-adminロールを持つアカウントを使用してログインしている。
手順
Red Hat build of OpenTelemetry Operatorをインストールします。
-
Operators → OperatorHub に移動し、
Red Hat build of OpenTelemetry Operatorを検索します。 Red Hat が提供する Red Hat build of OpenTelemetry Operator を選択し、Install → Install → View Operator と進みます。
重要デフォルトのプリセットで Operator がインストールされます。
- Update channel → stable
- Installation mode → All namespaces on the cluster
- Installed Namespace → openshift-operators
- Update approval → Automatic
- インストール済み Operator ページの Details タブの ClusterServiceVersion details で、インストールの Status が Succeeded であることを確認します。
-
Operators → OperatorHub に移動し、
- Home → Projects → Create Project に移動して、次の手順で作成する OpenTelemetry Collector インスタンスの任意のプロジェクトを作成します。
OpenTelemetry Collector インスタンスを作成します。
- Operators → Installed Operators に移動します。
- OpenTelemetry Collector → Create OpenTelemetry Collector → YAML view を選択します。
YAML view で、OTLP、Jaeger、Zipkin レシーバー、およびデバッグエクスポーターを使用して
OpenTelemetryCollectorカスタムリソース (CR) をカスタマイズします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create を選択します。
検証
- Project: ドロップダウンリストを使用して、OpenTelemetry Collector インスタンスのプロジェクトを選択します。
- Operators → Installed Operators に移動して、OpenTelemetry Collector インスタンスの ステータス が Condition: Ready であることを確認します。
- Workloads → Pods に移動して、OpenTelemetry Collector インスタンスのすべてのコンポーネント Pod が実行されていることを確認します。
2.2. CLI を使用した Red Hat build of OpenTelemetry のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry はコマンドラインからインストールできます。
前提条件
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。ヒント-
OpenShift CLI (
oc)のバージョンが最新であり、OpenShift Container Platform バージョンと一致していることを確認してください。 oc loginを実行します。oc login --username=<your_username>
$ oc login --username=<your_username>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
OpenShift CLI (
手順
Red Hat build of OpenTelemetry Operatorをインストールします。
次のコマンドを実行して、Red Hat build of OpenTelemetry Operatorのプロジェクトを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、Operator グループを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、サブスクリプションを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator のステータスを確認します。
oc get csv -n openshift-opentelemetry-operator
$ oc get csv -n openshift-opentelemetry-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
後続の手順で作成する OpenTelemetry Collector インスタンス用に選択したプロジェクトを作成します。
メタデータなしでプロジェクトを作成するには、次のコマンドを実行します。
oc new-project <project_of_opentelemetry_collector_instance>
$ oc new-project <project_of_opentelemetry_collector_instance>Copy to Clipboard Copied! Toggle word wrap Toggle overflow メタデータを含むプロジェクトを作成するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenTelemetry Collector 用に作成したプロジェクトに OpenTelemetry Collector インスタンスを作成します。
注記同じクラスター上の別々のプロジェクトに複数の OpenTelemetry Collector インスタンスを作成できます。
OTLP、Jaeger、Zipkin レシーバーとデバッグエクスポーターを使用して、
OpenTelemetry Collectorカスタムリソース (CR) をカスタマイズします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、カスタマイズされた CR を適用します。
oc apply -f - << EOF <OpenTelemetryCollector_custom_resource> EOF
$ oc apply -f - << EOF <OpenTelemetryCollector_custom_resource> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、OpenTelemetry Collector Pod の
status.phaseがRunningで、conditionsがtype: Readyであることを確認します。oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yaml
$ oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OpenTelemetry Collector サービスを取得します。
oc get service -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name>
$ oc get service -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第3章 Red Hat build of OpenTelemetry の設定とデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry Operatorは、Red Hat build of OpenTelemetry リソースを作成およびデプロイするときに使用されるアーキテクチャーと設定を定義するカスタムリソース定義 (CRD) ファイルを使用します。デフォルト設定をインストールするか、ファイルを変更できます。
3.1. OpenTelemetry Collector 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector は、テレメトリーデータにアクセスする 5 種類のコンポーネントで構成されます。
- レシーバー
- レシーバー (プッシュまたはプルベース) は、データが Collector に到達する方法です。通常、レシーバーは指定された形式のデータを受け入れて内部形式に変換し、それを適用可能なパイプラインで定義されるプロセッサーおよびエクスポーターに渡します。デフォルトでは、レシーバーは設定されていません。1 つまたは複数のレシーバーを設定する必要があります。レシーバーは 1 つまたは複数のデータソースをサポートする場合があります。
- プロセッサー
- オプション: プロセッサーは、データを受信してからエクスポートするまでにデータを処理します。デフォルトでは、プロセッサーは有効になっていません。プロセッサーは、すべてのデータソースに対して有効にする必要があります。すべてのプロセッサーがすべてのデータソースをサポートするわけではありません。データソースによっては、複数のプロセッサーが有効になっている可能性があります。プロセッサーの順序が重要であることに注意してください。
- エクスポーター
- エクスポーター (プッシュまたはプルベース) は、データを 1 つ以上のバックエンドまたは宛先に送信する方法です。デフォルトでは、エクスポーターは設定されていません。1 つまたは複数のエクスポーターを設定する必要があります。エクスポーターは 1 つ以上のデータソースをサポートできます。エクスポーターはデフォルト設定で使用できますが、多くの場合、少なくとも宛先およびセキュリティー設定を指定するための設定が必要です。
- コネクター
- コネクターは 2 つのパイプラインを接続します。1 つのパイプラインの終了時にエクスポーターとしてデータを消費し、別のパイプラインの開始時にレシーバーとしてデータを出力します。同じまたは異なるデータ型のデータを消費および出力できます。データを生成および出力して、消費されたデータを要約することも、単にデータを複製またはルーティングすることもできます。
- エクステンション
- エクステンションにより、Collector に機能が追加されます。たとえば、認証をレシーバーとエクスポーターに自動的に追加できます。
カスタムリソース YAML ファイルで、コンポーネントのインスタンスを複数定義できます。コンポーネントは、設定した後に YAML ファイルの spec.config.service セクションで定義されたパイプラインで有効にする必要があります。ベストプラクティスとしては、必要なコンポーネントのみを有効にします。
OpenTelemetry Collector カスタムリソースファイルの例
- 1
- コンポーネントが設定されていても、
serviceセクションで定義されていない場合、そのコンポーネントは有効になりません。
| パラメーター | 説明 | 値 | デフォルト |
|---|---|---|---|
receivers:
| レシーバーは、データが Collector に到達する方法です。デフォルトでは、レシーバーは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なレシーバーが必要です。レシーバーは、パイプラインに追加して有効にされます。 |
| None |
processors:
| プロセッサーは、データの受信とエクスポートの間にデータを処理します。デフォルトでは、プロセッサーは有効になっていません。 |
| None |
exporters:
| エクスポーターは、1 つ以上のバックエンドまたは宛先にデータを送信します。デフォルトでは、エクスポーターは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なエクスポーターが必要です。エクスポーターは、パイプラインに追加して有効にされます。エクスポーターはデフォルト設定で使用できますが、多くの場合、少なくとも宛先およびセキュリティー設定を指定するための設定が必要です。 |
| None |
connectors:
| コネクターはパイプラインのペアを結合します。つまり、パイプラインの終わりのエクスポーターとしてデータを消費し、パイプラインの開始レシーバーとしてデータを出力します。これを使用して、消費されたデータを要約、複製、またはルーティングすることができます。 |
| None |
extensions:
| テレメトリーデータの処理を含まないタスク用のオプションのコンポーネント。 |
| None |
service: pipelines:
|
コンポーネントは、それらを | ||
service:
pipelines:
traces:
receivers:
|
レシーバーは、それらを | None | |
service:
pipelines:
traces:
processors:
|
プロセッサーは、それらを | None | |
service:
pipelines:
traces:
exporters:
|
エクスポーターは、それらを | None | |
service:
pipelines:
metrics:
receivers:
|
メトリクスのレシーバーを有効にするには、 | None | |
service:
pipelines:
metrics:
processors:
|
メトリクスのプロセッサーを有効にするには、 | None | |
service:
pipelines:
metrics:
exporters:
|
メトリクスのエクスポーターを有効にするには、 | None |
3.1.1. OpenTelemetry Collector コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
3.1.1.1. レシーバー リンクのコピーリンクがクリップボードにコピーされました!
レシーバーはデータをCollector に入れます。
3.1.1.1.1. OTLP レシーバー リンクのコピーリンクがクリップボードにコピーされました!
OTLP レシーバーは、OpenTelemetry Protocol (OTLP) を使用してトレースとメトリクスを取り込みます。
OTLP レシーバーが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- OTLP gRPC エンドポイント。省略した場合、デフォルトの
0.0.0.0:4317が使用されます。 - 2
- サーバー側の TLS 設定。TLS 証明書へのパスを定義します。省略した場合、TLS は無効になります。
- 3
- サーバーがクライアント証明書を検証する TLS 証明書へのパス。これにより、
TLSConfigでClientCAsおよびClientAuthの値がRequireAndVerifyClientCertに設定されます。詳細は、Configof the Golang TLS package を参照してください。 - 4
- 証明書をリロードする間隔を指定します。この値が設定されていない場合、証明書はリロードされません。
reload_intervalは、ns、us(またはµs)、ms、s、m、hなどの有効な時間単位を含む文字列を受け入れます。 - 5
- OTLP HTTP エンドポイント。デフォルト値は
0.0.0.0:4318です。 - 6
- サーバー側の TLS 設定。詳細は、
grpcプロトコル設定セクションを参照してください。
3.1.1.1.2. Jaeger レシーバー リンクのコピーリンクがクリップボードにコピーされました!
Jaeger レシーバーは、Jaeger 形式でトレースを取り込みます。
Jaeger レシーバーが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- Jaeger gRPC エンドポイント。省略した場合、デフォルトの
0.0.0.0:14250が使用されます。 - 2
- Jaeger Thrift HTTP エンドポイント。省略した場合、デフォルトの
0.0.0.0:14268が使用されます。 - 3
- Jaeger Thrift Compact エンドポイント。省略した場合、デフォルトの
0.0.0.0:6831が使用されます。 - 4
- Jaeger Thrift Binary エンドポイント。省略した場合、デフォルトの
0.0.0.0:6832が使用されます。 - 5
- サーバー側の TLS 設定。詳細は、OTLP レシーバー設定セクションを参照してください。
3.1.1.1.3. Prometheus レシーバー リンクのコピーリンクがクリップボードにコピーされました!
Prometheus レシーバーは現在、テクノロジープレビュー 機能のみとなっています。
Prometheus レシーバーはメトリクスエンドポイントをスクレイプします。
Prometheus レシーバーが有効になっている OpenTelemetry Collector カスタムリソース
3.1.1.1.4. Zipkin レシーバー リンクのコピーリンクがクリップボードにコピーされました!
Zipkin レシーバーは、Zipkin v1 および v2 形式でトレースを取り込みます。
Zipkin レシーバーが有効になっている OpenTelemetry Collector カスタムリソース
3.1.1.1.5. Kafka レシーバー リンクのコピーリンクがクリップボードにコピーされました!
Kafka レシーバーは現在、テクノロジープレビュー 機能のみとなっています。
Kafka レシーバーは、Kafka からトレース、メトリクス、ログを OTLP 形式で受信します。
Kafka レシーバーが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- Kafka ブローカーのリスト。デフォルトは
localhost:9092です。 - 2
- Kafka プロトコルのバージョン。たとえば、
2.0.0などです。これは必須フィールドです。 - 3
- 読み取り元の Kafka トピックの名前。デフォルトは
otlp_spansです。 - 4
- 平文認証設定。省略した場合、平文認証は無効になります。
- 5
- クライアント側の TLS 設定。TLS 証明書へのパスを定義します。省略した場合、TLS 認証は無効になります。
- 6
- サーバーの証明書チェーンとホスト名の検証を無効にします。デフォルトは
falseです。 - 7
- ServerName は、仮想ホスティングをサポートするためにクライアントによって要求されたサーバーの名前を示します。
3.1.1.1.6. OpenCensus レシーバー リンクのコピーリンクがクリップボードにコピーされました!
OpenCensus レシーバーは、OpenCensus プロジェクトとの下位互換性を提供し、インストルメント化されたコードベースの移行を容易にします。gRPC または HTTP および Json を介して OpenCensus 形式でメトリクスとトレースを受信します。
OpenCensus レシーバーが有効になっている OpenTelemetry Collector カスタムリソース
3.1.1.2. プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
プロセッサーは、データの受信とエクスポートの間にデータを処理します。
3.1.1.2.1. Batch プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Batch プロセッサーは、トレースとメトリクスをバッチ処理して、テレメトリー情報の転送に必要な発信接続の数を減らします。
Batch プロセッサーを使用する場合の OpenTelemetry Collector カスタムリソースの例
| パラメーター | 説明 | デフォルト |
|---|---|---|
timeout
| バッチサイズに関係なく、特定の期間後にバッチを送信します。 |
|
send_batch_size
| 指定された数のスパンまたはメトリクスの後に、Telemetry データのバッチを送信します。 |
|
send_batch_max_size
|
バッチの最大許容サイズ。 |
|
metadata_keys
|
アクティブにすると、 |
|
metadata_cardinality_limit
|
|
|
3.1.1.2.2. Memory Limiter プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Memory Limiter プロセッサーは、Collector のメモリー使用量を定期的にチェックし、ソフトメモリーリミットに達するとデータ処理を一時停止します。このプロセッサーは、トレース、メトリクス、およびログをサポートします。先行コンポーネント (通常はレシーバー) は、同じデータの送信を再試行することが想定されており、受信データにバックプレッシャーを適用する場合があります。メモリー使用量がハードリミットを超えると、Memory Limiter プロセッサーによってガベージコレクションが強制的に実行されます。
Memory Limiter プロセッサーを使用する場合の OpenTelemetry Collector カスタムリソースの例
| パラメーター | 説明 | デフォルト |
|---|---|---|
check_interval
|
メモリー使用量の測定間の時間。最適な値は |
|
limit_mib
| ハードリミット。ヒープに割り当てられるメモリーの最大量 (MiB 単位)。通常、OpenTelemetry Collector の合計メモリー使用量は、この値より約 50 MiB 大きくなります。 |
|
spike_limit_mib
|
スパイクリミット。これは、予想されるメモリー使用量の最大スパイク (MiB 単位) です。最適な値は、 |
|
limit_percentage
|
|
|
spike_limit_percentage
|
|
|
3.1.1.2.3. Resource Detection プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Resource Detection プロセッサーは現在、テクノロジープレビュー 機能のみとなっています。
Resource Detection プロセッサーは、OpenTelemetry のリソースセマンティック標準に合わせて、ホストリソースの詳細を識別します。検出された情報を使用して、テレメトリーデータ内のリソース値を追加または置換できます。このプロセッサーはトレース、メトリクスをサポートしており、Docket メタデータディテクターや OTEL_RESOURCE_ATTRIBUTES 環境変数ディテクターなどの複数のディテクターと併用できます。
Resource Detection プロセッサーに必要な OpenShift Container Platform の権限
Resource Detection プロセッサーを使用する OpenTelemetry Collector
環境変数ディテクターを備えた Resource Detection Processor を使用する OpenTelemetry Collector
- 1
- 使用するディテクターを指定します。この例では、環境ディテクターが指定されています。
3.1.1.2.4. Attributes プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Attributes プロセッサーは現在、テクノロジープレビュー 機能のみとなっています。
Attributes プロセッサーは、スパン、ログ、またはメトリクスの属性を変更できます。入力データをフィルタリングして照合し、特定のアクションに対してそのようなデータを含めたり除外したりするようにこのプロセッサーを設定できます。
プロセッサーはアクションのリストを操作し、設定で指定された順序でアクションを実行します。次のアクションがサポートされています。
- Insert
- 指定されたキーがまだ存在しない場合は、入力データに新しい属性を挿入します。
- Update
- キーがすでに存在する場合は、入力データの属性を更新します。
- Upsert
- 挿入アクションと更新アクションを組み合わせます。キーがまだ存在しない場合は、新しい属性を挿入します。キーがすでに存在する場合は属性を更新します。
- Delete
- 入力データから属性を削除します。
- Hash
- 既存の属性値を SHA1 としてハッシュします。
- Extract
-
正規表現ルールを使用して、ルールで定義された入力キーからターゲットキーまでの値を抽出します。ターゲットキーがすでに存在する場合は、Span プロセッサーの
to_attributes設定と同様に、既存の属性をソースとしてオーバーライドされます。 - Convert
- 既存の属性を指定された型に変換します。
Attributes プロセッサーを使用した OpenTelemetry Collector
3.1.1.2.5. Resource プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Resource プロセッサーは現在、テクノロジープレビュー 機能のみとなっています。
Resource プロセッサーは、リソース属性に変更を適用します。このプロセッサーは、トレース、メトリクス、およびログをサポートします。
Resource Detection プロセッサーを使用する OpenTelemetry Collector
属性は、属性の削除、属性の挿入、または属性のアップサートなど、リソース属性に適用されるアクションを表します。
3.1.1.2.6. Span プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Span プロセッサーは現在、テクノロジープレビュー 機能のみとなっています。
Span プロセッサーは、その属性に基づいてスパン名を変更するか、スパン名からスパン属性を抽出します。スパンステータスを変更することもできます。スパンを含めたり除外したりすることもできます。このプロセッサーはトレースをサポートしています。
スパンの名前変更には、from_attributes 設定を使用して、新しい名前の属性を指定する必要があります。
Span プロセッサーを使用してスパンの名前を変更する OpenTelemetry Collector
プロセッサーを使用して、スパン名から属性を抽出できます。
Span プロセッサーを使用してスパン名から属性を抽出する OpenTelemetry Collector
- 1
- このルールは、抽出の実行方法を定義します。さらにルールを定義できます。たとえば、この場合、正規表現が名前と一致すると、
documentID属性が作成されます。この例では、入力スパン名が/api/v1/document/12345678/updateの場合、出力スパン名は/api/v1/document/{documentId}/updateとなり、新しい"documentId"="12345678"属性がスパンに追加されます。
スパンステータスを変更できます。
ステータス変更に Span プロセッサーを使用する OpenTelemetry Collector
3.1.1.2.7. Kubernetes Attributes プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Attributes プロセッサーは現在、テクノロジープレビュー 機能のみとなっています。
Kubernetes Attributes プロセッサーでは、Kubernetes メタデータを使用してスパン、メトリクス、およびログリソース属性を自動設定できます。このプロセッサーは、トレース、メトリクス、およびログをサポートします。このプロセッサーは、Kubernetes リソースを自動的に識別し、そこからメタデータを抽出して、この抽出されたメタデータをリソース属性として関連するスパン、メトリクス、ログに組み込みます。Kubernetes API を利用してクラスター内で動作しているすべての Pod を検出し、IP アドレス、Pod UID、およびその他の関連メタデータの記録を維持します。
Kubernetes Attributes プロセッサーに必要な最小限の OpenShift Container Platform 権限
Kubernetes Attributes プロセッサーを使用した OpenTelemetry Collector
config: |
processors:
k8sattributes:
filter:
node_from_env_var: KUBE_NODE_NAME
config: |
processors:
k8sattributes:
filter:
node_from_env_var: KUBE_NODE_NAME
3.1.1.3. Filter プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Filter プロセッサーは現在、テクノロジープレビュー 機能のみとなっています。
Filter プロセッサーは、OpenTelemetry Transformation Language を活用して、テレメトリーデータを破棄する基準を確立します。これらの条件のいずれかが満たされると、テレメトリーデータは破棄されます。論理 OR 演算子を使用して条件を組み合わせることができます。このプロセッサーは、トレース、メトリクス、およびログをサポートします。
OTLP エクスポーターが有効になっている OpenTelemetry Collector カスタムリソース
3.1.1.4. Routing プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
Routing プロセッサーは現在、テクノロジープレビュー 機能のみとなっています。
Routing プロセッサーは、ログ、メトリクス、またはトレースを特定のエクスポーターにルーティングします。このプロセッサーは、受信 HTTP 要求 (gRPC またはプレーン HTTP) からヘッダーを読み取るか、リソース属性を読み取ることができ、読み取った値に従って、関連するエクスポーターにトレース情報を送信します。
OTLP エクスポーターが有効になっている OpenTelemetry Collector カスタムリソース
オプションで、from_attribute 内での属性の検索場所を定義する attribute_source 設定を作成できます。許可される値は、HTTP ヘッダーを含むコンテキストを検索する場合は context、またはリソース属性を検索する場合は resource です。
3.1.1.5. エクスポーター リンクのコピーリンクがクリップボードにコピーされました!
エクスポーターは、1 つ以上のバックエンドまたは宛先にデータを送信します。
3.1.1.5.1. OTLP エクスポーター リンクのコピーリンクがクリップボードにコピーされました!
OTLP gRPC エクスポーターは、OpenTelemetry Protocol (OTLP) を使用してトレースとメトリクスをエクスポートします。
OTLP エクスポーターが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- OTLP gRPC エンドポイント。
https://スキームが使用される場合、クライアントトランスポートセキュリティーが有効になり、tlsのinsecure設定をオーバーライドします。 - 2
- クライアント側の TLS 設定。TLS 証明書へのパスを定義します。
- 3
trueに設定すると、クライアントトランスポートセキュリティーは無効になります。デフォルト値はfalseです。- 4
trueに設定されている場合、証明書の検証は省略します。デフォルト値はfalseです。- 5
- 証明書をリロードする間隔を指定します。この値が設定されていない場合、証明書はリロードされません。
reload_intervalは、ns、us(またはµs)、ms、s、m、hなどの有効な時間単位を含む文字列を受け入れます。 - 6
- 要求の authority ヘッダーフィールドなど、認証局の仮想ホスト名をオーバーライドします。これをテストに使用できます。
- 7
- ヘッダーは、接続が確立されている間に実行されるすべての要求に対して送信されます。
3.1.1.5.2. OTLP HTTP エクスポーター リンクのコピーリンクがクリップボードにコピーされました!
OTLP HTTP エクスポーターは、OpenTelemetry Protocol (OTLP) を使用してトレースとメトリクスをエクスポートします。
OTLP エクスポーターが有効になっている OpenTelemetry Collector カスタムリソース
3.1.1.5.3. デバッグエクスポーター リンクのコピーリンクがクリップボードにコピーされました!
デバッグエクスポーターは、トレースとメトリクスを標準出力に出力します。
デバッグエクスポーターが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- デバッグエクスポートの詳細度:
detailedまたはnormalまたはbasic。detailedに設定すると、パイプラインデータの詳細がログに記録されます。デフォルトはnormalです。
3.1.1.5.4. Prometheus エクスポーター リンクのコピーリンクがクリップボードにコピーされました!
Prometheus エクスポーターは現在、テクノロジープレビュー 機能のみとなっています。
Prometheus エクスポーターは、Prometheus または OpenMetrics 形式でメトリクスをエクスポートします。
Prometheus エクスポーターが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- Collector Pod およびサービスから Prometheus ポートを公開します。
ServiceMonitorまたはPodMonitorカスタムリソースのポート名を使用して、Prometheus によるメトリクスのスクレイピングを有効にできます。 - 2
- メトリクスが公開されるネットワークエンドポイント。
- 3
- サーバー側の TLS 設定。TLS 証明書へのパスを定義します。
- 4
- 設定されている場合は、提供された値でメトリクスをエクスポートします。デフォルトはありません。
- 5
- エクスポートされたすべてのメトリクスに適用されるキーと値のペアのラベル。デフォルトはありません。
- 6
trueの場合、メトリクスは OpenMetrics 形式を使用してエクスポートされます。手本 (exemplar) は、OpenMetrics 形式で、ヒストグラムおよびモノトニックサムメトリクス (counterなど) に対してのみエクスポートできます。デフォルトでは無効になっています。- 7
enabledがtrueの場合、すべてのリソース属性はデフォルトでメトリクスラベルに変換されます。デフォルトでは無効になっています。- 8
- 更新なしでメトリクスが公開される期間を定義します。デフォルトは
5mです。 - 9
- メトリクスの型と単位の接尾辞を追加します。Jaeger コンソールの監視タブが有効になっている場合は、無効にする必要があります。デフォルトは
trueです。
3.1.1.5.5. Kafka エクスポーター リンクのコピーリンクがクリップボードにコピーされました!
Kafka エクスポータは現在、テクノロジープレビュー 機能のみとなっています。
Kafka エクスポータは、ログ、メトリクス、およびトレースを Kafka にエクスポートします。このエクスポーターは、メッセージをブロックしてバッチ処理しない同期プロデューサーを使用します。スループットと回復力を高めるには、バッチおよびキュー再試行プロセッサーと併用する必要があります。
Kafka エクスポーターが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- Kafka ブローカーのリスト。デフォルトは
localhost:9092です。 - 2
- Kafka プロトコルのバージョン。たとえば、
2.0.0などです。これは必須フィールドです。 - 3
- 読み取り元の Kafka トピックの名前。デフォルトは次のとおりです。トレースの場合は
otlp_spans、メトリクスの場合はotlp_metrics、ログの場合はotlp_logsです。 - 4
- 平文認証設定。省略した場合、平文認証は無効になります。
- 5
- クライアント側の TLS 設定。TLS 証明書へのパスを定義します。省略した場合、TLS 認証は無効になります。
- 6
- サーバーの証明書チェーンとホスト名の検証を無効にします。デフォルトは
falseです。 - 7
- ServerName は、仮想ホスティングをサポートするためにクライアントによって要求されたサーバーの名前を示します。
3.1.1.6. コネクター リンクのコピーリンクがクリップボードにコピーされました!
コネクターは 2 つのパイプラインを接続します。
3.1.1.6.1. Spanmetrics コネクター リンクのコピーリンクがクリップボードにコピーされました!
Spanmetrics コネクターは現在、テクノロジープレビュー 機能のみとなっています。
Spanmetrics コネクターは、スパンデータからの Request, Error, Duration (R.E.D) OpenTelemetry メトリクスを集計します。
Spanmetrics コネクターが有効になっている OpenTelemetry Collector カスタムリソース
- 1
- 生成されたメトリクスのフラッシュ間隔を定義します。デフォルトは
15sです。
3.1.1.7. エクステンション リンクのコピーリンクがクリップボードにコピーされました!
エクステンションにより、Collector に機能が追加されます。
3.1.1.7.1. BearerTokenAuth エクステンション リンクのコピーリンクがクリップボードにコピーされました!
BearerTokenAuth エクステンションは現在、テクノロジープレビュー 機能のみとなっています。
BearerTokenAuth エクステンションは、HTTP および gRPC プロトコルに基づくレシーバーとエクスポーター用のオーセンティケーターです。OpenTelemetry Collector カスタムリソースを使用して、レシーバーおよびエクスポーター側で BearerTokenAuth エクステンションのクライアント認証とサーバー認証を設定できます。このエクステンションは、トレース、メトリクス、およびログをサポートします。
BearerTokenAuth エクステンション用に設定されたクライアントおよびサーバー認証を含む OpenTelemetry Collector カスタムリソース
3.1.1.7.2. OAuth2Client エクステンション リンクのコピーリンクがクリップボードにコピーされました!
OAuth2Client エクステンションは現在、テクノロジープレビュー 機能のみとなっています。
OAuth2Client エクステンションは、HTTP および gRPC プロトコルに基づくエクスポーター用のオーセンティケーターです。OAuth2Client エクステンションのクライアント認証は、OpenTelemetry Collector カスタムリソースの別のセクションで設定されます。このエクステンションは、トレース、メトリクス、およびログをサポートします。
OAuth2Client エクステンション用にクライアント認証が設定された OpenTelemetry Collector カスタムリソース
- 1
- ID プロバイダーによって提供されるクライアント ID。
- 2
- ID プロバイダーに対してクライアントを認証するために使用される機密キー。
- 3
- キーと値のペア形式の追加のメタデータ。認証中に転送されます。たとえば
audienceは、アクセストークンの対象を指定し、トークンの受信者を示します。 - 4
- Collector がアクセストークンを要求する OAuth2 トークンエンドポイントの URL。
- 5
- スコープは、クライアントによって要求された特定の権限またはアクセスレベルを定義します。
- 6
- トークンクライアントの Transport Layer Security (TLS) 設定。トークンを要求するときに安全な接続を確立するために使用されます。
- 7
trueに設定すると、安全でないまたは検証されていない TLS 接続を使用して、設定されたトークンエンドポイントを呼び出すようにCollector が設定されます。- 8
- TLS ハンドシェイク中にサーバーの証明書を検証するために使用される認証局 (CA) ファイルへのパス。
- 9
- クライアントが必要に応じて OAuth2 サーバーに対して自身を認証するために使用する必要があるクライアント証明書ファイルへのパス。
- 10
- 認証に必要な場合にクライアント証明書と併用されるクライアントの秘密キーファイルへのパス。
- 11
- トークンクライアントのリクエストのタイムアウトを設定します。
- 12
- オーセンティケーター設定を OTLP エクスポーターに割り当てることができます。
3.1.1.7.3. Jaeger Remote Sampling エクステンション リンクのコピーリンクがクリップボードにコピーされました!
Jaeger Remote Sampling エクステンションは現在、テクノロジープレビュー 機能のみとなっています。
Jaeger Remote Sampling エクステンションを使用すると、Jaeger のリモートサンプリング API の後にサンプリングストラテジーを提供できるようになります。このエクステンションを設定して、パイプラインの Jaeger Collector などのバッキングリモートサンプリングサーバーに、またはローカルファイルシステムから静的 JSON ファイルにリクエストをプロキシーできます。
設定された Jaeger Remote Sampling エクステンションを備えた OpenTelemetry Collector カスタムリソース
Jaeger Remote Sampling ストラテジーファイルの例
3.1.1.7.4. パフォーマンスプロファイラーエクステンション リンクのコピーリンクがクリップボードにコピーされました!
Performance Profiler エクステンションは現在、テクノロジープレビュー 機能のみとなっています。
Performance Profiler エクステンションにより、Go net/http/pprof エンドポイントが有効になります。これは通常、開発者がパフォーマンスプロファイルを収集し、サービスの問題を調査するために使用されます。
Performance Profiler エクステンションが設定された OpenTelemetry Collector カスタムリソース
- 1
- このエクステンションがリッスンするエンドポイント。
localhost:を使用してローカルでのみ使用できるようにするか、":"を使用してすべてのネットワークインターフェイスで使用できるようにします。デフォルト値はlocalhost:1777です。 - 2
- ブロッキングイベントの一部がプロファイリングされるように設定します。プロファイリングを無効にするには、これを
0または負の整数に設定します。runtimeパッケージについては、ドキュメント を参照してください。デフォルト値は0です。 - 3
- プロファイリングされるミューテックス競合イベントの一部を設定します。プロファイリングを無効にするには、これを
0または負の整数に設定します。runtimeパッケージについては、ドキュメント を参照してください。デフォルト値は0です。 - 4
- CPU プロファイルを保存するファイルの名前。Collector が起動すると、プロファイリングが開始されます。プロファイリングは、Collector の終了時にファイルに保存されます。
3.1.1.7.5. ヘルスチェックエクステンション リンクのコピーリンクがクリップボードにコピーされました!
Health Check エクステンションは現在、テクノロジープレビュー 機能のみとなっています。
Health Check エクステンションは、OpenTelemetry Collector のステータスをチェックするための HTTP URL を提供します。このエクステンションは、OpenShift の liveness および readiness プローブとして使用できます。
ヘルスチェックエクステンションが設定された OpenTelemetry Collector カスタムリソース
- 1
- ヘルスチェックステータスを公開するためのターゲット IP アドレス。デフォルトは
0.0.0.0:13133です。 - 2
- TLS サーバー側の設定。TLS 証明書へのパスを定義します。省略した場合、TLS は無効になります。
- 3
- ヘルスチェックサーバーのパス。デフォルトは
/です。 - 4
- Collector パイプラインのヘルスチェック用の設定。
- 5
- Collector パイプラインのヘルスチェックを有効にします。デフォルトは
falseです。 - 6
- 失敗数を確認する時間間隔。デフォルトは
5mです。 - 7
- コンテナーが依然として正常であるとマークされる失敗の数のしきい値。デフォルトは
5です。
3.1.1.7.6. Memory Ballast エクステンション リンクのコピーリンクがクリップボードにコピーされました!
Memory Ballast エクステンションは現在、テクノロジープレビュー 機能のみとなっています。
Memory Ballast エクステンションを使用すると、アプリケーションはプロセスのメモリーバラストを設定できます。
Memory Ballast エクステンションが設定された OpenTelemetry Collector カスタムリソース
3.1.1.7.7. zPages エクステンション リンクのコピーリンクがクリップボードにコピーされました!
zPages エクステンションは現在、テクノロジープレビュー 機能のみとなっています。
zPages エクステンションは、zPages を提供するエクステンションに HTTP エンドポイントを提供します。エンドポイントでは、このエクステンションは、インストルメントされたコンポーネントをデバッグするためのライブデータを提供します。すべてのコアエクスポーターとレシーバーは、一部の zPages インストルメンテーションを提供します。
zPages は、トレースやメトリクスを調べるためにバックエンドに依存する必要がなく、プロセス内診断に役立ちます。
zPages エクステンションが設定された OpenTelemetry Collector カスタムリソース
- 1
- zPages を提供する HTTP エンドポイントを指定します。
localhost:を使用してローカルでのみ使用できるようにするか、":"を使用してすべてのネットワークインターフェイスで使用できるようにします。デフォルトはlocalhost:55679です。
3.2. OpenTelemetry Collector を使用したさまざまなクラスターからの可観測性データの収集 リンクのコピーリンクがクリップボードにコピーされました!
マルチクラスター設定の場合、リモートクラスターごとに 1 つの OpenTelemetry Collector インスタンスを作成してから、すべてのテレメトリーデータを 1 つの OpenTelemetry Collector インスタンスに転送できます。
前提条件
- Red Hat build of OpenTelemetry Operatorがインストールされている。
- Tempo Operator がインストールされている。
- TempoStack インスタンスがクラスターにデプロイされている。
- 証明書 (Issuer、自己署名証明書、CA issuer、クライアントとサーバーの証明書) がマウントされている。これらの証明書のいずれかを作成するには、手順 1 を参照してください。
手順
OpenTelemetry Collector インスタンスに次の証明書をマウントし、すでにマウントされている証明書を省略します。
Red Hat OpenShift の cert-manager Operator を使用して証明書を生成する Issuer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 自己署名証明書
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA issuer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントとサーバーの証明書
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenTelemetry Collector インスタンスのサービスアカウントを作成します。
ServiceAccount の例
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deploymentCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントのクラスターロールを作成します。
ClusterRole の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターロールをサービスアカウントにバインドします。
ClusterRoleBinding の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML ファイルを作成して、エッジクラスターで
OpenTelemetryCollectorカスタムリソース (CR) を定義します。エッジクラスター用の
OpenTelemetryCollectorカスタムリソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Collector エクスポーターは、OTLP HTTP をエクスポートするように設定されており、中央クラスターから OpenTelemetry Collector を指します。
YAML ファイルを作成して、中央クラスターに
OpenTelemetryCollectorカスタムリソース (CR) を定義します。中央クラスターの
OpenTelemetryCollectorカスタムリソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. 監視スタックにメトリクスを送信するための設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector カスタムリソース (CR) は、Collector のパイプラインメトリクスと有効な Prometheus エクスポーターをスクレイプするための Prometheus ServiceMonitor CR を作成するように設定できます。
Prometheus エクスポーターを使用した OpenTelemetry Collector カスタムリソースの例
- 1
- コレクターの内部メトリクスエンドポイントと Prometheus エクスポーターメトリクスエンドポイントをスクレイプする Prometheus
ServiceMonitorCR を作成するように Operator を設定します。メトリクスは OpenShift モニタリングスタックに保存されます。
あるいは、手動で作成した Prometheus PodMonitor を使用すると、Prometheus のスクレイピング中に追加された重複したラベルを削除するなど、細かい制御を行うことができます。
Collector メトリクスをスクレイプするように監視スタックを設定する PodMonitor カスタムリソースの例
3.4. Red Hat build of OpenTelemetry のモニタリングのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry Operatorは、各 OpenTelemetry Collector インスタンスの監視とアラートをサポートし、Operator 自体に関するアップグレードと運用メトリクスを公開します。
3.4.1. OpenTelemetry Collector メトリクスの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector インスタンスのメトリクスとアラートを有効化できます。
前提条件
- ユーザー定義プロジェクトのモニタリングがクラスターで有効にされている。
手順
OpenTelemetry Collector インスタンスのメトリクスを有効にするには、
spec.observability.metrics.enableMetricsフィールドをtrueに設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Web コンソールの Administrator ビューを使用して、正常に設定されたことを確認できます。
-
Observe → Targets に移動し、Source: User でフィルタリングして、
opentelemetry-collector-<instance_name>形式の ServiceMonitors のステータスが Up であることを確認します。
第4章 OpenTelemetry インストルメンテーション注入の設定とデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry インストルメンテーション注入はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Red Hat build of OpenTelemetry Operatorは、インストルメンテーションの設定を定義するカスタムリソース定義 (CRD) ファイルを使用します。
4.1. OpenTelemetry インストルメンテーション設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry では、OpenTelemetry 自動インストルメンテーションライブラリーをワークロードに注入して設定できます。現在、プロジェクトは、Go、Java、Node.js、Python、.NET、および Apache HTTP Server (httpd) からのインストルメンテーションライブラリーの注入をサポートしています。
OpenTelemetry の自動インストルメンテーションとは、コードを手動で変更することなく、フレームワークがアプリケーションを自動的にインストルメンテーションする機能を指します。これにより、開発者と管理者は、最小限の労力と既存のコードベースへの変更で、アプリケーションに可観測性を導入できるようになります。
Red Hat build of OpenTelemetry Operatorは、インストルメンテーションライブラリーの注入メカニズムのみをサポートしますが、インストルメンテーションライブラリーやアップストリームイメージはサポートしません。お客様は独自のインストルメンテーションイメージをビルドすることも、コミュニティーイメージを使用することもできます。
4.1.1. インストルメンテーションオプション リンクのコピーリンクがクリップボードにコピーされました!
インストルメンテーションオプションは、OpenTelemetryCollector カスタムリソースで指定されます。
OpenTelemetryCollector カスタムリソースファイルのサンプル
| パラメーター | 説明 | 値 |
|---|---|---|
env
| すべてのインストルメンテーションにわたって定義する共通の環境変数。 | |
exporter
| エクスポーターの設定。 | |
propagators
| プロパゲーターは、プロセス間のコンテキスト伝播設定を定義します。 |
|
resource
| リソース属性の設定。 | |
sampler
| サンプリング設定。 | |
apacheHttpd
| Apache HTTP Server インストルメンテーションの設定。 | |
dotnet
| .NET インストルメンテーションの設定。 | |
go
| Go インストルメンテーションの設定。 | |
java
| Java インストルメンテーションの設定。 | |
nodejs
| Node.js インストルメンテーションの設定。 | |
python
| Python インストルメンテーションの設定。 |
4.1.2. Service Mesh でのインストルメンテーション CR の使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service Mesh でインストルメンテーションカスタムリソース (CR) を使用する場合は、b3multi プロパゲーターを使用する必要があります。
4.1.2.1. Apache HTTP Server の自動インストルメンテーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | デフォルト |
|---|---|---|
attrs
| Apache HTTP Server に固有の属性。 | |
configPath
| Apache HTTP Server 設定の場所。 | /usr/local/apache2/conf |
env
| Apache HTTP Server に固有の環境変数。 | |
image
| Apache SDK と自動インストルメンテーションを備えたコンテナーイメージ。 | |
resourceRequirements
| コンピュートリソースの要件。 | |
version
| Apache HTTP Server のバージョン。 | 2.4 |
注入を有効化するための PodSpec アノテーション
instrumentation.opentelemetry.io/inject-apache-httpd: "true"
instrumentation.opentelemetry.io/inject-apache-httpd: "true"
4.1.2.2. .NET 自動インストルメンテーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 |
|---|---|
env
| .NET に固有の環境変数。 |
image
| .NET SDK と自動インストルメンテーションを備えたコンテナーイメージ。 |
resourceRequirements
| コンピュートリソースの要件。 |
.NET 自動インストルメンテーションの場合、エクスポータのエンドポイントが 4317 に設定されている場合は、必須の OTEL_EXPORTER_OTLP_ENDPOINT 環境変数を設定する必要があります。.NET 自動インストルメンテーションはデフォルトで http/proto を使用し、テレメトリーデータは 4318 ポートに設定する必要があります。
注入を有効化するための PodSpec アノテーション
instrumentation.opentelemetry.io/inject-dotnet: "true"
instrumentation.opentelemetry.io/inject-dotnet: "true"
4.1.2.3. Go 自動インストルメンテーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 |
|---|---|
env
| Go に固有の環境変数。 |
image
| Go SDK と自動インストルメンテーションを備えたコンテナーイメージ。 |
resourceRequirements
| コンピュートリソースの要件。 |
注入を有効化するための PodSpec アノテーション
instrumentation.opentelemetry.io/inject-go: "true"
instrumentation.opentelemetry.io/inject-go: "true"
OpenShift クラスターの Go 自動インストルメンテーションに必要な追加の権限
OpenShift クラスターで Go 自動インストルメンテーションの権限を適用するための CLI コマンドは次のとおりです。
oc adm policy add-scc-to-user otel-go-instrumentation-scc -z <service_account>
$ oc adm policy add-scc-to-user otel-go-instrumentation-scc -z <service_account>
4.1.2.4. Java 自動インストルメンテーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 |
|---|---|
env
| Java に固有の環境変数。 |
image
| Java SDK と自動インストルメンテーションを備えたコンテナーイメージ。 |
resourceRequirements
| コンピュートリソースの要件。 |
注入を有効化するための PodSpec アノテーション
instrumentation.opentelemetry.io/inject-java: "true"
instrumentation.opentelemetry.io/inject-java: "true"
4.1.2.5. Node.js 自動インストルメンテーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 |
|---|---|
env
| Node.js に固有の環境変数。 |
image
| Node.js SDK と自動インストルメンテーションを備えたコンテナーイメージ。 |
resourceRequirements
| コンピュートリソースの要件。 |
注入を有効化するための PodSpec アノテーション
instrumentation.opentelemetry.io/inject-nodejs: "true" instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/path/to/container/executable"
instrumentation.opentelemetry.io/inject-nodejs: "true"
instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/path/to/container/executable"
instrumentation.opentelemetry.io/otel-go-auto-target-exe アノテーションは、必要な OTEL_GO_AUTO_TARGET_EXE 環境変数の値を設定します。
4.1.2.6. Python 自動インストルメンテーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 |
|---|---|
env
| Python に固有の環境変数。 |
image
| Python SDK と自動インストルメンテーションを備えたコンテナーイメージ。 |
resourceRequirements
| コンピュートリソースの要件。 |
Python 自動インストルメンテーションの場合、エクスポーターのエンドポイントが 4317 に設定されている場合は、OTEL_EXPORTER_OTLP_ENDPOINT 環境変数を設定する必要があります。Python 自動インストルメンテーションはデフォルトで http/proto を使用し、テレメトリーデータは 4318 ポートに設定する必要があります。
注入を有効化するための PodSpec アノテーション
instrumentation.opentelemetry.io/inject-python: "true"
instrumentation.opentelemetry.io/inject-python: "true"
4.1.2.7. OpenTelemetry SDK 変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
Pod 内の OpenTelemetry SDK 変数は、次のアノテーションを使用して設定できます。
instrumentation.opentelemetry.io/inject-sdk: "true"
instrumentation.opentelemetry.io/inject-sdk: "true"
すべてのアノテーションは、以下の値を受け入れることに注意してください。
true-
namespace からインストル
Instrumentationリソースを注入します。 false- インストルメンテーションはいっさい注入しません。
instrumentation-name- 現在の namespace から注入するインストルメンテーションリソースの名前。
other-namespace/instrumentation-name- 別の namespace から注入するインストルメンテーションリソースの名前。
4.1.2.8. マルチコンテナー Pod リンクのコピーリンクがクリップボードにコピーされました!
インストルメンテーションは、Pod の仕様に従ってデフォルトで利用可能な最初のコンテナー上で実行されます。場合によっては、注入のターゲットコンテナーを指定することもできます。
Pod のアノテーション
instrumentation.opentelemetry.io/container-names: "<container_1>,<container_2>"
instrumentation.opentelemetry.io/container-names: "<container_1>,<container_2>"
Go 自動インストルメンテーションは、複数コンテナーの自動インストルメンテーション注入をサポートしていません。
第5章 Red Hat build of OpenTelemetry の使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry をセットアップして使用し、トレースを OpenTelemetry Collector または TempoStack に送信できます。
5.1. OpenTelemetry Collector を使用してトレースを TempoStack に転送する リンクのコピーリンクがクリップボードにコピーされました!
TempoStack への転送トレースを設定するには、OpenTelemetry Collector をデプロイして設定します。指定されたプロセッサー、レシーバー、エクスポーターを使用して、OpenTelemetry Collector をデプロイメントモードでデプロイできます。その他のモードについては、関連情報 に記載されたリンクを使用して、OpenTelemetry Collector ドキュメントを参照してください。
前提条件
- Red Hat build of OpenTelemetry Operatorがインストールされている。
- Tempo Operator がインストールされている。
- TempoStack がクラスターにデプロイされている。
手順
OpenTelemetry Collector のサービスアカウントを作成します。
ServiceAccount の例
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deploymentCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントのクラスターロールを作成します。
ClusterRole の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターロールをサービスアカウントにバインドします。
ClusterRoleBinding の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML ファイルを作成して、
OpenTelemetryCollectorカスタムリソース (CR) を定義します。OpenTelemetryCollector の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
tracegen をテストとしてデプロイできます。
5.2. トレースとメトリクスを OpenTelemetry Collector に送信する リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector へのトレースとメトリクスの送信は、サイドカー注入の有無にかかわらず可能です。
5.2.1. サイドカー注入を使用してトレースとメトリクスを OpenTelemetry Collector に送信する リンクのコピーリンクがクリップボードにコピーされました!
サイドカー注入を使用して、OpenTelemetry Collector インスタンスへのテレメトリーデータの送信をセットアップできます。
Red Hat build of OpenTelemetry Operatorでは、デプロイメントワークロードへのサイドカー注入と、OpenTelemetry Collector にテレメトリーデータを送信するためのインストルメンテーションの自動設定が可能です。
前提条件
- Red Hat OpenShift distributed tracing platform (Tempo) がインストールされ、TempoStack インスタンスがデプロイされている。
Web コンソールまたは OpenShift CLI (
oc) を使用してクラスターにアクセスできる。-
cluster-adminロールを持つクラスター管理者として Web コンソールにログインしている。 -
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。 -
Red Hat OpenShift Dedicated を使用する場合は
dedicated-adminロールを持つアカウント。
-
手順
OpenTelemetry Collector インスタンスのプロジェクトを作成します。
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observability
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-sidecar namespace: observability
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-sidecar namespace: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow k8sattributesおよびresourcedetectionプロセッサーの権限をサービスアカウントに付与します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTelemetry Collector をサイドカーとしてデプロイします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
<example>Tempo Operator を使用してデプロイされた TempoStack インスタンスのゲートウェイを指します。
-
otel-collector-sidecarサービスアカウントを使用してデプロイメントを作成します。 -
sidecar.opentelemetry.io/inject: "true"アノテーションをDeploymentオブジェクトに追加します。これにより、ワークロードから OpenTelemetry Collector インスタンスにデータを送信するために必要なすべての環境変数が注入されます。
5.2.2. サイドカー注入を使用せずにトレースとメトリクスを OpenTelemetry Collector に送信する リンクのコピーリンクがクリップボードにコピーされました!
サイドカー注入を使用せずに、テレメトリーデータを OpenTelemetry Collector インスタンスに送信するようにセットアップできます。これには、いくつかの環境変数を手動で設定する必要があります。
前提条件
- Red Hat OpenShift distributed tracing platform (Tempo) がインストールされ、TempoStack インスタンスがデプロイされている。
Web コンソールまたは OpenShift CLI (
oc) を使用してクラスターにアクセスできる。-
cluster-adminロールを持つクラスター管理者として Web コンソールにログインしている。 -
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。 -
Red Hat OpenShift Dedicated を使用する場合は
dedicated-adminロールを持つアカウント。
-
手順
OpenTelemetry Collector インスタンスのプロジェクトを作成します。
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observability
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observability
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow k8sattributesおよびresourcedetectionプロセッサーの権限をサービスアカウントに付与します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTelemetryCollectorカスタムリソースを使用して OpenTelemetry Collector インスタンスをデプロイします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
<example>Tempo Operator を使用してデプロイされた TempoStack インスタンスのゲートウェイを指します。
インストルメント化されたアプリケーションを使用してコンテナーに環境変数を設定します。
Expand 名前 説明 デフォルト値 OTEL_SERVICE_NAME
OTEL_SERVICE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow service.nameリソース属性の値を設定します。""OTEL_EXPORTER_OTLP_ENDPOINT
OTEL_EXPORTER_OTLP_ENDPOINTCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプションで指定したポート番号を持つシグナル型のベースエンドポイント URL。
https://localhost:4317OTEL_EXPORTER_OTLP_CERTIFICATE
OTEL_EXPORTER_OTLP_CERTIFICATECopy to Clipboard Copied! Toggle word wrap Toggle overflow gRPC クライアントの TLS 認証情報の証明書ファイルへのパス。
https://localhost:4317OTEL_TRACES_SAMPLER
OTEL_TRACES_SAMPLERCopy to Clipboard Copied! Toggle word wrap Toggle overflow トレースに使用されるサンプラー。
parentbased_always_onOTEL_EXPORTER_OTLP_PROTOCOL
OTEL_EXPORTER_OTLP_PROTOCOLCopy to Clipboard Copied! Toggle word wrap Toggle overflow OTLP エクスポーターのトランスポートプロトコル。
grpcOTEL_EXPORTER_OTLP_TIMEOUT
OTEL_EXPORTER_OTLP_TIMEOUTCopy to Clipboard Copied! Toggle word wrap Toggle overflow OTLP エクスポーターが各バッチエクスポートを待機する最大時間間隔。
10sOTEL_EXPORTER_OTLP_INSECURE
OTEL_EXPORTER_OTLP_INSECURECopy to Clipboard Copied! Toggle word wrap Toggle overflow gRPC リクエストのクライアントトランスポートセキュリティーを無効にします。HTTPS スキーマはこれをオーバーライドします。
False
第6章 Red Hat build of OpenTelemetry のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector のヘルスを測定し、データの取り込みに関する問題を調査する方法は複数あります。
6.1. OpenTelemetry Collector ログの取得 リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector のログを取得するには、以下の手順を実行します。
手順
OpenTelemetryCollectorカスタムリソース (CR) で関連するログレベルを設定します。config: | service: telemetry: logs: level: debugconfig: | service: telemetry: logs: level: debug1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Collector のログレベル。サポートされている値には、
info、warn、error、またはdebugが含まれます。デフォルトはinfoです。
-
oc logsコマンドまたは Web コンソールを使用してログを取得します。
6.2. メトリクスの公開 リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector は、処理したデータボリュームに関するメトリクスを公開します。同様のメトリクスがメトリクスおよびログシグナル用にされていますが、以下はスパン用のメトリクスです。
otelcol_receiver_accepted_spans- パイプラインに正常にプッシュされたスパンの数。
otelcol_receiver_refused_spans- パイプラインにプッシュできなかったスパンの数。
otelcol_exporter_sent_spans- 宛先に正常に送信されたスパンの数。
otelcol_exporter_enqueue_failed_spans- 送信キューに追加できなかったスパンの数。
Operator は、メトリクスエンドポイントのスクレイプに使用できる <cr_name>-collector-monitoring テレメトリーサービスを作成します。
手順
OpenTelemetryCollectorカスタムリソースに次の行を追加して、テレメトリーサービスを有効にします。config: | service: telemetry: metrics: address: ":8888"config: | service: telemetry: metrics: address: ":8888"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 内部 Collector のメトリクスが公開されるアドレス。デフォルトは
:8888です。
ポート転送Collector Pod を使用する次のコマンドを実行して、メトリクスを取得します。
oc port-forward <collector_pod>
$ oc port-forward <collector_pod>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
http://localhost:8888/metricsでメトリクスエンドポイントにアクセスします。
6.3. デバッグエクスポーター リンクのコピーリンクがクリップボードにコピーされました!
収集されたデータを標準出力にエクスポートするようにデバッグエクスポーターを設定できます。
手順
OpenTelemetryCollectorカスタムリソースを次のように設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc logsコマンドまたは Web コンソールを使用して、ログを標準出力にエクスポートします。
第7章 distributed tracing platform (Jaeger) から Red Hat build of OpenTelemetry への移行 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションに Red Hat OpenShift distributed tracing platform (Jaeger) をすでに使用している場合は、OpenTelemetry オープンソースプロジェクトに基づく Red Hat build of OpenTelemetry に移行できます。
Red Hat build of OpenTelemetry は、分散システムでの可観測性を促進するための API、ライブラリー、エージェント、およびインストルメンテーションのセットを提供します。Red Hat build of OpenTelemetry に含まれる OpenTelemetry Collector は、Jaeger プロトコルを取り込めるため、アプリケーションの SDK を変更する必要はありません。
distributed tracing platform (Jaeger) から Red Hat build of OpenTelemetry に移行するには、トレースをシームレスにレポートするように OpenTelemetry Collector とアプリケーションを設定する必要があります。サイドカーおよびサイドカーレスデプロイメントを移行できます。
7.1. distributed tracing platform (Jaeger) から、サイドカーのある Red Hat build of OpenTelemetry への移行 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry Operatorは、デプロイメントワークロードへのサイドカー注入をサポートしているため、distributed tracing platform (Jaeger) サイドカーから Red Hat build of OpenTelemetry サイドカーに移行できます。
前提条件
- Red Hat OpenShift distributed tracing platform (Jaeger) がクラスターで使用されている。
- Red Hat build of OpenTelemetry がインストールされている。
手順
OpenTelemetry Collector をサイドカーとして設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このエンドポイントは、
<example>Tempo Operator を使用してデプロイされた TempoStack インスタンスのゲートウェイを指します。
アプリケーションを実行するためのサービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-sidecar
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-sidecarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一部のプロセッサーで必要な権限のためのクラスターロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
resourcedetectionprocessorには、インフラストラクチャーとインフラストラクチャー/ステータスに対する権限が必要です。
ClusterRoleBindingを作成して、サービスアカウントの権限を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenTelemetry Collector をサイドカーとしてデプロイします。
-
Deploymentオブジェクトから"sidecar.jaegertracing.io/inject": "true"アノテーションを削除することで、注入された Jaeger Agent をアプリケーションから削除します。 -
sidecar.opentelemetry.io/inject: "true"アノテーションをDeploymentオブジェクトの.spec.template.metadata.annotationsフィールドに追加して、OpenTelemetry サイドカーの自動注入を有効にします。 - 作成したサービスアカウントをアプリケーションのデプロイメントに使用します。そうすることで、プロセッサーは正しい情報を取得してトレースに追加できます。
7.2. distributed tracing platform (Jaeger) からサイドカーなしの Red Hat build of OpenTelemetry への移行 リンクのコピーリンクがクリップボードにコピーされました!
サイドカーをデプロイせずに、distributed tracing platform (Jaeger) から Red Hat build of OpenTelemetry に移行できます。
前提条件
- Red Hat OpenShift distributed tracing platform (Jaeger) がクラスターで使用されている。
- Red Hat build of OpenTelemetry がインストールされている。
手順
- OpenTelemetry Collector デプロイメントを設定します。
OpenTelemetry Collector のデプロイ先となるプロジェクトを作成します。
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observability
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTelemetry Collector インスタンスを実行するためのサービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observability
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロセッサーに必要な権限を設定するためのクラスターロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterRoleBinding を作成して、サービスアカウントの権限を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTelemetry Collector インスタンスを作成します。
注記このCollector は、トレースを TempoStack インスタンスにエクスポートします。Red Hat Tempo Operator を使用して TempoStack インスタンスを作成し、正しいエンドポイントを配置する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - トレースエンドポイントを OpenTelemetry Operator に指定します。
トレースをアプリケーションから Jaeger に直接エクスポートする場合は、API エンドポイントを Jaeger エンドポイントから OpenTelemetry Collector エンドポイントに変更します。
Golang を使用する
jaegerexporterでトレースをエクスポートする場合の例exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(url)))
exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(url)))1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- URL は OpenTelemetry Collector API エンドポイントを指します。
第8章 Red Hat build of OpenTelemetry の更新 リンクのコピーリンクがクリップボードにコピーされました!
バージョンのアップグレードの場合、Red Hat build of OpenTelemetry Operatorは Operator Lifecycle Manager (OLM) を使用します。これは、クラスター内の Operator のインストール、アップグレード、およびロールベースのアクセス制御 (RBAC) を制御します。
OLM は、デフォルトで OpenShift Container Platform で実行されます。OLM は利用可能な Operator のクエリーやインストールされた Operator のアップグレードを実行します。
Red Hat build of OpenTelemetry Operatorが新しいバージョンにアップグレードされると、管理する実行中の OpenTelemetry Collector インスタンスがスキャンされ、Operator の新しいバージョンに対応するバージョンにアップグレードされます。
第9章 Red Hat build of OpenTelemetry の削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターから Red Hat build of OpenTelemetry を削除する手順は次のとおりです。
- Red Hat build of OpenTelemetry Pod をすべてシャットダウンします。
- OpenTelemetryCollector インスタンスを削除します。
- Red Hat build of OpenTelemetry Operator を削除します。
9.1. Web コンソールを使用した OpenTelemetry Collector インスタンスの削除 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの Administrator ビューで OpenTelemetry Collector インスタンスを削除できます。
前提条件
-
cluster-adminロールを持つクラスター管理者として Web コンソールにログインしている。 -
Red Hat OpenShift Dedicated の場合、
dedicated-adminロールを持つアカウントを使用してログインしている。
手順
- Operators → Installed Operators → Red Hat build of OpenTelemetry Operator → OpenTelemetryInstrumentation または OpenTelemetryCollector に移動します。
-
関連するインスタンスを削除するには、
→ Delete … → Delete を選択します。
- オプション: Red Hat build of OpenTelemetry Operatorを削除します。
9.2. CLI を使用した OpenTelemetry Collector インスタンスの削除 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインで OpenTelemetry Collector インスタンスを削除できます。
前提条件
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。ヒント-
OpenShift CLI (
oc)のバージョンが最新であり、OpenShift Container Platform バージョンと一致していることを確認してください。 oc loginを実行します。oc login --username=<your_username>
$ oc login --username=<your_username>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
OpenShift CLI (
手順
次のコマンドを実行して、OpenTelemetry Collector インスタンスの名前を取得します。
oc get deployments -n <project_of_opentelemetry_instance>
$ oc get deployments -n <project_of_opentelemetry_instance>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OpenTelemetry Collector インスタンスを削除します。
oc delete opentelemetrycollectors <opentelemetry_instance_name> -n <project_of_opentelemetry_instance>
$ oc delete opentelemetrycollectors <opentelemetry_instance_name> -n <project_of_opentelemetry_instance>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション: Red Hat build of OpenTelemetry Operatorを削除します。
検証
OpenTelemetry Collector インスタンスが正常に削除されたことを確認するには、
oc get deploymentsを再度実行します。oc get deployments -n <project_of_opentelemetry_instance>
$ oc get deployments -n <project_of_opentelemetry_instance>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.