OpenTelemetry コレクターを使用した OpenTelemetry との統合

OpenTelemetry コレクターを使用すると、リソース属性の設定や、 OpenTelemetry のデータを Instana エージェントまたは Instana バックエンドに転送することができます。

OpenTelemetry コレクター は、テレメトリー・データを受信、処理、およびエクスポートするためのベンダーに依存しない実装を提供する、最も一般的な OpenTelemetry ツールの 1 つです。

OpenTelemetry コレクター

OpenTelemetry の公式ディストリビューションには、 OpenTelemetry Collector(otelcol) および OpenTelemetry Collector Contrib(otelcol-contrib) が含まれており、これらは OpenTelemetry Collector リリースリポジトリの一部として利用可能です。

OpenTelemetry コレクターは、OpenTelemetry エコシステムのコア コンポーネントであり、テレメトリ データの収集、処理、エクスポートのためのベンダーに依存しない機能を提供します。 その機能を確認するには、 GitHub releases から最新の実行可能バイナリファイルをダウンロードしてください。

OpenTelemetry Collector Contribは、コアコレクターに追加コンポーネントやコミュニティから寄せられた機能強化を組み込み、高度なユースケースに対応した専門的な機能を提供します。 このリポジトリー内の一部のコンポーネントは otelcol ディストリビューションの一部ですが、ここにあるほとんどのコンポーネントは、otelcol-contrib ディストリビューションの一部としてのみ使用可能です。 OpenTelemetry のCollectorビルダーを使用すれば、コアリポジトリ、contribリポジトリ、およびサードパーティや内部のリポジトリから必要なコンポーネントを選択して、独自のカスタムディストリビューションを構築することができます。 テレメトリデータの収集にこれらの機能強化を活用するには、 OpenTelemetry の「Collector リリース」 ページから最新の実行可能バイナリファイルをダウンロードしてください。

さらに、 OpenTelemetry Collector リリースは、さまざまな環境でのデプロイメントを容易にするコンテナー・イメージ・バイナリー・ファイルとして使用できます。

現在、 Linux 環境をご利用の場合、 Instana のUIを使用して、 OpenTelemetry コレクターを直接インストールすることができます。 詳細については、 「 Instana UI を使用した OpenTelemetry コレクターのインストール 」を参照してください。

その他の環境については、『 OpenTelemetry 』のドキュメントにある 「Collectorのインストール」 を参照してください。

Instana のUIを使用して OpenTelemetry コレクターをインストールする

Instana のUIを使用して OpenTelemetry コレクターをインストールおよび実行するには、以下の手順を実行してください:

  1. Instana UIのホームページで、 「エージェントとコレクター」 をクリックします。
  2. エージェントとコレクター 」ページで、 「 OpenTelemetry コレクター 」タブを選択します。 ここでは、既存のコレクターを、そのコレクターIDと稼働状況とともに確認できます。
  3. 「コレクターをインストール」 をクリックします。
  4. 「 “OpenTelemetry コレクターのインストール」ページで、インストール先のシステムに応じて、「 Linux 」、「 Kubernetes 」、または「 Windows 」のタイルを選択してください。
  5. 表示されているコマンドを実行してください。 たとえば、「 Linux - 自動インストール(ワンライナー)」ページで、パッケージングモードを選択し、 OpenTelemetry Collector をデプロイします。

コレクターをデプロイしたら、 「インストール済みのコレクターを表示」 をクリックして、 Instana のインフラストラクチャマップ上で確認してください。

注: このUIには、システムのアーキテクチャを自動的に検出する簡易インストールスクリプト(instana-collector-installer-latest.sh)が用意されています。

OpenTelemetry Collector を Instana と組み合わせて使用する場合のシナリオ

OpenTelemetry データは、 Instana エージェントまたは Instana バックエンドのいずれかへ直接送信可能です。これらは、および OTLP/HTTP プロトコ OTLP/gRPC ルの両方に対応しているためです。

OpenTelemetry コレクターは、以下の重要なコンポーネントで構成されています。

  • 受信側: さまざまなソースからテレメトリー・データを収集し、処理のために標準化された形式に変換します。
  • プロセッサー: テレメトリー・データを変更および拡張して、フィルタリング、集約、属性追加などのタスクを可能にします。
  • エクスポーター: 処理されたテレメトリー・データを必要な形式で外部宛先に送信し、可観測性プラットフォームやその他のツールとの統合を容易にします。

OpenTelemetry コレクターは、データ処理、操作、およびデバッグの機能を大幅に強化するとともに、複数のデータ・エクスポート宛先の構成も可能にします。 したがって、 Instana エージェントまたはバックエンドの OTLP エンドポイントを使用して、 OpenTelemetryotlphttp コレクター内のエクスポーターまたはエクスポーターを設定することで、データ処理を効率 otlp 的かつ円滑に行うことができます。

OpenTelemetry Collector Contrib には専用の Instana エクスポーターが含まれていますが、標準の OTLP エクスポーターは標準に準拠しており、トレース、メトリクス、ログを含むすべての OpenTelemetry データシグナルを包括的にサポートしているため、こちらを使用することを推奨します。

以下の例は、 OpenTelemetry Collector 構成が Telemetry データ・プロセスを拡張する方法を示しています。

プロセッサ batch については、ほとんどのシナリオにおけるパフォーマンスの観点に基づいた以下の設定例を参照してください。 データの送信にかかる最大時間をタイムアウトに設定してください:

processors:
  batch:
    send_batch_size: 5000
    send_batch_max_size: 10000
    timeout: 180s
...
service:
  pipelines:
    traces:
      receivers: [...]
      processors: [..., batch]
      exporters: [...]
    metrics:
      receivers: [...]
      processors: [..., batch]
      exporters: [...]

spanmetricsコネクターについては、以下のサンプル設定を参照。

注:Instana 関連サービスから導出されるメトリクスのほとんどは、スパンに基づいています。 ほとんどの場合、 Instana へメトリクスをエクスポートするためのパイプラインに spanmetrics コネクタを組み込む必要はありません。
connectors:
  spanmetrics:
...
pipelines:
  traces:
    receivers: [...]
    processors: [...]
    exporters: [..., spanmetrics]
  metrics:
    receivers: [..., spanmetrics]
    processors: [...]
    exporters: [...]

次の例は、OpenTelemetryCollector(v1.17.0と v0.111.0から、'loggingエクスポーターの代わりに'debugエクスポーターを使用する)を使用してデータをデバッグするための典型的な構成を示しています:

exporters:
  debug:
    verbosity: detailed
...
pipelines:
  traces:
    receivers: [...]
    processors: [...]
    exporters: [..., logging]
  metrics:
    receivers: [...]
    processors: [...]
    exporters: [..., logging]

OpenTelemetry に関するその他のリソース

コミュニティが厳選した OpenTelemetry サンプル、ベストプラクティス、および統合パターンについては、 Instana 向け OpenTelemetry リポジトリを参照してください。 この資料では、以下の情報を提供しています:
  • 実際の設定例。
  • トラブルシューティングガイド。
  • さまざまなテクノロジーの統合パターン。
  • コミュニティから寄せられた解決策。