Collector の設定
レシーバー、プロセッサー、エクスポーター、コネクター、および拡張機能を使用した Telemetry データパイプラインの設定
概要
第1章 Collector の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry Operator は、Red Hat build of OpenTelemetry リソースを作成およびデプロイするときに使用されるアーキテクチャーと設定を定義するカスタムリソース定義 (CRD) ファイルを使用します。デフォルト設定をインストールすることも、ファイルを変更することもできます。
1.1. デプロイメントモード リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetryCollector カスタムリソースを使用すると、OpenTelemetry Collector の次のいずれかのデプロイメントモードを指定できます。
- Deployment
- デフォルトです。
- StatefulSet
- Collector の File Storage Extension または Tail Sampling Processor を使用する場合など、ステートフルワークロードを実行する必要がある場合は、StatefulSet デプロイメントモードを使用します。
- DaemonSet
- たとえば、Collector の Filelog Receiver を使用してコンテナーログを読み取るなど、すべてのノードからテレメトリーデータをスクレイプする必要がある場合は、DaemonSet デプロイメントモードを使用します。
- サイドカー
コンテナー内のログファイルにアクセスする必要がある場合は、Collector をサイドカーとして注入し、Collector の Filelog Receiver と
emptyDirなどの共有ボリュームを使用します。アプリケーションがテレメトリーデータを
localhost経由で送信するように設定する必要がある場合は、Collector をサイドカーとして注入し、暗号化かつ認証された接続を介してテレメトリーデータを外部サービスに転送するように Collector をセットアップします。サイドカーとして注入されると、Collector はアプリケーションと同じ Pod で実行されます。注記サイドカーデプロイメントモードを選択した場合は、
OpenTelemetryCollectorカスタムリソース CR でspec.mode: sidecarフィールドを設定することに加えて、Pod アノテーションまたは namespace アノテーションとしてsidecar.opentelemetry.io/injectアノテーションも設定する必要があります。このアノテーションを Pod と namespace の両方に設定すると、falseまたはOpenTelemetryCollectorCR 名のいずれかに設定されている場合は、Pod アノテーションが優先されます。Pod アノテーションとして、
sidecar.opentelemetry.io/injectアノテーションはいくつかの値をサポートしています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- サポートされる値:
false- Collector を注入しません。アノテーションがない場合、これがデフォルトになります。
true-
同じ namespace 内の
OpenTelemetryCollectorCR の設定を Collector に注入します。 <collector_name>-
同じ namespace 内の
<collector_name>OpenTelemetryCollectorCR の設定を Collector に注入します。 <namespace>/<collector_name>-
<namespace>namespace 内の<collector_name>OpenTelemetryCollectorCR の設定を Collector に注入します。
1.2. OpenTelemetry Collector 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Collector は、テレメトリーデータにアクセスする 5 種類のコンポーネントで構成されます。
- レシーバー
- プロセッサー
- エクスポーター
- コネクター
- 拡張機能
カスタムリソース YAML ファイルで、コンポーネントのインスタンスを複数定義できます。コンポーネントは、設定した後に YAML ファイルの spec.config.service セクションで定義されたパイプラインで有効にする必要があります。ベストプラクティスとしては、必要なコンポーネントのみを有効にします。
OpenTelemetry Collector カスタムリソースファイルの例
- 1
- コンポーネントが設定されていても、
serviceセクションで定義されていない場合、そのコンポーネントは有効になりません。
| パラメーター | 説明 | 値 | デフォルト |
|---|---|---|---|
receivers:
| レシーバーは、データが Collector に到達する方法です。デフォルトでは、レシーバーは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なレシーバーが必要です。レシーバーは、パイプラインに追加して有効にされます。 |
| なし |
processors:
| プロセッサーは、受信したデータをエクスポートする前に処理します。デフォルトでは、プロセッサーは有効になっていません。 |
| なし |
exporters:
| エクスポーターは、1 つ以上のバックエンドまたは宛先にデータを送信します。デフォルトでは、エクスポーターは設定されていません。設定が有効とみなされるためには、少なくとも 1 つの有効なエクスポーターが必要です。エクスポーターは、パイプラインに追加して有効にされます。エクスポーターはデフォルト設定で使用できますが、多くの場合、少なくとも宛先およびセキュリティー設定を指定するための設定が必要です。 |
| なし |
connectors:
| コネクターはパイプラインのペアを結合します。つまり、パイプラインの終わりのエクスポーターとしてデータを消費し、パイプラインの始まりのレシーバーとしてデータを出力します。コネクターを使用して、消費されたデータを要約、複製、またはルーティングできます。 |
| なし |
extensions:
| テレメトリーデータの処理を含まないタスク用のオプションのコンポーネント。 |
| None |
service: pipelines:
|
コンポーネントは、それらを | ||
service:
pipelines:
traces:
receivers:
|
レシーバーは、それらを | なし | |
service:
pipelines:
traces:
processors:
|
プロセッサーは、それらを | なし | |
service:
pipelines:
traces:
exporters:
|
エクスポーターは、それらを | なし | |
service:
pipelines:
metrics:
receivers:
|
メトリクスのレシーバーを有効にするには、 | なし | |
service:
pipelines:
metrics:
processors:
|
メトリクスのプロセッサーを有効にするには、 | なし | |
service:
pipelines:
metrics:
exporters:
|
メトリクスのエクスポーターを有効にするには、 | None |
1.3. profile signal リンクのコピーリンクがクリップボードにコピーされました!
Profile シグナルは、コードの実行とリソース消費を監視するための新しい Telemetry データ形式です。
Profile シグナルはテクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
プロファイル信号を使用すると、非効率的なコードを特定機能に特定できます。このようなプロファイリングにより、コードの特定の行までパフォーマンスのボトルネックやリソースの効率を正確に特定できます。このような高速プロファイルデータをトレース、メトリック、およびログに関連付けることで、実稼働環境での包括的なパフォーマンス分析とターゲット型コードの最適化が可能になります。
プロファイリングは、アプリケーションまたはオペレーティングシステムをターゲットにできます。
- プロファイリングを使用してアプリケーションを観察すると、開発者がコードのパフォーマンスを検証し、リグレッションを防ぎ、メモリーや CPU 使用率などのリソース消費を監視し、非効率なコードを特定し、改善できます。
- プロファイリングを使用してオペレーティングシステムを監視することで、インフラストラクチャー、システムコール、カーネル操作、および I/O 待機時間に関する洞察が提供されるため、効率とコストを削減するためにインフラストラクチャーを最適化できます。
プロファイルシグナルが有効になっている OpenTelemetry Collector カスタムリソース
1.4. 必要な RBAC リソースの自動作成 リンクのコピーリンクがクリップボードにコピーされました!
一部の Collector コンポーネントは、RBAC リソースの設定を必要とします。
手順
Red Hat build of OpenTelemetry Operator が権限を自動的に作成できるように、
opentelemetry-operator-controller-manageサービスアカウントに次の権限を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. Target Allocator リンクのコピーリンクがクリップボードにコピーされました!
Target Allocator は、OpenTelemetry Operator のオプションのコンポーネントです。デプロイされた OpenTelemetry Collector インスタンスのフリート全体のスクレイプターゲットをシャード化します。Target Allocator は、Prometheus PodMonitor および ServiceMonitor カスタムリソース (CR) と統合します。Target Allocator が有効な場合、OpenTelemetry Operator が、Target Allocator サービスに接続する有効な Prometheus レシーバーに http_sd_config フィールドを追加します。
Target Allocator はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Target Allocator が有効な OpenTelemetryCollector CR の例
- 1
- Target Allocator が有効な場合、デプロイメントモードを
statefulsetに設定する必要があります。 - 2
- Target Allocator を有効にします。デフォルトは
falseです。 - 3
- Target Allocator デプロイメントのサービスアカウント名。サービスアカウントには、収集されたメトリクスにラベルを適切に設定するために、
ServiceMonitor、PodMonitorカスタムリソース、およびその他のオブジェクトをクラスターから取得するための RBAC が必要です。デフォルトのサービス名は<collector_name>-targetallocatorです。 - 4
- Prometheus
PodMonitorおよびServiceMonitorカスタムリソースとの統合を有効にします。 - 5
- Prometheus
ServiceMonitorカスタムリソースのラベルセレクター。空のままにすると、すべてのサービスモニターが有効になります。 - 6
- Prometheus
PodMonitorカスタムリソースのラベルセレクター。空のままにすると、すべての Pod モニターが有効になります。 - 7
- 最小限の空の
scrape_config: []設定オプションを指定した Prometheus Receiver。
Target Allocator デプロイメントは、Kubernetes API を使用してクラスターから関連オブジェクトを取得します。そのため、カスタム RBAC 設定が必要です。
Target Allocator のサービスアカウントの RBAC 設定
第2章 レシーバー リンクのコピーリンクがクリップボードにコピーされました!
レシーバーはデータを Collector に入れます。レシーバーはプッシュベースまたはプルベースにすることができます。通常、レシーバーは指定された形式のデータを受け入れて内部形式に変換し、それを適用可能なパイプラインで定義されるプロセッサーおよびエクスポーターに渡します。デフォルトでは、レシーバーは設定されていません。1 つまたは複数のレシーバーを設定する必要があります。レシーバーは 1 つ以上のデータソースをサポートします。
現在、Red Hat build of OpenTelemetry では、次の一般提供およびテクノロジープレビューのレシーバーが利用可能です。
2.1. OTLP Receiver リンクのコピーリンクがクリップボードにコピーされました!
OTLP Receiver は、OpenTelemetry Protocol (OTLP) を使用してトレース、メトリクス、およびログを取り込みます。
OTLP Receiver が有効になっている 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、ms、s、m、hなどの有効な時間単位が含まれる文字列を受け入れます。 - 5
- OTLP HTTP エンドポイント。デフォルト値は
0.0.0.0:4318です。 - 6
- サーバー側の TLS 設定。詳細は、
grpcプロトコル設定セクションを参照してください。
2.2. Jaeger Receiver リンクのコピーリンクがクリップボードにコピーされました!
Jaeger Receiver は、Jaeger 形式でトレースを取り込みます。
Jaeger Receiver が有効になっている 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 Receiver 設定セクションを参照してください。
2.3. Host Metrics Receiver リンクのコピーリンクがクリップボードにコピーされました!
Host Metrics Receiver は、OTLP 形式でメトリクスを取り込みます。
Host Metrics Receiver が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- ホストメトリクス収集の時間間隔を設定します。省略した場合、デフォルト値は
1mです。 - 2
- ホストメトリクス収集の初期時間遅延を設定します。省略した場合、デフォルト値は
1sです。 - 3
- Host Metrics Receiver がルートファイルシステムの場所を認識できるように、
root_pathを設定します。Host Metrics Receiver のインスタンスを複数実行する場合は、各インスタンスに同じroot_path値を設定します。 - 4
- 有効なホストメトリクススクレーパーをリストします。使用可能なスクレーパーは、
cpu、disk、load、filesystem、memory、network、paging、processes、およびprocessです。
2.4. Kubernetes Objects Receiver リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Objects Receiver は、Kubernetes API サーバーから収集されるオブジェクトをプルまたは監視します。このレシーバーは、主に Kubernetes イベントを監視しますが、あらゆる種類の Kubernetes オブジェクトを収集できます。このレシーバーはクラスター全体のテレメトリーを収集するため、すべてのデータを収集するにはこのレシーバーのインスタンスが 1 つあれば十分です。
Kubernetes Objects Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Kubernetes Objects Receiver が有効になっている OpenTelemetry Collector カスタムリソース
2.5. Kubelet Stats Receiver リンクのコピーリンクがクリップボードにコピーされました!
Kubelet Stats Receiver は、kubelet の API サーバーからノード、Pod、コンテナー、ボリュームに関連するメトリクスを抽出します。これらのメトリクスは、さらなる分析のためにメトリクス処理パイプラインに送られます。
Kubelet Stats Receiver が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- API に認証するために
K8S_NODE_NAMEを設定します。
Kubelet Stats Receiver には、OpenTelemetry Collector の実行に使用されるサービスアカウントに対する追加の権限が必要です。
サービスアカウントに必要な権限
- 1
extra_metadata_labelsまたはrequest_utilizationまたはlimit_utilizationメトリクスを使用するときに必要な権限。
2.6. Prometheus Receiver リンクのコピーリンクがクリップボードにコピーされました!
Prometheus Receiver はメトリクスエンドポイントをスクレイプします。
Prometheus Receiver が有効になっている OpenTelemetry Collector カスタムリソース
2.7. OTLP JSON File Receiver リンクのコピーリンクがクリップボードにコピーされました!
OTLP JSON File Receiver は、OpenTelemetry Protocol 仕様に準拠した、ProtoJSON 形式のデータを含むファイルからパイプライン情報を抽出します。処理対象ファイルの作成や修正などの変更がないか、指定されたディレクトリーを監視します。
OTLP JSON File Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OTLP JSON File Receiver が有効になっている OpenTelemetry Collector カスタムリソース
2.8. Zipkin Receiver リンクのコピーリンクがクリップボードにコピーされました!
Zipkin Receiver は、Zipkin v1 および v2 形式でトレースを取り込みます。
Zipkin Receiver が有効になっている OpenTelemetry Collector カスタムリソース
2.9. Kafka Receiver リンクのコピーリンクがクリップボードにコピーされました!
Kafka Receiver は、Kafka からトレース、メトリクス、ログを OTLP 形式で受信します。
Kafka Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Kafka Receiver が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- Kafka ブローカーのリスト。デフォルトは
localhost:9092です。 - 2
- Kafka プロトコルのバージョン。たとえば、
2.0.0などです。これは必須フィールドです。 - 3
- 読み取り元の Kafka トピックの名前。デフォルトは
otlp_spansです。 - 4
- プレーンテキスト認証設定。省略した場合、プレーンテキスト認証は無効になります。
- 5
- クライアント側の TLS 設定。TLS 証明書へのパスを定義します。省略した場合、TLS 認証は無効になります。
- 6
- サーバーの証明書チェーンとホスト名の検証を無効にします。デフォルトは
falseです。 - 7
- ServerName は、仮想ホスティングをサポートするためにクライアントによって要求されたサーバーの名前を示します。
2.10. Kubernetes Cluster Receiver リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Cluster Receiver は、Kubernetes API サーバーからクラスターメトリクスとエンティティーイベントを収集します。このレシーバーは、Kubernetes API を使用して更新に関する情報を受信します。このレシーバーの認証は、サービスアカウントを通じてのみサポートされます。
Kubernetes Cluster Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Kubernetes Cluster Receiver が有効になっている OpenTelemetry Collector カスタムリソース
このレシーバーには、設定済みのサービスアカウント、クラスターロールの RBAC ルール、および RBAC をサービスアカウントにバインドするクラスターロールバインディングが必要です。
ServiceAccount オブジェクト
ClusterRole オブジェクトの RBAC ルール
ClusterRoleBinding オブジェクト
2.11. OpenCensus Receiver リンクのコピーリンクがクリップボードにコピーされました!
OpenCensus Receiver は、OpenCensus プロジェクトとの下位互換性を提供し、計装済みのコードベースの移行を容易にします。gRPC または HTTP および JSON を介して OpenCensus 形式でメトリクスとトレースを受信します。
OpenCensus Receiver が非推奨になり、今後のリリースで削除される可能性があります。
OpenCensus Receiver が有効になっている OpenTelemetry Collector カスタムリソース
2.12. Filelog Receiver リンクのコピーリンクがクリップボードにコピーされました!
Filelog Receiver はファイルからログを追跡して解析します。
Filelog Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
テキストファイルを追跡する Filelog Receiver が有効になっている OpenTelemetry Collector カスタムリソース
このレシーバーを使用して、次の 2 つの方法のいずれかで Pod ファイルシステムからログを収集できます。
- アプリケーション Pod と一緒に実行されるサイドカーコンテナーでレシーバーを設定します。
- Kubernetes ログにアクセスするための適切なパーミッションを持つホストマシンにレシーバーを DaemonSet としてデプロイ。
アプリケーションコンテナーからログを収集するには、サイドカーインジェクションでこのレシーバーを使用できます。Red Hat build of OpenTelemetry Operator を使用すると、OpenTelemetry Collector をサイドカーコンテナーとしてアプリケーション Pod に挿入できます。このアプローチは、アプリケーションがコンテナーファイルシステム内のファイルにログを書き込む場合に便利です。次に、このレシーバーはログファイルを調整し、演算子を適用してログを解析できます。
このレシーバーをサイドカーモードで使用してアプリケーションコンテナーからログを収集するには、OpenTelemetryCollector カスタムリソースでボリュームマウントを設定する必要があります。アプリケーションコンテナーとサイドカー Collector の両方が、emptyDir などの同じ共有ボリュームをマウントする必要があります。アプリケーションの Pod 仕様でボリュームを定義します。以下の例を参照してください。
サイドカーモードで設定された Filelog Receiver が含まれる OpenTelemetry Collector カスタムリソース
2.13. Journald Receiver リンクのコピーリンクがクリップボードにコピーされました!
Journald Receiver は、systemd ジャーナルから journald イベントを解析し、ログとして送信します。
Journald Receiver はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Journald Receiver が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- メッセージの優先度または優先度の範囲で出力をフィルタリングします。デフォルト値は
infoです。 - 2
- エントリーの読み取り元のユニットをリストします。空の場合、すべてのユニットからエントリーが読み取られます。
- 3
- 非常に長いログや出力できない文字を含むログを含めます。デフォルト値は
falseです。 - 4
trueに設定すると、ダウンストリームのコンポーネントからエラーが発生した場合に、レシーバーがファイルの読み取りを一時停止し、現在のログのバッチを再送信しようとします。デフォルト値はfalseです。- 5
- 最初の失敗から再試行するまで待機する時間の間隔。デフォルト値は
1sです。単位はms、s、m、hです。 - 6
- 再試行バックオフ間隔の上限。この値に達すると、その後の再試行間の間隔がこの値で一定に保たれます。デフォルト値は
30sです。サポートされている単位はms、s、m、hです。 - 7
- ログバッチをダウンストリームのコンシューマーに送信する試行の最大時間間隔 (再試行を含む)。この値に達すると、データが破棄されます。設定値が
0の場合、再試行が停止しません。デフォルト値は5mです。サポートされている単位はms、s、m、hです。
2.14. Kubernetes Events Receiver リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Events Receiver は、Kubernetes API サーバーからイベントを収集します。収集されたイベントはログに変換されます。
Kubernetes Events Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Kubernetes Events Receiver に必要な OpenShift Container Platform の権限
Kubernetes Event Receiver が有効になっている OpenTelemetry Collector カスタムリソース
2.15. Prometheus Remote Write Receiver リンクのコピーリンクがクリップボードにコピーされました!
Prometheus Remote Write Receiver は、Remote Write プロトコルを使用して Prometheus からメトリクスを受信し、それらを OpenTelemetry 形式に変換します。このレシーバーは Prometheus Remote Write v2 プロトコルのみをサポートします。
Prometheus Remote Write Receiver はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Prometheus Remote Write Receiver が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- 受信側が Prometheus リモート書き込み要求をリッスンするエンドポイント。
以下は、Prometheus でこのレシーバーを使用するための前提条件です。
- Prometheus は、メタデータ WAL レコード機能フラグを有効にして開始されます。
- Prometheus リモート書き込み v2 プロトコル が Prometheus リモート書き込み設定で有効になっている。
- ネイティブヒストグラムは、機能フラグを使用して Prometheus で有効になります。
- Prometheus は、従来のヒストグラムをネイティブのヒストグラムに変換するように設定されています。
これらの Prometheus 機能の有効化についての詳細は、Prometheus のドキュメント を参照してください。
第3章 プロセッサー リンクのコピーリンクがクリップボードにコピーされました!
プロセッサーは、データを受信してからエクスポートするまでにデータを処理します。プロセッサーはオプションです。デフォルトでは、プロセッサーは有効になっていません。プロセッサーは、すべてのデータソースに対して有効にする必要があります。すべてのプロセッサーがすべてのデータソースをサポートするわけではありません。データソースによっては、複数のプロセッサーが有効になっている可能性があります。プロセッサーの順序が重要であることに注意してください。
現在、Red Hat build of OpenTelemetry では、次の一般提供およびテクノロジープレビューのプロセッサーが利用可能です。
3.1. Batch Processor リンクのコピーリンクがクリップボードにコピーされました!
Batch Processor は、トレースとメトリクスをバッチ処理して、テレメトリー情報を転送するために必要な送信接続の数を減らします。
Batch Processor を使用する場合の OpenTelemetry Collector カスタムリソースの例
| パラメーター | 説明 | デフォルト |
|---|---|---|
|
| バッチサイズに関係なく、特定の期間後にバッチを送信します。 |
|
|
| 指定された数のスパンまたはメトリクスの後にテレメトリーデータのバッチを送信します。 |
|
|
|
バッチの最大許容サイズ。 |
|
|
|
アクティブにすると、 |
|
|
|
|
|
3.2. Memory Limiter Processor リンクのコピーリンクがクリップボードにコピーされました!
Memory Limiter Processor は、Collector のメモリー使用量を定期的にチェックし、ソフトメモリーリミットに達したときにデータ処理を一時停止します。このプロセッサーは、トレース、メトリクス、およびログをサポートします。先行コンポーネント (通常はレシーバー) は、同じデータの送信を再試行することが想定されており、受信データにバックプレッシャーを適用する場合があります。メモリー使用量がハードリミットを超えると、Memory Limiter Processor によってガベージコレクションが強制的に実行されます。
Memory Limiter Processor を使用する場合の OpenTelemetry Collector カスタムリソースの例
| パラメーター | 説明 | デフォルト |
|---|---|---|
|
|
メモリー使用量の測定間の時間。最適な値は |
|
|
| ハードリミット。ヒープに割り当てられるメモリーの最大量 (MiB 単位)。通常、OpenTelemetry Collector の合計メモリー使用量は、この値より約 50 MiB 大きくなります。 |
|
|
|
スパイクリミット。これは、予想されるメモリー使用量の最大スパイク (MiB 単位) です。最適な値は、 |
|
|
|
|
|
|
|
|
|
3.3. Resource Detection Processor リンクのコピーリンクがクリップボードにコピーされました!
Resource Detection Processor は、OpenTelemetry のリソースセマンティック標準に合わせて、ホストリソースの詳細を識別します。このプロセッサーは、検出された情報を使用して、テレメトリーデータ内のリソース値を追加または置き換えることができます。このプロセッサーはトレースとメトリクスをサポートします。このプロセッサーは、Docket メタデータディテクターや OTEL_RESOURCE_ATTRIBUTES 環境変数ディテクターなど、複数のディテクターで使用できます。
Resource Detection Processor はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Resource Detection Processor に必要な OpenShift Container Platform の権限
Resource Detection Processor を使用する OpenTelemetry Collector
環境変数ディテクターを備えた Resource Detection Processor を使用する OpenTelemetry Collector
- 1
- 使用するディテクターを指定します。この例では、環境ディテクターが指定されています。
3.4. Attributes Processor リンクのコピーリンクがクリップボードにコピーされました!
Attributes Processor は、スパン、ログ、またはメトリクスの属性を変更できます。入力データをフィルタリングして照合し、特定のアクションに対してそのようなデータを含めたり除外したりするようにこのプロセッサーを設定できます。
このプロセッサーはアクションのリストを操作し、設定で指定された順序でアクションを実行します。次のアクションがサポートされています。
- Insert
- 指定されたキーがまだ存在しない場合は、入力データに新しい属性を挿入します。
- 更新
- キーがすでに存在する場合は、入力データの属性を更新します。
- Upsert
- 挿入アクションと更新アクションを組み合わせます。キーがまだ存在しない場合は、新しい属性を挿入します。キーがすでに存在する場合は属性を更新します。
- Delete
- 入力データから属性を削除します。
- Hash
- 既存の属性値を SHA1 としてハッシュします。
- Extract
-
正規表現ルールを使用して、ルールで定義された入力キーからターゲットキーまでの値を抽出します。ターゲットキーがすでに存在する場合は、Span Processor の
to_attributes設定と同様に、既存の属性をソースとしてターゲットキーがオーバーライドされます。 - Convert
- 既存の属性を指定された型に変換します。
Attributes Processor を使用する OpenTelemetry Collector
3.5. Resource Processor リンクのコピーリンクがクリップボードにコピーされました!
Resource Processor は、リソース属性に変更を適用します。このプロセッサーは、トレース、メトリクス、およびログをサポートします。
Resource Processor を使用する OpenTelemetry Collector
属性は、属性の削除、属性の挿入、または属性のアップサートなど、リソース属性に適用されるアクションを表します。
3.6. Span Processor リンクのコピーリンクがクリップボードにコピーされました!
Span Processor は、スパン属性に基づいてスパン名を変更するか、スパン名からスパン属性を抽出します。このプロセッサーは、スパンのステータスを変更したり、スパンを追加したり除外したりすることもできます。このプロセッサーはトレースをサポートしています。
スパンの名前変更には、from_attributes 設定を使用して、新しい名前の属性を指定する必要があります。
Span Processor はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
スパンの名前変更に Span Processor を使用する OpenTelemetry Collector
このプロセッサーを使用して、スパン名から属性を抽出できます。
スパン名からの属性抽出に Span Processor を使用する OpenTelemetry Collector
- 1
- このルールは、抽出の実行方法を定義します。さらにルールを定義できます。たとえば、この場合、正規表現が名前と一致すると、
documentID属性が作成されます。この例では、入力スパン名が/api/v1/document/12345678/updateの場合、出力スパン名は/api/v1/document/{documentId}/updateとなり、新しい"documentId"="12345678"属性がスパンに追加されます。
スパンステータスを変更できます。
ステータス変更に Span Processor を使用する OpenTelemetry Collector
3.7. Kubernetes Attributes Processor リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Attributes Processor では、Kubernetes メタデータを使用して、スパン、メトリクス、およびログリソース属性を自動的に設定できます。このプロセッサーは、トレース、メトリクス、およびログをサポートします。このプロセッサーは、Kubernetes リソースを自動的に識別し、そこからメタデータを抽出して、この抽出されたメタデータをリソース属性として関連するスパン、メトリクス、ログに組み込みます。Kubernetes API を利用してクラスター内で動作しているすべての Pod を検出し、IP アドレス、Pod UID、およびその他の関連メタデータの記録を維持します。
Kubernetes Attributes Processor に必要な最小限の OpenShift Container Platform 権限
Kubernetes Attributes Processor を使用する OpenTelemetry Collector
3.8. Filter Processor リンクのコピーリンクがクリップボードにコピーされました!
Filter Processor は、OpenTelemetry Transformation Language を活用して、テレメトリーデータを破棄する基準を確立します。これらの条件のいずれかが満たされると、テレメトリーデータは破棄されます。OR 論理演算子を使用すると、条件を組み合わせることができます。このプロセッサーは、トレース、メトリクス、およびログをサポートします。
Filter Processor はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Filter Processor が有効になっている OpenTelemetry Collector カスタムリソース
3.9. Cumulative-to-Delta Processor リンクのコピーリンクがクリップボードにコピーされました!
Cumulative-to-Delta Processor は、モノトニックな累積合計メトリクスおよびヒストグラムメトリクスをモノトニックなデルタメトリクスに変換します。
include: または exclude: フィールドを使用し、strict メトリクス名一致または regexp メトリクス名一致を指定すると、メトリクスをフィルタリングできます。
このプロセッサーはメトリクスの前の値を保存することで差分を計算します。そのため、複数の Collector のデプロイメントではなく、1 つのステートフルな Collector インスタンスにメトリクスデータを送信するようにメトリクスソースを設定する必要があります。
このプロセッサーは、モノトニック以外の合計と指数ヒストグラムを変換しません。
Cumulative-to-Delta Processor はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Cumulative-to-Delta Processor が有効になっている OpenTelemetry Collector カスタムリソースの例
- 1
- Collector のライフサイクルをメトリクスソースに関連付けるには、累積的な時間的メトリクスを出力するアプリケーションのサイドカーとして Collector を実行できます。
- 2
- オプション: このスタンザで、変換するメトリクスを明示的に定義することにより、プロセッサーが変換するメトリクスを制限できます。このフィールドを省略すると、プロセッサーは
excludeフィールドにリストされているメトリクスを除くすべてのメトリクスを変換します。 - 3
metricsフィールドに指定した値を、strictパラメーターを使用して完全一致として定義するか、regexパラメーターを使用して正規表現として定義します。- 4
- 変換するメトリクスの名前をリストします。プロセッサーは、完全一致または正規表現のマッチを変換します。メトリクスが
includeフィルターとexcludeフィルターの両方に一致する場合、excludeフィルターが優先されます。 - 5
- オプション: ここでメトリクスを明示的に定義することで、特定のメトリクスを変換から除外できます。
3.10. Group-by-Attributes Processor リンクのコピーリンクがクリップボードにコピーされました!
Group-by-Attributes Processor は、同じ属性を共有するすべてのスパン、ログレコード、メトリクスデータポイントを、その属性に一致するリソースに再割り当てすることでグループ化します。
Group-by-Attributes Processor はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
少なくとも、このプロセッサーを設定するには、次の例のように、スパン、ログレコード、またはメトリクスデータポイントをグループ化するために使用する属性キーの配列を指定する必要があります。
Group-by-Attributes Processor を使用する場合の OpenTelemetry Collector カスタムリソースの例
3.11. Transform Processor リンクのコピーリンクがクリップボードにコピーされました!
Transform Processor を使用すると、指定したルールに基づいて、OpenTelemetry Transformation Language (OTTL) でテレメトリーデータを変更できます。このプロセッサーは、シグナルタイプごとに、特定の OTTL コンテキストタイプに関連付けられた一連の条件とステートメントを処理し、設定で指定されたとおりに、受信したテレメトリーデータに対して条件とステートメントを順番に実行します。各条件とステートメントで、さまざまな関数を使用してテレメトリーデータにアクセスおよび変更できます。そのため、条件を使用して関数を実行するかどうかを決定できます。
ステートメントは、すべて OTTL で記述します。さまざまなシグナル、トレース、メトリクス、ログに対して複数のコンテキストステートメントを設定できます。context タイプの値で、関連するステートメントを解釈するときにプロセッサーが使用する必要がある OTTL コンテキストを指定します。
Transform Processor はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
設定の概要
Transform Processor を使用する場合の OpenTelemetry Collector カスタムリソースの例
| シグナルステートメント | 有効なコンテキスト |
|---|---|
|
|
|
|
|
|
|
|
|
| 値 | 説明 |
|---|---|
|
| ステートメントによって返されたエラーを無視してログに記録し、次のステートメントに進みます。 |
|
| ステートメントによって返されたエラーを無視してログに記録せず、次のステートメントに進みます。 |
|
| パイプラインにエラーを返し、ペイロードをドロップします。暗黙のデフォルト設定です。 |
3.12. Tail Sampling Processor リンクのコピーリンクがクリップボードにコピーされました!
Tail Sampling Processor は、すべてのスパンの完了時に、ユーザー定義のポリシーに従ってトレースをサンプリングします。テールベースのサンプリングを使用すると、関心のあるトレースをフィルタリングし、データの取り込みと保存のコストを削減できます。
Tail Sampling Processor はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
このプロセッサーは、スパンを新しいバッチに再構成し、スパンから元のコンテキストを削除します。
- このプロセッサーは、パイプラインにおいて、コンテキストに依存するプロセッサーの下流に配置してください。たとえば、Kubernetes Attributes Processor の後に配置します。
- Collector をスケーリングする場合は、指定されたサンプリングポリシーに基づいてこのプロセッサーがサンプリングに関する決定を正しく行えるように、1 つの Collector インスタンスが同じトレースのすべてのスパンを受信するようにしてください。これを実現するには、2 つの Collector レイヤーをセットアップします。1 つ目の Collector レイヤーには Load Balancing Exporter を設定し、2 つ目の Collector レイヤーには Tail Sampling Processor を設定します。
Tail Sampling Processor を使用する場合の OpenTelemetry Collector カスタムリソースの例
次のリストからポリシーを選択して組み合わせることができます。
次のポリシーはすべてのトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のポリシーは、指定された範囲内の期間のトレースのみをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定されている
5000および10000という値は例です。最も早い開始時刻の値と最も遅い終了時刻の値を確認することで、必要なレイテンシーの値を推定できます。upper_threshold_msフィールドを省略すると、このポリシーは指定されたthreshold_ms値を超えるすべてのレイテンシーをサンプリングします。
次のポリシーは、リソースおよびレコード属性の数値のマッチによってトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定されている
50および100という値は例です。
次のポリシーは、トレースの一部のみをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定されている
10という値は例です。
次のポリシーは、ステータスコード (
OK、ERROR、またはUNSET) 別にトレースをサンプリングします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のポリシーは、リソースおよびレコード属性の文字列値のマッチによってトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このポリシー定義は、完全一致と正規表現による値のマッチングの両方をサポートしています。
cache_max_sizeフィールドに指定されている10という値は例です。
次のポリシーは、1 秒あたりのスパン数のレートによってトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定されている
35という値は例です。
次のポリシーは、スパンの最小数と最大数 (両端の値を含む) によってトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- トレース内の全スパンの合計がしきい値の範囲外である場合、トレースはサンプリングされません。指定されている
2および20という値は例です。
次のポリシーは、
TraceState値のマッチによってトレースをサンプリングします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のポリシーは、ブール属性 (リソースとレコード) によってトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のポリシーは、スパンまたはスパンイベントの特定の OTTL ブール条件によってトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のポリシーは、複数のポリシーの組み合わせに基づいてトレースをサンプリングする
ANDポリシーです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定されている
50および100という値は例です。
次のポリシーは、複数のポリシーの組み合わせに基づいてサンプリングからトレースをドロップする
DROPポリシーです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のポリシーは、上記のサンプラーを組み合わせて、順序付けとサンプラーごとのレート割り当てを使用してトレースをサンプリングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1 2
- 適用されるポリシーの順序に従ってスパンの割合を割り当てます。たとえば、
max_total_spans_per_secondフィールドに100という値を設定した場合、rate_allocationセクションで次のように値を設定できます。policy: <composite_policy_1>セクションで、50パーセントの値を設定して 1 秒あたり 50 スパンを割り当てます。policy: <composite_policy_2>セクションで、25パーセントの値を設定して 1 秒あたり 25 スパンを割り当てます。残りの容量を埋めるには、name: <composite_policy_3>セクションのtypeフィールドにalways_sample値を設定できます。
3.13. Probabilistic Sampling Processor リンクのコピーリンクがクリップボードにコピーされました!
大量のテレメトリーデータを処理し、処理するデータ量を減らすことでコストを削減したい場合は、Tail Sampling Processor の代わりに Probabilistic Sampling Processor を使用できます。
Probabilistic Sampling Processor は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
プロセッサーは、指定された割合のトレース範囲またはログレコードをステートレスに、そしてリクエストごとにサンプリングします。
プロセッサーは、使用された有効サンプリング確率に関する情報をテレメトリーデータに追加します。
-
トレーススパンでは、プロセッサーは、しきい値とオプションのランダム性情報を W3C Trace Context
tracestateフィールドにエンコードします。 - ログレコードでは、プロセッサーはしきい値とランダム性の情報を属性としてエンコードします。
以下は、トレース範囲をサンプリングするための Probabilistic Sampling Processor の OpenTelemetryCollector カスタムリソース設定の例です。
- 1
- トレースパイプラインの場合、ランダム性のソースとなるのは、スパントレース ID のハッシュ値です。
- 2
- 必須。スパンをサンプリングする割合を、32 ビット浮動小数点数のパーセンテージ値で受け入れます。
- 3
- 任意。サンプリングロジックのモードにサポートされている文字列値 (デフォルトは
hash_seed、proportional、またはequalizing) を受け入れます。hash_seedモードは、トレース ID に Fowler–Noll–Vo (FNV) ハッシュ関数を適用し、そのハッシュ値をサンプリングのパーセンテージ値と比較します。トレース ID 以外のテレメトリー単位でhash_seedモードを使用することもできます。proportionalモードでは、総スパン量の厳密な確率ベースの比率がサンプリングされ、OpenTelemetry および World Wide Web Consortium の仕様に基づいています。equalizingモードは、パイプライン全体でサンプリング確率を最小値に下げたり、クライアント SDK にさまざまなサンプリング設定がある Collector デプロイメントで均一なサンプリング確率を適用したりする際に役立ちます。 - 4
- 任意。ハッシュアルゴリズムの計算に使用される 32 ビットの符号なし整数を受け入れます。このフィールドが設定されていない場合、デフォルトのシード値は
0です。複数の層の Collector インスタンスを使用する場合は、同じ層のすべての Collector を同じシード値に設定する必要があります。 - 5
- 任意。サンプリングしきい値をエンコードするために使用される 16 進数の桁数を決定します。整数値を受け入れます。サポートされる値は
1-14です。デフォルト値4では、しきい値に 16 を超える有効ビットが含まれる場合、つまり 56 ビットを使用するproportionalモードの場合、しきい値は丸められます。proportionalモードを選択した場合は、前のサンプラーによって適用された精度を維持するために、より大きな値を使用します。 - 6
- 任意。サンプリングエラーのあるスパンを拒否します。ブール値を受け入れます。デフォルト値は
trueです。
以下は、ログレコードをサンプリングするための Probabilistic Sampling Processor の OpenTelemetryCollector カスタムリソース設定の例です。
- 1
- 必須。スパンをサンプリングする割合を、32 ビット浮動小数点数のパーセンテージ値で受け入れます。
- 2
- 任意。サンプリングロジックモードにサポートされている文字列値 (デフォルトは
hash_seed、equalizing、またはproportional) を受け入れます。hash_seedモードは、トレース ID または指定されたログレコードの属性に Fowler–Noll–Vo (FNV) ハッシュ関数を適用し、そのハッシュ値をサンプリングのパーセンテージ値と比較します。また、hash_seedモードは、トレース ID 以外のテレメトリー単位で使用することもできます。たとえば、service.instance.idリソース属性を使用して、一定の割合の Pod からログレコードを収集できます。equalizingモードは、パイプライン全体でサンプリング確率を最小値に下げたり、クライアント SDK にさまざまなサンプリング設定がある Collector デプロイメントで均一なサンプリング確率を適用したりする際に役立ちます。proportionalモードでは、総スパン量の厳密な確率ベースの比率がサンプリングされ、OpenTelemetry および World Wide Web Consortium の仕様に基づいています。 - 3
- 任意。ハッシュアルゴリズムの計算に使用される 32 ビットの符号なし整数を受け入れます。このフィールドが設定されていない場合、デフォルトのシード値は
0です。複数の層の Collector インスタンスを使用する場合は、同じ層のすべての Collector を同じシード値に設定する必要があります。 - 4
- 任意。サンプリングしきい値をエンコードするために使用される 16 進数の桁数を決定します。整数値を受け入れます。サポートされる値は
1-14です。デフォルト値4では、しきい値に 16 を超える有効ビットが含まれる場合、つまり 56 ビットを使用するproportionalモードの場合、しきい値は丸められます。proportionalモードを選択した場合は、前のサンプラーによって適用された精度を維持するために、より大きな値を使用します。 - 5
- 任意。
from_attributeでログレコード属性を検索する場所を定義します。ログレコード属性はランダム性のソースとして使用されます。デフォルトのtraceID値またはrecord値を受け入れます。 - 6
- 任意。一意のログレコード ID など、サンプリングハッシュの計算に使用されるログレコード属性の名前。文字列値を受け入れます。デフォルト値は
""です。このフィールドは、トレース ID が存在しないか、トレース ID サンプリングが無効になっているか、attribute_sourceフィールドがrecord値に設定されている状況で、ランダム性のソースとしてログレコード属性を指定する必要がある場合にのみ使用してください。 - 7
- 任意。サンプリングエラーのあるスパンを拒否します。ブール値を受け入れます。デフォルト値は
trueです。
第4章 エクスポーター リンクのコピーリンクがクリップボードにコピーされました!
エクスポーターは、1 つ以上のバックエンドまたは宛先にデータを送信します。エクスポーターはプッシュベースまたはプルベースにすることができます。デフォルトでは、エクスポーターは設定されていません。1 つまたは複数のエクスポーターを設定する必要があります。エクスポーターは 1 つ以上のデータソースをサポートできます。エクスポーターはデフォルト設定で使用できますが、多くの場合、少なくとも宛先およびセキュリティー設定を指定するための設定が必要です。
現在、Red Hat build of OpenTelemetry では、次の一般提供およびテクノロジープレビューのエクスポーターが利用可能です。
4.1. OTLP Exporter リンクのコピーリンクがクリップボードにコピーされました!
OTLP gRPC Exporter は、OpenTelemetry Protocol (OTLP) を使用してトレースとメトリクスをエクスポートします。
OTLP Exporter が有効になっている 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
- ヘッダーは、接続が確立されている間に実行されるすべての要求に対して送信されます。
4.2. OTLP HTTP Exporter リンクのコピーリンクがクリップボードにコピーされました!
OTLP HTTP Exporter は、OpenTelemetry プロトコル (OTLP) を使用してトレースとメトリクスをエクスポートします。
OTLP Exporter が有効になっている OpenTelemetry Collector カスタムリソース
4.3. Debug Exporter リンクのコピーリンクがクリップボードにコピーされました!
デバッグエクスポーターは、トレースとメトリクスを標準出力に出力します。
Debug Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- デバッグエクスポートの詳細度:
detailed、normal、またはbasic。detailedに設定すると、パイプラインデータの詳細がログに記録されます。デフォルトはnormalです。 - 2
- 1 秒あたりに記録されるメッセージの初期数。デフォルト値は、1 秒あたり
2メッセージです。 - 3
- 初期のメッセージ数 (
sampling_initialの値) が記録された後のサンプリングレート。デフォルト値は1で、デフォルトで無効になっています。この値が1より大きい場合、サンプリングは有効です。詳細は、Go プロジェクトの Web サイトにあるzapcoreパッケージの sampler 関数 のページを参照してください。 - 4
trueに設定すると、エクスポーターの Collector の内部ロガーから出力できるようになります。
4.4. Load Balancing Exporter リンクのコピーリンクがクリップボードにコピーされました!
Load Balancing Exporter は、routing_key 設定に従って、スパン、メトリクス、およびログを一貫してエクスポートします。
Load Balancing Exporter はテクノロジープレビューの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Load Balancing Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
routing_key: serviceは、正確な集計を提供するために、同じサービス名のスパンを同じ Collector インスタンスにエクスポートします。routing_key: traceIDは、traceIDに基づいてスパンをエクスポートします。暗黙のデフォルトは、traceIDベースのルーティングです。- 2
- サポートされている負荷分散プロトコルは、OTLP だけです。OTLP Exporter のオプションはすべてサポートされています。
- 3
- 設定できるリゾルバーは 1 つだけです。
- 4
- 静的リゾルバーは、リストされたエンドポイント全体に負荷を分散します。
- 5
- DNS リゾルバーは、Kubernetes ヘッドレスサービスでのみ使用できます。
- 6
- Kubernetes リゾルバーが推奨されます。
4.5. Prometheus Exporter リンクのコピーリンクがクリップボードにコピーされました!
Prometheus Exporter は、Prometheus または OpenMetrics 形式でメトリクスをエクスポートします。
Prometheus Exporter はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Prometheus Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- メトリクスが公開されるネットワークエンドポイント。Red Hat build of OpenTelemetry Operator は、
endpointフィールドで指定されたポートを<instance_name>-collectorサービスに自動的に公開します。 - 2
- サーバー側の TLS 設定。TLS 証明書へのパスを定義します。
- 3
- 設定されている場合は、提供された値でメトリクスをエクスポートします。
- 4
- エクスポートされたすべてのメトリクスに適用されるキーと値のペアのラベル。
- 5
trueの場合、メトリクスは OpenMetrics 形式を使用してエクスポートされます。エグザンプラーは、OpenMetrics 形式で、ヒストグラムメトリクスおよびモノトニックな合計メトリクス (counterなど) に対してのみエクスポートされます。デフォルトでは無効になっています。- 6
enabledがtrueの場合、すべてのリソース属性はメトリクスラベルに変換されます。デフォルトでは無効になっています。- 7
- 更新なしでメトリクスが公開される期間を定義します。デフォルトは
5mです。 - 8
- メトリクスの型と単位の接尾辞を追加します。Jaeger コンソールの監視タブが有効になっている場合は、無効にする必要があります。デフォルトは
trueです。
OpenTelemetryCollector カスタムリソース (CR) の spec.observability.metrics.enableMetrics フィールドが true に設定されている場合、OpenTelemetryCollector CR は Prometheus ServiceMonitor または PodMonitor CR を自動的に作成し、Prometheus がメトリクスをスクレイピングできるようにします。
4.6. Prometheus Remote Write Exporter リンクのコピーリンクがクリップボードにコピーされました!
Prometheus Remote Write Exporter は、互換性のあるバックエンドにメトリクスをエクスポートします。
Prometheus Remote Write Exporter はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Prometheus Remote Write Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- このエクスポーターは、非累積モノトニックメトリクス、ヒストグラムメトリクス、およびサマリー OTLP メトリクスをドロップします。
-
リモートの Prometheus インスタンスで、
--web.enable-remote-write-receiver機能フラグを有効にする必要があります。有効にしないと、このエクスポーターを使用してメトリクスをインスタンスにプッシュすることができません。
4.7. Kafka Exporter リンクのコピーリンクがクリップボードにコピーされました!
Kafka Exporter は、ログ、メトリクス、およびトレースを Kafka にエクスポートします。このエクスポーターは、メッセージをブロックしてバッチ処理しない同期プロデューサーを使用します。スループットと回復力を高めるには、バッチ再試行プロセッサーおよびキュー再試行プロセッサーと一緒に使用する必要があります。
Kafka Exporter が有効になっている 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 は、仮想ホスティングをサポートするためにクライアントによって要求されたサーバーの名前を示します。
4.8. AWS CloudWatch Logs Exporter リンクのコピーリンクがクリップボードにコピーされました!
AWS CloudWatch Logs Exporter は、ログデータを Amazon CloudWatch Logs サービスに送信し、AWS SDK for Go とデフォルトの認証情報プロバイダーチェーンを使用してリクエストに署名します。
AWS CloudWatch Logs Exporter はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
AWS CloudWatch Logs Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- 必須。ロググループがまだ存在しない場合は、自動的に作成されます。
- 2
- 必須。ログストリームがまだ存在しない場合は、自動的に作成されます。
- 3
- 任意。デフォルトの認証情報チェーンに AWS リージョンがまだ設定されていない場合は、リージョンを指定する必要があります。
- 4
- 任意。リクエストが転送されるデフォルトの Amazon CloudWatch Logs サービスエンドポイントをオーバーライドできます。エンドポイント値の一部として、
https://などのプロトコルを含める必要があります。リージョン別のサービスエンドポイントのリストについては、Amazon CloudWatch Logs endpoints and quotas (AWS General Reference) を参照してください。 - 5
- 任意。このパラメーターを使用すると、新しい Amazon CloudWatch ロググループのログ保持ポリシーを設定できます。このパラメーターを省略するか
0に設定すると、ログはデフォルトで期限切れになりません。保持期間 (日数) としてサポートされている値は、1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827、2192、2557、2922、3288、または3653です。 - 6
- 任意。ログセグメントを別のアカウントにアップロードするための AWS Identity and Access Management (IAM)ロール。
4.9. AWS EMF Exporter リンクのコピーリンクがクリップボードにコピーされました!
AWS EMF Exporter は、次の OpenTelemetry メトリクスデータポイントを AWS CloudWatch Embedded Metric Format (EMF) に変換します。
-
Int64DataPoints -
DoubleDataPoints -
SummaryDataPoints
EMF メトリクスは、PutLogEvents API を使用して Amazon CloudWatch Logs サービスに直接送信されます。
このエクスポーターを使用する利点の 1 つは、https://console.aws.amazon.com/cloudwatch/ にある Amazon CloudWatch コンソールでログとメトリクスを表示できることです。
AWS EMF Exporter はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
AWS EMF Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
log_group_nameパラメーターを使用して、ロググループ名をカスタマイズするか、デフォルトの/metrics/default値または次のプレースホルダーを設定できます。/aws/metrics/{ClusterName}プレースホルダーは、メトリクスデータ内のClusterNameまたはaws.ecs.cluster.nameリソース属性を検索し、それを実際のクラスター名に置き換えるために使用します。{NodeName}プレースホルダーは、NodeNameまたはk8s.node.nameリソース属性を検索するために使用します。{TaskId}プレースホルダーは、TaskIdまたはaws.ecs.task.idリソース属性を検索するために使用します。リソース属性マップ内にリソース属性が見つからない場合、プレースホルダーは
undefined値に置き換えられます。- 2
log_stream_nameパラメーターを使用して、ログストリーム名をカスタマイズするか、デフォルトのotel-stream値または次のプレースホルダーを設定できます。{ClusterName}プレースホルダーは、ClusterNameまたはaws.ecs.cluster.nameリソース属性を検索するために使用します。{ContainerInstanceId}プレースホルダーは、ContainerInstanceIdまたはaws.ecs.container.instance.idリソース属性を検索するために使用します。このリソース属性は、AWS ECS EC2 起動タイプに対してのみ有効です。{NodeName}プレースホルダーは、NodeNameまたはk8s.node.nameリソース属性を検索するために使用します。{TaskDefinitionFamily}プレースホルダーは、TaskDefinitionFamilyまたはaws.ecs.task.familyリソース属性を検索するために使用します。{TaskId}プレースホルダーは、メトリクスデータ内のTaskIdまたはaws.ecs.task.idリソース属性を検索し、それを実際のタスク ID に置き換えるために使用します。リソース属性マップ内にリソース属性が見つからない場合、プレースホルダーは
undefined値に置き換えられます。- 3
- 任意。リソース属性をメトリクスラベルなどのテレメトリー属性に変換します。デフォルトでは無効になっています。
- 4
- ログストリームの AWS リージョン。デフォルトの認証情報プロバイダーチェーンにリージョンがまだ設定されていない場合は、リージョンを指定する必要があります。
- 5
- 任意。リクエストが転送されるデフォルトの Amazon CloudWatch Logs サービスエンドポイントをオーバーライドできます。エンドポイント値の一部として、
https://などのプロトコルを含める必要があります。リージョン別のサービスエンドポイントのリストについては、Amazon CloudWatch Logs endpoints and quotas (AWS General Reference) を参照してください。 - 6
- 任意。このパラメーターを使用すると、新しい Amazon CloudWatch ロググループのログ保持ポリシーを設定できます。このパラメーターを省略するか
0に設定すると、ログはデフォルトで期限切れになりません。保持期間 (日数) としてサポートされている値は、1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827、2192、2557、2922、3288、または3653です。 - 7
- 任意。Amazon CloudWatch メトリクスのカスタム namespace。
- 8
- 任意。メトリクスセグメントを別のアカウントにアップロードするための AWS Identity and Access Management (IAM)ロール。
4.10. AWS X-Ray Exporter リンクのコピーリンクがクリップボードにコピーされました!
AWS X-Ray Exporter は、OpenTelemetry スパンを AWS X-Ray セグメントドキュメントに変換し、それを AWS X-Ray サービスに直接送信します。AWS X-Ray Exporter は、PutTraceSegments API を使用し、AWS SDK for Go とデフォルトの認証情報プロバイダーチェーンを使用してリクエストに署名します。
AWS X-Ray Exporter はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
AWS X-Ray Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- AWS X-Ray サービスに送信される X-Ray セグメントの送信先リージョン。たとえば、
eu-west-1です。 - 2
- 任意。リクエストが転送されるデフォルトの Amazon CloudWatch Logs サービスエンドポイントをオーバーライドできます。エンドポイント値の一部として、
https://などのプロトコルを含める必要があります。リージョン別のサービスエンドポイントのリストについては、Amazon CloudWatch Logs endpoints and quotas (AWS General Reference) を参照してください。 - 3
- Collector を実行している AWS リソースの Amazon Resource Name (ARN)。
- 4
- X-Ray セグメントを別のアカウントにアップロードするための AWS Identity and Access Management (IAM) ロール。
- 5
- X-Ray アノテーションに変換される属性名のリスト。
- 6
- Amazon CloudWatch Logs のロググループ名のリスト。
- 7
- リクエストがタイムアウトするまでの秒数。省略した場合、デフォルト値は
30です。
4.11. File Exporter リンクのコピーリンクがクリップボードにコピーされました!
File Exporter は、テレメトリーデータを永続ストレージ内のファイルに書き込みます。ローテーション、圧縮、複数のファイルへの書き込みなどのファイル操作に対応しています。このエクスポーターを使用すると、リソース属性を使用してファイル名を制御することもできます。必要な設定は path だけです。これは永続ボリュームファイルシステム内のテレメトリーファイルの保存先パスを指定するものです。
File Exporter はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
File Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- データを書き込むファイルシステムパス。デフォルトはありません。
- 2
- ファイルのローテーションはこのエクスポーターのオプション機能です。デフォルトでは、テレメトリーデータは 1 つのファイルにエクスポートされます。ファイルのローテーションを有効にするには、
rotation設定を追加します。 - 3
max_megabytes設定は、ファイルがローテーションされるまでに許可される最大サイズです。デフォルトは100です。- 4
max_days設定は、ファイルを保持する日数を指定します。日数はファイル名のタイムスタンプから起算されます。デフォルトはありません。- 5
max_backups設定は、複数の古いファイルを保持するためのものです。デフォルトは100です。- 6
localtime設定は、ファイルがローテーションされるときにファイル名の拡張子の前に追加するタイムスタンプのローカル時間形式を指定します。デフォルトは協定世界時 (UTC) です。- 7
- テレメトリーデータをファイルに書き込む前にエンコードする形式。デフォルトの形式は
jsonです。proto形式もサポートされています。 - 8
- ファイル圧縮は任意であり、デフォルトでは設定されていません。この設定は、ファイルにエクスポートするデータの圧縮アルゴリズムを定義します。現在、
zstd圧縮アルゴリズムのみがサポートされています。デフォルトはありません。 - 9
- フラッシュ間の時間間隔。単位のない値はナノ秒単位で設定されます。
rotation設定によってファイルのローテーションが有効になっている場合、この設定は無視されます。
4.12. Google Cloud Exporter リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Exporter は Telemetry データを Google Cloud Operations Suite に送信します。Google Cloud Exporter を使用すると、メトリクスを Google Cloud Monitoring にエクスポートし、Google Cloud Logging にログを記録し、Google Cloud Trace にトレースできます。
Google Cloud Exporter はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Google Cloud Exporter が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- 認証
key.jsonファイルを参照するGOOGLE_APPLICATION_CREDENTIALS環境変数。key.jsonファイルはシークレットボリュームとしてマウントされます。OpenTelemetry Collector。 - 2
- 任意。プロジェクト識別子。指定しない場合、プロジェクトは認証情報から自動的に決定されます。
デフォルトで、エクスポーターは Telemetry データをエクスポーターの設定の
projectフィールドで指定されたプロジェクトに送信します。gcp.project.idリソース属性を使用して、メトリクスごとにオーバーライドを設定できます。たとえば、メトリックにラベルプロジェクトがある場合、Group-by-Attributes Processor を使用してこれをリソースラベルにプロモートし、リソースプロセッサー を使用してプロジェクトからgcp.project.idに属性の名前を変更します。
第5章 コネクター リンクのコピーリンクがクリップボードにコピーされました!
コネクターは 2 つのパイプラインを接続します。1 つのパイプラインの終了時にエクスポーターとしてデータを消費し、別のパイプラインの開始時にレシーバーとしてデータを出力します。同じまたは異なるデータ型のデータを消費および出力できます。データを生成および出力して、消費されたデータを要約することも、単にデータを複製またはルーティングすることもできます。
現在、Red Hat build of OpenTelemetry では、次の一般提供およびテクノロジープレビューのコネクターが利用可能です。
5.1. Count Connector リンクのコピーリンクがクリップボードにコピーされました!
Count Connector は、エクスポーターパイプライン内のトレーススパン、トレーススパンイベント、メトリクス、メトリクスデータポイント、およびログレコードをカウントします。
Count Connector はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
デフォルトのメトリクス名は次のとおりです。
-
trace.span.count -
trace.span.event.count -
metric.count -
metric.datapoint.count -
log.record.count
カスタムメトリクス名を公開することもできます。
Count Connector が有効になっている OpenTelemetry Collector カスタムリソース (CR)
- 1
- パイプライン内のエクスポーターまたはレシーバーとして Count Connector を正しく設定し、生成されたメトリクスを正しいエクスポーターにエクスポートすることが重要です。
- 2
- スパンをエクスポーターとして受信するように Count Connector を設定します。
- 3
- 生成されたメトリクスをレシーバーとして送信するように Count Connector を設定します。ヒント
Count Connector が期待どおりのメトリクスを生成していない場合は、OpenTelemetry Collector が期待どおりのスパン、メトリクス、およびログを受信しているかどうか、またテレメトリーデータが期待どおりに Count Connector を介して流れているかどうかを確認してください。Debug Exporter を使用して、受信したテレメトリーデータを検査することもできます。
Count Connector は、spans、spanevents、metrics、datapoints、logs などのフィールドを使用して設定されている場合に、定義された条件に従ってテレメトリーデータをカウントし、それらのデータをメトリクスとして公開できます。次の例を参照してください。
条件によってスパンをカウントする Count Connector の OpenTelemetry Collector CR の例
Count Connector は、spans、spanevents、metrics、datapoints、logs などのフィールドを使用して設定されている場合に、定義された属性に従ってテレメトリーデータをカウントできます。次の例を参照してください。属性のキーはテレメトリーデータに注入されます。欠落している属性については、default_value フィールドに値を定義する必要があります。
属性によってログをカウントする Count Connector の OpenTelemetry Collector CR の例
5.2. Routing Connector リンクのコピーリンクがクリップボードにコピーされました!
Routing Connector は、OpenTelemetry Transformation Language (OTTL) ステートメントとして記述されたリソース属性とルーティング条件に従って、ログ、メトリクス、およびトレースを指定されたパイプラインにルーティングします。
Routing Connector はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Routing Connector が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- コネクターのルーティングテーブル。
- 2
- OTTL ステートメントとして記述されたルーティング条件。
- 3
- 一致するテレメトリーデータをルーティングするための宛先パイプライン。
- 4
- どのルーティング条件も満たさないテレメトリーデータをルーティングするための宛先パイプライン。
- 5
- エラー処理モード:
propagate値は、エラーをログに記録し、ペイロードをドロップするためのものです。ignore値は、条件を無視して次の条件との一致を試行するためのものです。silent値はignoreと同じですが、エラーがログに記録されません。デフォルトはpropagateです。 - 6
trueに設定すると、ルーティング条件が満たされた最初のパイプラインにのみペイロードがルーティングされます。デフォルトはfalseです。
5.3. Forward Connector リンクのコピーリンクがクリップボードにコピーされました!
Forward Connector は、同じタイプの 2 つのパイプラインを結合します。
Forward Connector はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Forward Connector が有効になっている OpenTelemetry Collector カスタムリソース
5.4. Spanmetrics Connector リンクのコピーリンクがクリップボードにコピーされました!
Spanmetrics Connector は、スパンデータから Request, Error, and Duration (R.E.D) OpenTelemetry メトリクスを集計します。
Spanmetrics Collector が有効になっている OpenTelemetry Collector カスタムリソース
- 1
- 生成されたメトリクスのフラッシュ間隔を定義します。デフォルトは
15sです。
第6章 拡張機能 リンクのコピーリンクがクリップボードにコピーされました!
エクステンションにより、Collector に機能が追加されます。たとえば、認証をレシーバーとエクスポーターに自動的に追加できます。
現在、Red Hat build of OpenTelemetry では、次の一般提供およびテクノロジープレビューの拡張機能が利用可能です。
6.1. BearerTokenAuth Extension リンクのコピーリンクがクリップボードにコピーされました!
BearerTokenAuth Extension は、HTTP および gRPC プロトコルに基づくレシーバーとエクスポーター用のオーセンティケーターです。OpenTelemetry Collector カスタムリソースを使用して、レシーバーおよびエクスポーター側で BearerTokenAuth Extension のクライアント認証とサーバー認証を設定できます。このエクステンションは、トレース、メトリクス、およびログをサポートします。
BearerTokenAuth Extension 用にクライアント認証とサーバー認証が設定された OpenTelemetry Collector カスタムリソース
6.2. OAuth2Client Extension リンクのコピーリンクがクリップボードにコピーされました!
OAuth2Client Extension は、HTTP および gRPC プロトコルに基づくエクスポーター用のオーセンティケーターです。OAuth2Client Extension のクライアント認証は、OpenTelemetry Collector カスタムリソースの別のセクションで設定されます。このエクステンションは、トレース、メトリクス、およびログをサポートします。
OAuth2Client Extension はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OAuth2Client Extension 用にクライアント認証が設定された OpenTelemetry Collector カスタムリソース
- 1
- アイデンティティープロバイダーによって提供されるクライアント ID。
- 2
- アイデンティティープロバイダーに対してクライアントを認証するために使用される機密キー。
- 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 エクスポーターに割り当てることができます。
6.3. File Storage Extension リンクのコピーリンクがクリップボードにコピーされました!
File Storage Extension は、トレース、メトリクス、およびログをサポートします。このエクステンションは、状態をローカルファイルシステムに保持できます。この拡張機能は、HTTP プロトコルおよび gRPC プロトコルに基づく OpenTelemetry Protocol (OTLP) エクスポーターの送信キューを保持します。このエクステンションには、ディレクトリーへの読み取りおよび書き込みアクセスが必要です。このエクステンションはデフォルトのディレクトリーを使用できますが、デフォルトのディレクトリーがすでに存在している必要があります。
File Storage Extension はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OTLP 送信キューを保持する File Storage Extension が設定された OpenTelemetry Collector カスタムリソース
- 1
- テレメトリーデータを保存するディレクトリーを指定します。
- 2
- 保存されたファイルを開く際のタイムアウト期間を指定します。
- 3
- Collector が起動すると圧縮を開始します。省略した場合、デフォルトは
falseです。 - 4
- コンパクターがテレメトリーデータを保存するディレクトリーを指定します。
- 5
- 圧縮トランザクションの最大サイズを定義します。トランザクションサイズを無視するには、ゼロに設定します。省略した場合、デフォルトは
65536バイトです。 - 6
- 設定すると、各書き込み操作の後にデータベースよる
fsync呼び出しが強制的に実行されます。これにより、データベースプロセスが中断された場合にデータベースの整合性を確保できますが、パフォーマンスが低下します。 - 7
- OTLP エクスポーターデータをローカルファイルシステムにバッファーリングします。
- 8
- Collector による File Storage Extension を起動します。
6.4. OIDC Auth Extension リンクのコピーリンクがクリップボードにコピーされました!
OIDC Auth Extension は、OpenID Connect (OIDC) プロトコルを使用して、レシーバーが受信した要求を認証します。認証ヘッダー内の ID トークンを発行者に対して検証し、受信した要求の認証コンテキストを更新します。
OIDC Auth Extension はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OIDC Auth Extension が設定された OpenTelemetry Collector カスタムリソース
6.5. Jaeger Remote Sampling Extension リンクのコピーリンクがクリップボードにコピーされました!
Jaeger Remote Sampling Extension を使用すると、Jaeger のリモートサンプリング API の後にサンプリングストラテジーを提供できるようになります。このエクステンションを設定して、パイプラインの Jaeger Collector などのバッキングリモートサンプリングサーバーに、またはローカルファイルシステムから静的 JSON ファイルにリクエストをプロキシーできます。
Jaeger Remote Sampling Extension はテクノロジープレビューのみ機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Jaeger Remote Sampling Extension が設定された OpenTelemetry Collector カスタムリソース
Jaeger Remote Sampling ストラテジーファイルの例
6.6. Performance Profiler Extension リンクのコピーリンクがクリップボードにコピーされました!
Performance Profiler Extension により、Go net/http/pprof エンドポイントが有効になります。このエクステンションは、開発者がパフォーマンスプロファイルを収集し、サービスの問題を調査するために使用します。
Performance Profiler Extension はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Performance Profiler Extension が設定された OpenTelemetry Collector カスタムリソース
- 1
- このエクステンションがリッスンするエンドポイント。
localhost:を使用してローカルでのみ使用できるようにするか、":"を使用してすべてのネットワークインターフェイスで使用できるようにします。デフォルト値はlocalhost:1777です。 - 2
- ブロッキングイベントの一部がプロファイリングされるように設定します。プロファイリングを無効にするには、これを
0または負の整数に設定します。runtimeパッケージについては、ドキュメント を参照してください。デフォルト値は0です。 - 3
- プロファイリングされるミューテックス競合イベントの一部を設定します。プロファイリングを無効にするには、これを
0または負の整数に設定します。runtimeパッケージについては、ドキュメント を参照してください。デフォルト値は0です。 - 4
- CPU プロファイルを保存するファイルの名前。Collector が起動すると、プロファイリングが開始されます。プロファイリングは、Collector の終了時にファイルに保存されます。
6.7. Health Check Extension リンクのコピーリンクがクリップボードにコピーされました!
Health Check Extension は、OpenTelemetry Collector のステータスをチェックするための HTTP URL を提供します。このエクステンションは、OpenShift の liveness および readiness プローブとして使用できます。
Health Check Extension はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Health Check Extension が設定された OpenTelemetry Collector カスタムリソース
6.8. zPages エクステンション リンクのコピーリンクがクリップボードにコピーされました!
zPages エクステンションは、計装されたコンポーネントをリアルタイムでデバッグするためのライブデータを提供する HTTP エンドポイントを提供します。このエクステンションを使用すると、外部のバックエンドに依存せずに、プロセス内の診断やトレースとメトリクスの分析を行うことができます。このエクステンションを使用すると、提供されたエンドポイントで診断情報を監視することで、OpenTelemetry Collector と関連コンポーネントの動作を監視およびトラブルシューティングできます。
zPages エクステンションはテクノロジープレビューのみ機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
zPages エクステンションが設定された OpenTelemetry Collector カスタムリソース
- 1
- zPages エクステンションを提供するための HTTP エンドポイントを指定します。デフォルトは
localhost:55679です。
Red Hat build of OpenTelemetry Operator はこのルートを公開しないため、HTTP エンドポイントにアクセスするにはポート転送が必要です。
次の oc コマンドを実行すると、ポート転送を有効にできます。
oc port-forward pod/$(oc get pod -l app.kubernetes.io/name=instance-collector -o=jsonpath='{.items[0].metadata.name}') 55679
$ oc port-forward pod/$(oc get pod -l app.kubernetes.io/name=instance-collector -o=jsonpath='{.items[0].metadata.name}') 55679
Collector は診断用に次の zPages を提供します。
- ServiceZ
-
Collector サービスの概要と、PipelineZ、ExtensionZ、FeatureZ の zPages へのリンクが表示されます。このページには、ビルドバージョンとランタイムに関する情報も表示されます。このページの URL の例は、
http://localhost:55679/debug/servicezです。 - PipelineZ
-
Collector 内のアクティブなパイプラインに関する詳細情報を表示します。このページには、パイプラインの種類、データ変更の有無、および各パイプラインに関連付けられているレシーバー、プロセッサー、エクスポーターが表示されます。このページの URL の例は、
http://localhost:55679/debug/pipelinezです。 - ExtensionZ
-
Collector 内の現在アクティブなエクステンションを表示します。このページの URL の例は、
http://localhost:55679/debug/extensionzです。 - FeatureZ
-
Collector 内で有効になっているフィーチャーゲートと、そのステータスおよび説明を表示します。このページの URL の例は、
http://localhost:55679/debug/featurezです。 - TraceZ
-
レイテンシー別に分類されたスパンを表示します。使用可能な時間範囲には、0 µs、10 µs、100 µs、1 ms、10 ms、100 ms、1 s、10 s、1 m が含まれます。このページでは、エラーサンプルをすばやく検査することもできます。このページの URL の例は、
http://localhost:55679/debug/tracezです。