4.5. コネクター
コネクターは 2 つのパイプラインを接続します。1 つのパイプラインの終了時にエクスポーターとしてデータを消費し、別のパイプラインの開始時にレシーバーとしてデータを出力します。同じまたは異なるデータ型のデータを消費および出力できます。データを生成および出力して、消費されたデータを要約することも、単にデータを複製またはルーティングすることもできます。
現在、Red Hat build of OpenTelemetry では、次の一般提供およびテクノロジープレビューのコネクターが利用可能です。
4.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)
# ...
config:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
exporters:
prometheus:
endpoint: 0.0.0.0:8889
connectors:
count: {}
service:
pipelines:
traces/in:
receivers: [otlp]
exporters: [count]
metrics/out:
receivers: [count]
exporters: [prometheus]
# ...
- 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 の例
# ...
config:
connectors:
count:
spans:
<custom_metric_name>:
description: "<custom_metric_description>"
conditions:
- 'attributes["env"] == "dev"'
- 'name == "devevent"'
# ...
Count Connector は、spans、spanevents、metrics、datapoints、logs などのフィールドを使用して設定されている場合に、定義された属性に従ってテレメトリーデータをカウントできます。次の例を参照してください。属性のキーはテレメトリーデータに注入されます。欠落している属性については、default_value フィールドに値を定義する必要があります。
属性によってログをカウントする Count Connector の OpenTelemetry Collector CR の例
# ...
config:
connectors:
count:
logs:
<custom_metric_name>:
description: "<custom_metric_description>"
attributes:
- key: env
default_value: unknown
# ...
4.5.2. Routing Connector リンクのコピーリンクがクリップボードにコピーされました!
Routing Connector は、OpenTelemetry Transformation Language (OTTL) ステートメントとして記述されたリソース属性とルーティング条件に従って、ログ、メトリクス、およびトレースを指定されたパイプラインにルーティングします。
Routing Connector はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Routing Connector が有効になっている OpenTelemetry Collector カスタムリソース
# ...
config:
connectors:
routing:
table:
- statement: route() where attributes["X-Tenant"] == "dev"
pipelines: [traces/dev]
- statement: route() where attributes["X-Tenant"] == "prod"
pipelines: [traces/prod]
default_pipelines: [traces/dev]
error_mode: ignore
match_once: false
service:
pipelines:
traces/in:
receivers: [otlp]
exporters: [routing]
traces/dev:
receivers: [routing]
exporters: [otlp/dev]
traces/prod:
receivers: [routing]
exporters: [otlp/prod]
# ...
- 1
- コネクターのルーティングテーブル。
- 2
- OTTL ステートメントとして記述されたルーティング条件。
- 3
- 一致するテレメトリーデータをルーティングするための宛先パイプライン。
- 4
- どのルーティング条件も満たさないテレメトリーデータをルーティングするための宛先パイプライン。
- 5
- エラー処理モード:
propagate値は、エラーをログに記録し、ペイロードをドロップするためのものです。ignore値は、条件を無視して次の条件との一致を試行するためのものです。silent値はignoreと同じですが、エラーがログに記録されません。デフォルトはpropagateです。 - 6
trueに設定すると、ルーティング条件が満たされた最初のパイプラインにのみペイロードがルーティングされます。デフォルトはfalseです。
4.5.3. Forward Connector リンクのコピーリンクがクリップボードにコピーされました!
Forward Connector は、同じタイプの 2 つのパイプラインを結合します。
Forward Connector はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Forward Connector が有効になっている OpenTelemetry Collector カスタムリソース
# ...
config:
receivers:
otlp:
protocols:
grpc:
jaeger:
protocols:
grpc:
processors:
batch:
exporters:
otlp:
endpoint: tempo-simplest-distributor:4317
tls:
insecure: true
connectors:
forward: {}
service:
pipelines:
traces/regiona:
receivers: [otlp]
processors: []
exporters: [forward]
traces/regionb:
receivers: [jaeger]
processors: []
exporters: [forward]
traces:
receivers: [forward]
processors: [batch]
exporters: [otlp]
# ...
4.5.4. Spanmetrics Connector リンクのコピーリンクがクリップボードにコピーされました!
Spanmetrics Connector は、スパンデータから Request, Error, and Duration (R.E.D) OpenTelemetry メトリクスを集計します。
Spanmetrics Collector が有効になっている OpenTelemetry Collector カスタムリソース
# ...
config:
connectors:
spanmetrics:
metrics_flush_interval: 15s
service:
pipelines:
traces:
exporters: [spanmetrics]
metrics:
receivers: [spanmetrics]
# ...
- 1
- 生成されたメトリクスのフラッシュ間隔を定義します。デフォルトは
15sです。