【オープンテレメトリーコレクター】

OpenTelemetry Collector とは?

公開:
💡 観測データの「仕分けセンター」 — あらゆる信号を受け取り、必要な場所へ届ける
📌 このページのポイント
OpenTelemetry Collector のデータフロー Receiver OTLP Jaeger Prometheus Processor フィルタリング 属性の変換・追加 テールサンプリング Exporter Jaeger Prometheus CloudWatch 受信 変換・加工 送信(複数可) アプリから受け取る 監視ツールへ転送
OpenTelemetry Collector のReceiver・Processor・Exporterの3段構成
ひよこ ひよこ
ペンギン先生、OpenTelemetry Collectorって何をするものなの?
ペンギン先生 ペンギン先生
アプリが出すトレース・メトリクス・ログを受け取って、PrometheusJaegerなど複数の監視ツールへ転送する「中継ハブ」だよ。アプリ自身が各ツールに直接送らなくていいから、設定がすっきりするんだ。
ひよこ ひよこ
中継ハブかあ。どんな仕組みで動いてるの?
ペンギン先生 ペンギン先生
内部はReceiver・Processor・Exporterの3段構成だよ。Receiverでデータを受け取り、Processorでフィルタリングや属性の追加を行い、Exporterで宛先へ送り出す、という流れだね。
ひよこ ひよこ
複数の宛先に同時に送れるの?
ペンギン先生 ペンギン先生
うん、1つのCollectorから複数のExporterを設定できるよ。たとえばPrometheusJaeger・CloudWatchに同時に転送することも普通にできるんだ。
ひよこ ひよこ
デプロイの仕方って1種類だけなの?
ペンギン先生 ペンギン先生
2パターンあるよ。各サーバーに隣り合わせで置く「エージェント型」と、集中管理サーバーに置く「ゲートウェイ型」。大規模なシステムではエージェントが一次収集して、ゲートウェイへ転送するという二段構成にすることも多いね。
ひよこ ひよこ
サンプリングってCollector側でできるって聞いたけど、どういうこと?
ペンギン先生 ペンギン先生
トレースを全件保存するとデータ量が膨大になるから、重要なものだけ残す「テールサンプリング」をCollector側のProcessorで行えるんだよ。アプリのコードを変えなくても、Collector側の設定だけで調整できるのが大きなメリットだね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
OpenTelemetry Collector」って出てきたら「観測データを集めて振り分けるハブ」と思えればだいたいOK!
📖 おまけ:英語の意味
「OpenTelemetry Collector」 = オープンテレメトリー収集器
💬 OpenTelemetry(オープンテレメトリー)は「計装(テレメトリー)を標準化するオープンなプロジェクト」から来ていて、Collectorはその中で「データを集める役割」のコンポーネントのことだよ
← 用語集にもどる