はじめに
現在関わっている業務では、OSSはなるべく最新の安定版を使いたいという意向があります。それで、OSのパッケージからではなく、ソースからのインストールを行うことがあります。
それで、Fluentdもソースからのインストールを行おうとしたのですが、ソースからのインストールは開発者向けの方法のようで、安定版をインストールするためのものではなさそうでした。それでも実際にソースからのインストールを試みたら、エラーが頻発しまして、試行錯誤を強いられました。
そのため、ソースからのインストールは諦め、代案としてRuby Gemでのインストールを提案・実施しました。最新版は使いたいが、運用は安定的に行いたいということであれば、よい方法だと思います。
公式ドキュメント、Ruby Gemでのインストール
環境
- OSはRHEL9.1
インストール前の準備
Ruby本体とFluentdのインストールで必要とされるパッケージのインストール
ここで1点、注意があります。
公式ドキュメントの要件には、必要なRubyのバージョンは2.4以上で、その他にruby-dev
のパッケージが必要とありました。ただ、実際にやってみたところ、redhat-rpm-config
のパッケージも必要でした。
$ sudo dnf install -y ruby ruby-devel redhat-rpm-config
RubyとGemのバージョン確認
RubyとGemがインストールできたことの確認を兼ね、RubyとGemのバージョンを確認しておきます。Rubyの要件は2.4以上でしたので、これならFluentdをインストールできます。
$ ruby --version
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]
$ gem --version
3.2.33
Fluentdのインストール
Gemでインストールする
ここはドキュメントに載っているとおりです。
$ gem install fluentd --no-doc
Fetching concurrent-ruby-1.2.3.gem
Fetching yajl-ruby-1.4.3.gem
(中略)
Successfully installed cool.io-1.8.0
Successfully installed fluentd-1.16.5
12 gems installed
Fluentdの動作確認
ここもドキュメントに載っているとおりですが、動作確認をします。
Fluentdの動作確認
$ fluentd --setup ./fluent
$ fluentd -c ./fluent/fluent.conf -vv &
$ echo '{"json":"message"}' | fluent-cat debug.test
各コマンドの説明:
- 設定ファイルを作成
- カレントディレクトリの直下に
fluent
ディレクトリを作成して、その中に設定ファイルを作成している
- カレントディレクトリの直下に
- Fluentdをデーモンとして起動する
- ログは標準出力に出力される
- Fluentdにメッセージを送る
- fluent-catコマンドでFluentdにメッセージを送る
標準出力にログが送られてくるので確認しにくいですが、以下のメッセージが確認できれば、動作確認は成功です。
fluent-catでFluentdに送ったメッセージ
2024-03-27 21:21:10.823176653 +0900 debug.test: {"json":"message"}