Text
Page: 1
Fluent Package LTS
株式会社クリアコード
2023-09-26
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 2
株式会社クリアコード
自由ソフトウェアとビジネス
を両立!
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 3
クリアコードとFluentd
✓ Fluentdメンテナー3名在籍
2021年からコミュニティの中心となって開発に参加!
✓ Fluentdのサポートサービスを提供
https://www.clear-code.com/services/fluentd-service.html
導入・アップデート支援、機能追加、障害対応...
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 4
Fluentdメンテナー3名在籍
https://github.com/fluent/fluentd/graphs/contributors?
from=2021-01-01&to=2023-09-26&type=c
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 5
本資料のトピック
✓ Fluent Package LTSとは
✓ LTSへの移行
✓ 主な変更点
✓ LTS向けサポートサービス
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 6
Fluent
Package LTS
とは
Page: 7
Fluent Package LTS
✓ 2023年8月にv5としてリリース
✓ td-agent v4の後継パッケージ
✓ 長期の安定運用におすすめ
✓ セキュリティー、バグフィックスのみ
✓ サポート期間を事前アナウンス
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 8
td-agent
✓ 元々は Treasure Data 主体
✓ 現在は コミュニティ 主体
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 9
Fluent Package
✓ コミュニティ主体であることを
パッケージ名に反映!
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 10
LTS版と通常版との違い
サポート期間
LTS版 長期、事前アナウンス
(およそ2年ごと)
通常版 不定期
(td-agent相当)
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 11
リリースサイクル
https://www.fluentd.org/blog/fluent-package-scheduled-lifecycle
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 13
LTS版へ移行するメリット
✓ 長期間に渡り安心してアップデート可能!
✓ メジャーアップデートを計画的に準備可
能!
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 14
移行方法
(from td-agent v4)
✓ 基本的には通常のインストール方法でアッ
プデート可能!
✓ 場合によってはマイグレート作業が必要
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 15
アップデート: Linux
✓ 例: Red Hat / CentOS
$ curl -fsSL \
https://toolbelt.treasuredata.com/sh/install-redhat-fluent-package5-lts.sh | sh
✓ RPM Package
https://docs.fluentd.org/installation/install-by-rpm
✓ DEB Package
https://docs.fluentd.org/installation/install-by-deb
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 16
アップデート: Windows
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 17
アップデート: Windows
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 18
アップデート: Windows
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 19
アップデート: Windows
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 20
アップデート: Windows
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 21
手動マイグレート
場合によっては手動のマイグレート作業が必要
✓ 一般のケース
✓ Linuxのケース
✓ Windowsのケース
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 22
手動マイグレート
一般
✓ 手動インストールしているプラグインがあ
る
=> プラグインの再インストール
✓ Fluentdのログファイルを監視している
=> ログファイルのパスの更新
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 23
プラグインの再インストール
✓ アップデート前に
プラグインリストを確認
$ td-agent-gem list | grep fluent-plugin*
fluent-plugin-calyptia-monitoring (0.1.3)
fluent-plugin-elasticsearch (5.3.0)
fluent-plugin-flowcounter-simple (0.1.0)
.
.
.
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 24
プラグインの再インストール
✓ アップデート後に
プラグインリストを確認
$ fluent-gem list | grep fluent-plugin*
fluent-plugin-calyptia-monitoring (0.1.3)
fluent-plugin-elasticsearch (5.3.0)
fluent-plugin-flowcounter-simple (0.1.0)
.
.
.
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 25
プラグインの再インストール
✓ 必要なプラグインをインストール
$ sudo fluent-gem install fluent-plugin-...
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 26
ログファイルのパスの更新
✓ Linux
/var/log/td-agent/td-agent.log
⇩
/var/log/fluent/fluentd.log
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 27
ログファイルのパスの更新
✓ Windows
(インストールディレクトリ)/td-agent/td-agent.log
⇩
(インストールディレクトリ)/fluent/fluentd.log
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 28
手動マイグレート
Linux
次をカスタマイズしている場合
✓ 環境変数設定ファイル
✓ ローテート設定ファイル
✓ ユニットファイル
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 29
環境変数設定ファイル
✓ RHEL系
/etc/sysconfig/td-agent
⇩
/etc/sysconfig/fluentd
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 30
環境変数設定ファイル
✓ Debian系
/etc/default/td-agent
⇩
/etc/default/fluentd
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 31
ローテート設定ファイル
/etc/logrotate.d/td-agent
⇩
/etc/logrotate.d/fluentd
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 32
カスタムユニットファイル
✓ パッケージのパス構成が変化
例: /opt/td-agent/ => /opt/fluent/
✓ カスタムユニットファイルの更新が必要
(もし使っていれば)
例: /etc/systemd/system/td-agent.service
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 33
手動マイグレート
Windows
✓ サービス起動時コマンド引数をカスタマイ
ズしている場合
例: ログローテート関連の引数を追加
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 34
サービス起動時コマンド引数
✓ アップデート前に確認
$ REG QUERY HKLM\System\CurrentControlSet\Services\fluentdwinsvc
✓ fluentdoptの値を確認
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 35
サービス起動時コマンド引数
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 36
サービス起動時コマンド引数
マイグレーション
✓ アップデート後はデフォルト値になる
✓ カスタマイズしていた場合は再設定が必要
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 37
サービス起動時コマンド引数
マイグレーション
管理者権限のFluent Package Command Prompt
$ fluentd --reg-winsvc-fluentdopt "(引数全体)"
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 38
サービス起動時コマンド引数
ログローテート設定
✓ ログローテートはsystem設定を推奨
✓ --log-rotate-age
✓ --log-rotate-size
td-agent v4.4.2以降はsystem設定で設定可能
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 39
サービス起動時コマンド引数
補足: デフォルト値の変化
✓ 設定ファイルパス
-c オプション
-c (インストールディレクトリ)\td-agent\etc\td-agent\td-agent.conf
⇩
-c (インストールディレクトリ)\fluent\etc\fluent\fluentd.conf
※ 旧設定ファイルは自動で新しいパスに移動
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 40
サービス起動時コマンド引数
補足: デフォルト値の変化
✓ ログファイルパス
-o オプション
-o (インストールディレクトリ)\td-agent\td-agent.log
⇩
-o (インストールディレクトリ)\fluent\fluentd.log
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 42
主な変更点
Fluent Package v5.0.0 および v5.0.1 について
✓ パッケージの変更点
✓ Fluentdの改善点
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 43
パッケージの変更点
✓ パッケージ名の変更
td-agent => fluent-package
✓ コマンド名の変更
td-agent => fluentd
td-agent-gem => fluent-gem
マイグレート環境では旧名も使用可能
✓ インストールパスの変更
/opt/td-agent/ => /opt/fluent/
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 44
パッケージの変更点
Linux 1/4
✓ サービス名
td-agent => fluentd
✓ 設定ファイルパス
/etc/td-agent/td-agent.conf => /etc/fluent/fluentd.conf
アップデート時に自動で再配置
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 45
パッケージの変更点
Linux 2/4
✓ ログファイルパス
/var/log/td-agent/td-agent.log => /var/log/fluent/fluentd.log
✓ ログローテート設定パス
/etc/logrotate.d/td-agent => /etc/logrotate.d/fluentd
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 46
パッケージの変更点
Linux 3/4
✓ RHEL系
✓ 環境変数設定ファイルパス
/etc/sysconfig/td-agent => /etc/sysconfig/fluentd
✓ ユニットファイルパス
/usr/lib/systemd/system/td-agent.service =>
/usr/lib/systemd/system/fluentd.service
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 47
パッケージの変更点
Linux 4/4
✓ Debian系
✓ 環境変数設定ファイルパス
/etc/default/td-agent => /etc/default/fluentd
✓ ユニットファイルパス
/lib/systemd/system/td-agent.service =>
/lib/systemd/system/fluentd.service
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 48
パッケージの変更点
Windows 1/2
✓ コンソール名
Td-agent Command Prompt => Fluent Package Command Prompt
✓ 設定ファイルパス
etc/td-agent/td-agent.conf => etc/fluent/fluentd.conf
アップデート時に自動で再配置
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 49
パッケージの変更点
Windows 2/2
✓ ログファイルパス
td-agent.log => fluentd.log
✓ FLUENT_PACKAGE_TOPDIR
TD_AGENT_TOPDIRに代わる環境変数
✓ インストール後に自動でサービスが起動し
ないように
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 50
Fluentdの改善点
✓ in_tailのfollow_inodes機能
✓ Rubyの高速化機能(YJIT)
✓ ignore_same_log_interval
✓ 脆弱性対応
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 51
in_tail
follow_inodesの動作改善
✓ ローテートファイルも含めて収集対象に指
定できる機能
✓ 「ローテート後にファイルを収集しなくな
る」不具合を改善
https://docs.fluentd.org/input/tail#follow_inodes
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 52
Rubyの高速化機能(YJIT)
✓ YJITがサポートされている環境で利用可能
Windowsは未サポート
✓ Fluentdではまだ実験段階
https://docs.fluentd.org/deployment/system-config#enable_jit-experimental
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 53
ignore_same_log_interval
✓ キャッシュが制限なく増加してメモリを圧
迫することがある問題を修正
https://docs.fluentd.org/deployment/logging#ignore_same_log_interval
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 54
脆弱性対応
✓ CVE-2023-38697
✓ in_monitor_agentプラグインに影響
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 56
クリアコードの
Fluentdサポートサービス
✓ 導入・アップデート支援、機能追加、障害
対応...
✓ LTS向けのサポートも開始!
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 57
LTS向けサポートサービス
✓ LTSの導入、アップデート支援
環境をヒアリングし、導入・アップデート手順をサポート
✓ 脆弱性などの更新内容の通知・説明
セキュリティフィックスの内容と影響範囲
バグフィックスの内容と影響範囲
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 58
お問い合わせ
✓ サポートサービス
https://www.clear-code.com/services/fluentd-service.html
✓ お問い合わせ
https://www.clear-code.com/contact/
お気軽にお問い合わせください!
Fluent Package LTS
Powered by Rabbit 3.0.1
Page: 59
ぜひLTS版を
ご利用ください!