@@ -7,22 +7,16 @@ weight: 3
7
7
cSpell:ignore : filelogreceiver hostmetricsreceiver hostnames loadbalancer loadbalancing resourcedetectionprocessor
8
8
---
9
9
10
- コレクターのゲートウェイデプロイメントパターンは、
11
- アプリケーション(または他のコレクター)がテレメトリーシグナルを単一のOTLPエンドポイントに送信し、
12
- そのエンドポイントが実行されている1つ以上のコレクターインスタンスによって処理される構成です。
13
- このコレクターインスタンスは、通常、クラスターごと、データセンターごと、
14
- またはリージョンごとに単独のサービス(たとえばKubernetesのデプロイメント)として実行されます。
10
+ コレクターのゲートウェイデプロイメントパターンは、アプリケーション(または他のコレクター)がテレメトリーシグナルを単一のOTLPエンドポイントに送信し、そのエンドポイントが実行されている1つ以上のコレクターインスタンスによって処理される構成です。
11
+ このコレクターインスタンスは、通常、クラスターごと、データセンターごと、またはリージョンごとに単独のサービス(たとえばKubernetesのデプロイメント)として実行されます。
15
12
16
13
一般的なケースでは、アウトオブボックスのロードバランサーを使用して、コレクター間で負荷を分散できます:
17
14
18
15
![ ゲートウェイデプロイメント概念] ( ../../img/otel-gateway-sdk.svg )
19
16
20
17
テレメトリーデータの処理が特定のコレクターで行われる必要があるユースケースでは、2層の設定を使用します。
21
- 1層目のコレクターは、[ Trace ID/サービス名を意識したロードバランシングエクスポーター] [ lb-exporter ] を使用して設定され、
22
- 2層目ではスケールアウトを処理するコレクターが使用されます。
23
- たとえば、[ Tail Samplingプロセッサ] [ tailsample-processor ] を使用する場合、
24
- すべてのスパンが同じコレクターインスタンスに到達し、そこでそのサンプリングポリシーが適用されるように、
25
- ロードバランシングエクスポーターを使用する必要があります。
18
+ 1層目のコレクターは、[ Trace ID/サービス名を意識したロードバランシングエクスポーター] [ lb-exporter ] を使用して設定され、2層目ではスケールアウトを処理するコレクターが使用されます。
19
+ たとえば、[ Tail Samplingプロセッサ] [ tailsample-processor ] を使用する場合、すべてのスパンが同じコレクターインスタンスに到達し、そこでそのサンプリングポリシーが適用されるように、ロードバランシングエクスポーターを使用する必要があります。
26
20
27
21
ロードバランシングエクスポーターを使用する場合の例を見てみましょう:
28
22
@@ -36,8 +30,7 @@ cSpell:ignore: filelogreceiver hostmetricsreceiver hostnames loadbalancer loadba
36
30
37
31
### NGINXを「アウトオブボックス」のロードバランサーとして使用
38
32
39
- 2つのコレクター(` collector1 ` と` collector2 ` )が設定され、NGINXを使用してその間でトラフィックをロードバランシングしたい場合、
40
- 次の設定を使用できます:
33
+ 2つのコレクター(` collector1 ` と` collector2 ` )が設定され、NGINXを使用してその間でトラフィックをロードバランシングしたい場合、次の設定を使用できます:
41
34
42
35
``` nginx
43
36
server {
@@ -82,20 +75,17 @@ upstream collector4318 {
82
75
83
76
### ロードバランシングエクスポーター
84
77
85
- コレクターの中央集約型デプロイメントパターンの具体的な例として、
86
- まずロードバランシングエクスポーターについて詳しく見ていきましょう。
78
+ コレクターの中央集約型デプロイメントパターンの具体的な例として、まずロードバランシングエクスポーターについて詳しく見ていきましょう。
87
79
これには2つの主な設定項目があります:
88
80
89
81
- ` resolver ` は、下流のコレクター(またはバックエンド)をどこで見つけるかを決定します。
90
82
ここで` static ` サブキーを使用すると、コレクターのURLを手動で列挙する必要があります。
91
83
他のサポートされているリゾルバーはDNSリゾルバーで、定期的に更新を確認し、IPアドレスを解決します。
92
84
このリゾルバータイプでは、` hostname ` サブキーがIPアドレスのリストを取得するために問い合わせるホスト名を指定します。
93
- - ` routing_key ` フィールドを使用すると
94
- ロードバランシングエクスポーターがスパンを特定の下流のコレクターにルーティングするように指示します。
85
+ - ` routing_key ` フィールドを使用するとロードバランシングエクスポーターがスパンを特定の下流のコレクターにルーティングするように指示します。
95
86
このフィールドを` traceID ` (デフォルト)に設定すると、ロードバランシングエクスポーターは` traceID ` に基づいてスパンをエクスポートします。
96
87
その他の場合、` routing_key ` に` service ` を設定すると、サービス名に基づいてスパンをエクスポートします。
97
- これは、[ Span Metricsコネクター] [ spanmetrics-connector ] のようなコネクターを使用する際に有用で、
98
- サービスのすべてのスパンが同じ下流のコレクターに送信され、メトリクス収集が行われ、正確な集約が保証されます。
88
+ これは、[ Span Metricsコネクター] [ spanmetrics-connector ] のようなコネクターを使用する際に有用で、サービスのすべてのスパンが同じ下流のコレクターに送信され、メトリクス収集が行われ、正確な集約が保証されます。
99
89
100
90
OTLPエンドポイントを提供する最初の層のコレクターは次のように設定されます:
101
91
@@ -184,33 +174,25 @@ service:
184
174
185
175
{{% /tab %}} {{< /tabpane >}}
186
176
187
- ロードバランシングエクスポーターは、
188
- ` otelcol_loadbalancer_num_backends`や`otelcol_loadbalancer_backend_latency`などのメトリクスを出力し、
189
- これらを使用してOTLPエンドポイントコレクターのヘルスとパフォーマンスを監視できます。
177
+ ロードバランシングエクスポーターは、` otelcol_loadbalancer_num_backends`や`otelcol_loadbalancer_backend_latency`などのメトリクスを出力し、これらを使用してOTLPエンドポイントコレクターのヘルスとパフォーマンスを監視できます。
190
178
191
179
# # エージェントとゲートウェイのコレクターの組み合わせたデプロイメント
192
180
193
181
複数のOpenTelemetryコレクターをデプロイする場合、エージェントとしてもゲートウェイとしてもコレクターを実行することがよくあります。
194
182
195
183
以下の図は、このような組み合わせたデプロイメントのアーキテクチャを示しています:
196
184
197
- - エージェントデプロイメントパターンで実行されるコレクター(各ホストで実行され、Kubernetesデーモンセットのように)を使用して、
198
- ホスト上で実行されるサービスからのテレメトリーとホストのテレメトリー(ホストメトリクスやスクラップログなど)を収集します。
199
- - ゲートウェイデプロイメントパターンで実行されるコレクターを使用して、
200
- データの処理(たとえばフィルタリング、サンプリング、バックエンドへのエクスポートなど)を行います。
185
+ - エージェントデプロイメントパターンで実行されるコレクター(各ホストで実行され、Kubernetesデーモンセットのように)を使用して、ホスト上で実行されるサービスからのテレメトリーとホストのテレメトリー(ホストメトリクスやスクラップログなど)を収集します。
186
+ - ゲートウェイデプロイメントパターンで実行されるコレクターを使用して、データの処理(たとえばフィルタリング、サンプリング、バックエンドへのエクスポートなど)を行います。
201
187
202
188

203
189
204
- この組み合わせたデプロイメントパターンは、コレクター内でホストごとにユニークである必要があるコンポーネントや、
205
- アプリケーションが実行されている同じホストにしか利用できない情報を消費するコンポーネントを使用する場合に必要です:
190
+ この組み合わせたデプロイメントパターンは、コレクター内でホストごとにユニークである必要があるコンポーネントや、アプリケーションが実行されている同じホストにしか利用できない情報を消費するコンポーネントを使用する場合に必要です:
206
191
207
- - [`hostmetricsreceiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver)や
208
- [`filelogreceiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver)のようなレシーバーは、
209
- ホストインスタンスごとにユニークである必要があります。
192
+ - [`hostmetricsreceiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver)や[`filelogreceiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver)のようなレシーバーは、ホストインスタンスごとにユニークである必要があります。
210
193
これらのレシーバーを複数実行すると、データが重複します。
211
194
212
- - [`resourcedetectionprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor)のようなプロセッサーは、
213
- ホスト、コレクター、アプリケーションの情報を追加するために使用されます。
195
+ - [`resourcedetectionprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor)のようなプロセッサーは、ホスト、コレクター、アプリケーションの情報を追加するために使用されます。
214
196
リモートマシン上のコレクター内でこれらを実行すると、不正確なデータが生成されます。
215
197
216
198
# # トレードオフ {#tradeoffs}
@@ -235,10 +217,8 @@ service:
235
217
236
218
# # 複数のコレクターとシングルライター原則
237
219
238
- OTLP内のすべてのメトリクスデータストリームには、
239
- [シングルライター](/docs/specs/otel/metrics/data-model/#single-writer)が必要です。
240
- ゲートウェイ構成で複数のコレクターをデプロイする際は、
241
- すべてのメトリクスデータストリームに対してシングルライターとグローバルにユニークなIDを確保することが重要です。
220
+ OTLP内のすべてのメトリクスデータストリームには、[シングルライター](/docs/specs/otel/metrics/data-model/#single-writer)が必要です。
221
+ ゲートウェイ構成で複数のコレクターをデプロイする際は、すべてのメトリクスデータストリームに対してシングルライターとグローバルにユニークなIDを確保することが重要です。
242
222
243
223
# ## 潜在的な問題
244
224
@@ -264,7 +244,5 @@ OTLP内のすべてのメトリクスデータストリームには、
264
244
265
245
# ## ベストプラクティス
266
246
267
- - [Kubernetes属性プロセッサー](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor)を使用して、
268
- 異なるKubernetesリソースにラベルを追加します。
269
- - [リソース検出プロセッサー](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md)を使用して、
270
- ホストからリソース情報を検出し、リソースメタデータを収集します。
247
+ - [Kubernetes属性プロセッサー](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor)を使用して、異なるKubernetesリソースにラベルを追加します。
248
+ - [リソース検出プロセッサー](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md)を使用して、ホストからリソース情報を検出し、リソースメタデータを収集します。
0 commit comments