OpenTelemetry Collectorのカスタムコンポーネントを作ってみよう! by Arthur

YAPC::Fukuoka 2025
ライブコーディング・ハンズオン(60分)

OpenTelemetry Collectorのカスタムコンポーネントを作ってみよう!

Arthur Arthur1__
4

概要

OpenTelemetryとは、メトリックやトレースといったテレメトリーデータの生成・投稿を、ベンダーの違いを超えて標準化するオブザーバビリティフレームワーク・ツールキットです。

このプロジェクトの一つとして、テレメトリーの受信・処理・投稿を担うOpenTelemetry Collector(以後 OTel Collector)というエージェントツールがあります。OTel Collectorはユーザーが複数のコンポーネントを組み合わせて動作させられる仕組みになっています。コンポーネントは自作したり、自作したものをライブラリとして配布したりできます。例えば、私はIoT製品のAPIを呼ぶReceiverを自作し、これを組み込んだOTel Collectorを常駐させることにより、IoT製品が電池切れしていないかを継続的に監視する仕組みを構築しています。

このハンズオンでは、OTel CollectorのうちReceiverと呼ばれる種類のコンポーネントを自作し、さらに、これを組み込んだOTel Collectorのバイナリをビルドし動かしてみることを目標とします。OTel Collectorコンポーネント開発の知識だけでなく、利用者として既存のコンポーネントのコードを読むときや、Collectorカスタムビルド時に役立つ知識も得られます。

思い思いのOTel Collector Receiverを自作して、お土産に持ち帰りませんか?

必要なもの

  • PC (OS: macOS / Linux)
    • Windowsでもできなくないと思いますがトラブル時にサポートできません
  • Go 1.24以上の開発環境
  • (任意)どんなReceiverを作ろうかというアイデア