🕶️

OpenTelemetry Collector の設定を視覚的に編集・確認する - OTelBin

2023/11/08に公開

こんにちは、Splunk Observability の導入支援を行っている、kntr_nkgm です。
Splunk は OpenTelemetry への Contribute が非常に多い企業なのですが、社内で OTelBin という Web サービスが話題になっていました。覗いてみるとちょっと面白そうだったので、簡単に紹介してみようと思います。

https://www.otelbin.io/

どんなサイト?

アクセスしてみてもらえれば分かるとは思いますが、Web ページ上で OpenTelemetry Collector の設定を編集したり検証したりできるツールです。
GitHub では以下のように紹介されています。

Web-based tool to facilitate OpenTelemetry collector configuration editing and verification


OpenTelemetry Collector

OpenTelemetry Collector は、主に、テレメトリーデータの入力を受け取る Receiver、入力されたデータへの attribute 追加、フィルタリングなどのさまざまな加工を担う Processor、データを任意のサービスに送信する Exporter から成ります(Connector というのも存在しますが、一旦割愛)。この Receiver - Processor - Exporter をパイプラインとして組み立てることで、テレメトリーデータを柔軟に扱うことを実現しています。

このサイトでは、画面左のエディターで設定ファイルを入力・編集すると、OpenTelemetry Collector のパイプラインをトレース、メトリクス、ログといったテレメトリーデータ別にパネル図として表示してくれるようです。
エディター内で設定の不備や不足があれば、エラーや警告を出してくれるようにもなっています。

設定ファイルの記載自体に問題がないかを確認できるのはよいですね。
また、想定している通りにテレメトリーデータの入出力を設定できているかを確認するのにも使えそうです。

試してみた

早速ですが、Splunk が配布している OpenTelemetry Collector の設定ファイルをコピーして、エディターに取り込んでみます。
Splunk Distro の OpenTelemetry Collector は、Splunk Observability Cloud にテレメトリーデータを送りやすいように設定ファイルが埋め込まれているものです。設定値を変更さえすれば、オブザーバビリティのバックエンドは自由に切り替えることができるような、ベンダーロックインされない distribution です。

設定ファイルをエディターに貼り付けてみると、いくつか Warning が表示されました。

Warningが出ている

Exporter に指定されている otlpdebug が利用されていないというメッセージですね。
画面右のパイプラインの図で見てみても、Exporter にこの2つは含まれていません。

サンプル:Traceのパイプライン

トレースのパイプラインに、この2つの Exporter を指定してあげましょう。
165行目あたりに、トレースの Exporter の指定がかかれているので、ここに追加してみます。

exporters の中に追加

すると、Warning メッセージが消えます。いい感じですね。
また、画面右のパイプラインの図にも、追加した2つの Exporter が表示されるようになりました。

otlpとdebugが追加された

画面右のパイプライン図内のアイコンをクリックすると、対応するコードブロックをハイライトして、該当箇所にジャンプしてくれたりもします。
(画面は、Receiver - otlp をクリックした直後)

receivers - otlp のコードブロックをハイライトして表示

想定した通りにパイプラインが設定されているか、各入出力がどんな設定になっているか、Syntaxエラーなどがないか、といった基本的なことを確認するのに役立つツールとして活用できそうです。

また、記述した yaml ファイルはダウンロードしたり、クリップボードにコピーしたり、ということも可能なようです。実環境への反映もそれほど手間なく実施できそうで助かりますね。

まとめ

OpenTelemetry Collector の設定ファイルの編集を視覚的に実施できるのは良さそうですね。
今回は実機への反映とテストまでは実施していないので、後日改めて試してみようと思います。

Discussion