LoginSignup
1
0

Fluent Bitをソースからインストールする(RHEL 9)

Posted at

はじめに

以前、Fluent Bitを検証したことがありました。
ドキュメントの読解と共に、動作検証も行いました。

動作検証を行うため、Fluent Bitをインストールする必要があり、パッケージからのインストールの他に、ソースからのインストールが行えることも書かれていました。

パッケージからのインストールですと、古いバージョンであることが多いので、ソースからインストールしてみることにしました。

ただ、公式のドキュメントには、インストールに必要な情報が欠けており、インストールに手間取る結果となりました。そこで、ソースからのインストールを行うのに必要な手順を残しておくことにしました。

環境

  • OSはRHEL9.1
  • Fluent Bitは2.2.2
    • 本記事を書いた時点の最新版

公式ドキュメントについて

公式ドキュメントで、ソースからインストールする方法が述べられています。

このドキュメントを元に作業を進めていき、ドキュメントに載っていないことを本記事で解説します。

ドキュメントに書かれていないこと

ドキュメントには、以下が必要と書かれていました。
https://docs.fluentbit.io/manual/installation/sources/build-and-install#requirements

  • CMake >= 3.12
  • Flex
  • Bison >= 3
  • YAML headers
  • OpenSSL headers

CMakeとFlex、BisonはAppStreamにあるので、問題ありません。dnf listであっさりと確認できました。

OpenSSL headersは、openssl-develのパッケージだということがわかりました。これもAppStreamにありましたから、問題ありませんでした。

ただ、YAML headersがすんなりとはわかりませんでした。わかる人にはこれだけでもわかる、ということでしょうか。調査の結果、YAML headersが意味するものは、以下の通りでした。

  • YAML headersは、libyaml-develパッケージのこと
  • リポジトリはCodeReady Linux Buildeである

また、gcc-c++も必要でした。
これはドキュメントのRequirementsに書かれていません。ビルドエラーとなったところでわかったことです。

これらを踏まえて、作業を行います。

ビルド前の準備

CodeReady Linux Builderのリポジトリを有効にする

サブスクリプションマネージャーを使い、CodeReady Linux Buiderのリポジトリを有効にします。

$ sudo subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
リポジトリー 'codeready-builder-for-rhel-9-x86_64-rpms' は、このシステムに対して有効になりました。

パッケージを最新の状態にする

念のため、パッケージを最新の状態にしておきます。

$ sudo dnf update
サブスクリプション管理リポジトリーを更新しています。
Red Hat CodeReady Linux Builder for RHEL 9 x86_64 (RPMs)                                4.3 MB/s | 4.3 MB     00:01
依存関係が解決しました。
行うべきことはありません。
完了しました!

必要なパッケージをまとめてインストールする

ビルドに必要なパッケージをまとめてインストールします。

$ sudo dnf install -y cmake flex bison libyaml-devel openssl-devel gcc-c++
サブスクリプション管理リポジトリーを更新しています。

(中略)

インストール済み:
  bison-3.7.4-5.el9.x86_64                cmake-3.20.2-7.el9.x86_64                cmake-data-3.20.2-7.el9.noarch
  cmake-filesystem-3.20.2-7.el9.x86_64    cmake-rpm-macros-3.20.2-7.el9.noarch     flex-2.6.4-9.el9.x86_64
  gcc-c++-11.3.1-2.1.el9.x86_64           libstdc++-devel-11.3.1-2.1.el9.x86_64    libyaml-devel-0.2.5-7.el9.x86_64
  m4-1.4.19-1.el9.x86_64                  openssl-devel-1:3.0.1-47.el9_1.x86_64

完了しました!

ビルド

ソースのダウンロード

GitHubからソースをダウンロードします。

公式ではリリースバージョンのタグを調べ、「https://github.com/fluent/fluent-bit/archive/refs/tags/v.tar.gz」か「https://github.com/fluent/fluent-bit/archive/refs/tags/v.zip」に当てはめるようにとありますが、 https://github.com/fluent/fluent-bit/releases を見て、そこからダウンロードしたほうが良さそうです。

今回は2.2.2をダウンロードしました。

$ wget https://github.com/fluent/fluent-bit/archive/refs/tags/v2.2.2.zip

ソースコードを展開する

$ unzip v2.2.2.zip

fluent-bit-2.2.2ディレクトリが作成されています。

展開したディレクトリのbuildディレクトリに移動する

$ cd fluent-bit-2.2.2/build

buildディレクトリでCMakeを実行する

$ cmake ../
-- The C compiler identification is GNU 11.3.1
-- Detecting C compiler ABI info

(中略)

-- Configuring done
-- Generating done
-- Build files have been written to: /home/---/fluent-bit-2.2.2/build

makeを実行する

$ make
[  0%] Creating directories for 'backtrace'
[  0%] No download step for 'backtrace'

(中略)

[100%] Linking C executable ../../bin/out_lib
[100%] Built target out_lib

make installを実行する

/usr/localへの書き込みが発生するため、root権限が必要です。

root権限が必要になるだろうということは、ドキュメントで述べられています。

it's likely you may need root privileges so you can try to prefixing the command with sudo.

$ sudo make install
[  1%] Built target backtrace
Consolidate compiler generated dependencies of target c-ares

(中略)

-- Installing: /usr/local/etc/fluent-bit/parsers.conf
-- Installing: /usr/local/etc/fluent-bit/plugins.conf

インストール後の確認

whichコマンドでfluent-bitコマンドの場所を確認して、/usr/local/binに置かれていれば、インストールは成功です。

$ which fluent-bit
/usr/local/bin/fluent-bit

fluent-bitコマンドでバージョンの確認を行い、バージョン表示がされればコマンドは正しく動いています。

$ fluent-bit --version
Fluent Bit v2.2.2
Git commit:
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0