第4章 Collector の設定
4.1. Collector の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenTelemetry Operator は、Red Hat build of OpenTelemetry リソースを作成およびデプロイするときに使用されるアーキテクチャーと設定を定義するカスタムリソース定義 (CRD) ファイルを使用します。デフォルト設定をインストールすることも、ファイルを変更することもできます。
4.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
またはOpenTelemetryCollector
CR 名のいずれかに設定されている場合は、Pod アノテーションが優先されます。Pod アノテーションとして、
sidecar.opentelemetry.io/inject
アノテーションはいくつかの値をサポートしています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- サポートされる値:
false
- Collector を注入しません。アノテーションがない場合、これがデフォルトになります。
true
-
同じ namespace 内の
OpenTelemetryCollector
CR の設定を Collector に注入します。 <collector_name>
-
同じ namespace 内の
<collector_name>
OpenTelemetryCollector
CR の設定を Collector に注入します。 <namespace>/<collector_name>
-
<namespace>
namespace 内の<collector_name>
OpenTelemetryCollector
CR の設定を Collector に注入します。
4.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:
| テレメトリーデータの処理を含まないタスク用のオプションのコンポーネント。 |
| なし |
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:
|
メトリクスのエクスポーターを有効にするには、 | なし |
4.1.3. 必要な RBAC リソースの自動作成 リンクのコピーリンクがクリップボードにコピーされました!
一部の Collector コンポーネントは、RBAC リソースの設定を必要とします。
手順
Red Hat build of OpenTelemetry Operator が権限を自動的に作成できるように、
opentelemetry-operator-controller-manage
サービスアカウントに次の権限を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow