パイプラインでデータを処理する

Splunk Distribution of OpenTelemetry Collectorで収集したデータを処理する方法を学びます。

Collector の設定ファイルでパイプラインを使用して、取り込んだデータがたどるパスを定義します。レシーバーを使用してデータを受け取り、プロセッサでデータを処理または変更して、最後にエクスポータを介して Collector からデータを出力するまで、使用するコンポーネントを指定します。使用可能なすべてのコンポーネントとそれらの動作の概要については、「Collector コンポーネント」を参照してください。プロセッサを使用するための一般的な推奨事項とガイドラインについては、「OpenTelemetry processor documentation」を参照してください。

パイプラインは、ログ、トレース、メトリックの 3 つのデータタイプで動作します。Splunk Observability Cloud のデータの詳細については、「Splunk Observability Cloud のデータ型」を参照してください。

注: Collector で一般的なアクションやタスクを実行する方法については、「Use the Collector: How to perform common tasks」を参照してください。

パイプラインを定義する

パイプラインは、Collector の起動時に Collector の設定ファイルに基づいて構築されます。

詳細は、次を参照してください:

以下が該当します:

  • パイプライン設定でデータタイプを指定する必要があります。パイプラインで使用するすべてのレシーバー、エクスポータ、プロセッサが特定のデータ型をサポートしている必要があります。そうでない場合、設定がロードされたときに ErrDataTypeIsNotSupported というエラーメッセージが表示されます。

  • パイプラインは、1つ以上のレシーバーを含むことができます。

  • すべてのレシーバーからのデータは、最初のプロセッサーにプッシュされ、プロセッサーはそのデータに対して処理を行い、次のプロセッサーにプッシュし、パイプラインの最後のプロセッサーが、データファンアウトコネクターを使用して、データを複数のエクスポーターにファンアウト(分配)するまで、これを繰り返します。

    • プロセッサーの種類によっては、次のプロセッサーに渡す前にデータを「変異」(複製)させるものがあることに注意してください。

  • パイプラインが複数のエクスポーターを使用する場合、各エクスポーターは最後のプロセッサーから各データエレメントのコピーを受け取ります。

    • 失敗した場合、残りのエクスポーターは独立して作業を続行します。

    • 受信したデータを「変異」(複製)するようにエクスポータを設定できます。Splunk OTel Collector では、このオプションは有効になっていません。

パイプラインをコネクターと接続する

コネクタを使用して、2 つのパイプラインを接続できます。コネクタは、一方のパイプラインの終了時にエクスポータとしてデータを消費し、もう一方のパイプラインの開始時にレシーバーとしてデータを送信します。同じデータタイプまたは異なるデータタイプのデータを消費および送信できます。コネクタを使用して、消費済みデータの要約データを生成および送信したり、単にデータを複製またはルーティングしたりします。

詳しくは「Collector components: Connectors」を参照してください。

パイプライン設定の例

パイプラインのコンフィギュレーションは通常次のようになります:

service:
  pipelines:
  # Pipelines can contain multiple subsections, one per pipeline.
    traces:
    # Traces is the pipeline type.
      receivers: [otlp, jaeger, zipkin]
      processors: [memory_limiter, batch]
      exporters: [otlp, splunk_hec, jaeger, zipkin]

この例では、3 つのレシーバー、2 つのプロセッサ、および 4 つのエクスポータを含む、traces のパイプラインを定義します。次の表に、この例で使用するレシーバー、プロセッサ、エクスポータを示します。

コンポーネント

説明

パイプラインの種類

レシーバー

otlp:OTLP形式でgRPCまたはHTTP経由でデータを受信します。

トレース、メトリクス、ログ

レシーバー

jaeger:Jaeger 形式のトレースデータを受信します。

トレース

レシーバー

zipkin:Zipkin(V1とV2)からスパンを受け取ります。

トレース

プロセッサー

memory_limiter: メモリ不足を防止します。

メトリクス、トレース、ログ

プロセッサー

batch:スパン、メトリクス、またはログを受け入れ、それらをバッチに配置します。バッチ化することで、データをより適切に圧縮し、データ伝送に必要な発信接続数を減らすことができます。

メトリクス、トレース、ログ

エクスポーター

otlp:OTLP 形式を使用して gRPC でデータをエクスポートします。デフォルトでは、このエクスポータは TLS を必要とし、キュー再試行機能を提供します。

トレース、メトリクス

エクスポーター

HEC:Splunk HTTP Event Collector (HEC) エンドポイントにデータを送信します。

メトリクス、ログ

エクスポーター

jaeger:gRPC を介して Jager の宛先にデータをエクスポートします。デフォルトでは、このエクスポータは TLS を必要とし、キュー再試行機能を提供します。

トレース

エクスポーター

zipkin:Zipkin サーバーにデータをエクスポートします。デフォルトでは、このエクスポータは TLS を必要とし、キュー再試行機能を提供します。

トレース

メタデータの変換

メタデータとは、テレメトリデータに追加される名前 / 値のペアを指します。OpenTelemetry データモデルでは、タグは属性として提供されます。Splunk Observability Cloud が属性を持つトレースを取り込んだ後、これらはタグとして使用できます。または、属性を使用して、アラートを駆動するために使用できるモニタリング メトリクス セットを作成できます。詳しくは「OpenTelemetry でタグや属性を使用する」を参照してください。

次のステップ:取り込んだデータの確認と管理

Collector を使用してデータを取り込み、処理した後、Splunk Observability Cloud で最終的なエクスポートバージョンを確認できます。

ログの確認と管理

ログを表示および管理するには、Splunk Log Observer Connect を使用します。

メトリクスの確認と管理

Splunk Observability Cloud には、メトリクスを追跡・管理するためのツールがいくつか用意されています:

スパン、トレース、タグの確認と管理

Manage services, spans, and traces in Splunk APM」および「OpenTelemetry でタグや属性を使用する」を参照してください。