雑記帳

ちょっとした文章とかメモ書きとか。

Fluentd実践入門を読み終えた

昨年にFluentd実践入門を@tagomorisさんに献本いただいていたのですが、色々とバタバタしていたこともあり、ようやく読み終えました。

Fluentdを使い始める方にも使ってみたけれど、プラグインの機能が足りず痒い所に手が届かないけれどどのように拡張したら良いかわからない・・・。と言う初級者にも中級者にも刺さる書籍となっていました。Fluentdを開発していてもBufferありのアウトプットプラグイン(Buffered Output Plugin)のチューニングの仕方とかコードだけ追っていても若干怪しいことがあるので、大変参考になりました。

いくつかの章はクリアコードの社員としてメンテナンスをしていた時に特に力を入れて開発していた機能の紹介もあり、懐かしみながら読めました。

TLSに関係するところではcert_logical_store_nameと言う私が開発しました、そしてそのためにC拡張も作成しました。と言う思い出深いパラメータを見ることができました。

Fluentdのこれから

Fluentdはバラバラになっていたログ収集を統一的に扱えるログエージェントとして登場しました。しかし、Fluentdはログを統一的に取り扱うログエージェントであり、クラウドネイティブなソフトウェアを扱う開発者はログだけではなく、ノードやコンテナの健全性もログと同時に取り扱い収集するObservabilityと言う新しい概念をエージェントに取り入れ始めています。

「オブザーバビリティ(可観測性)」とは「Observe(観察する)」と「ability(能力)」を組み合わせであり、観察する能力という意味の「Observability(可観測性)」として訳されます。

つまり、オブザーバビリティとは従来に比べてシステムを観察する能力をより高めた監視体制のことです。

https://ops.jig-saw.com/tech-cate/observability

Fluent BitはFluentd傘下のプロジェクトとして出発しています。ログに限らずPrometheus互換のメトリクスを扱えるnode_exporter_metrics, windows_exporter_metricsのようなノードの健全性をメトリクスを通じて収集するメトリクスエージェントだけでなく、OpenTelemetryと言うObservabilityの走りとなるテレメトリーの集約・送信もサポートしています。

また、Fluent BitはWebAssemblyによるフィルタープラグインを書くことも可能となっています。

このようにFluent BitはIoTやObservabilityの文脈においてエッジプラットフォームを目指すエージェントとしての開発が進められています。

このことからFluentdに関しても内部のメトリクスをプラグイン化して内部で扱うだけでなく、例えば、他のメトリクスプラグインで内部メトリクスをPrometheus互換で処理可能にするメトリクスプラグイン機能を入れてみてあります。しかし今のところ、Fluentdのコア開発チームは今ところ安定性や未解決になっている問題の解決に関心があるようです。

おわりに

まだまだFluentdでサポートしなければならない機能はあると思います。Fluentdではメトリクスやトレースを扱うのには小回りが効かないところもあるのですが、Fluentd実践入門を読めば一通りのログ集約周りの設計のヒントが散りばめられており、Fluentdのソースコードを読み込んで使っている方でも新たな発見があるかもしれません。
この書籍がなかった時代から手探りで開発してコミュニティと関わってきた身からすると隔世の感があります。

コメントを残す