目次
Tailプラグインと転送履歴の保持
- fluentbitのtail inputプラグインはtail -f のように新しい行が追記されるごとにレコードを追加する機能です。
- このプラグインはSQLiteでログをどこまで転送したかの履歴をオフセットして持つことができます。
- どこまでログを転送していたか管理しておくことで障害復旧後に過不足なく対象ログを再転送することができます。
転送履歴の設定手順
設定手順はfluentbitの設定ファイルに以下を追記します。
[INPUT]
Path /var/log/messages
Tag messages
Name tail
DB /var/log/logs.db ★
上記の★のようにDBセクションとSQLiteファイルのパスを追記します。
設定ファイルを修正後にfluentbitを再起動すればOKです。
補足です、~/.sqliterc を以下に設定しておくことでSQLiteが見やすくなります。
.headers on
.mode column
.width 5 32 12 12 10
SQLiteに接続してオフセットを確認してみます。
# sqlite3 /var/log/logs.db
-- Loading resources from /root/.sqliterc
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from in_tail_files;
id name offset inode created rotated
----- -------------------------------- ------------ ------------ ---------- ----------
1 /var/log/messages 223265 12591962 1644380341 0
sqlite>