8.2. systemd-journald および Fluentd の設定
Fluentd のジャーナルからの読み取りや、ジャーナルのデフォルト設定値は非常に低く、ジャーナルがシステムサービスからのロギング速度に付いていくことができないためにジャーナルエントリーが失われる可能性があります。
ジャーナルでエントリーが失われるのを防ぐことができるように RateLimitIntervalSec=30s および RateLimitBurst=10000 (必要な場合はさらに高い値) を設定することが推奨されます。
8.2.1. OpenShift Logging 用の systemd-journald の設定 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトのスケールアップ時に、デフォルトのロギング環境にはいくらかの調整が必要になる場合があります。
たとえば、ログが見つからない場合は、journald の速度制限を引き上げる必要がある場合があります。一定期間保持するメッセージ数を調整して、OpenShift Logging がログをドロップせずに過剰なリソースを使用しないようにすることができます。
また、ログを圧縮する必要があるかどうか、ログを保持する期間、ログを保存する方法、ログを保存するかどうかやその他の設定を決定することもできます。
手順
必要な設定で
/etc/systemd/journald.confファイルが含まれる Butane 設定ファイル40-worker-custom-journald.buを作成します。注記設定ファイルで指定する Butane のバージョン は、OpenShift Container Platform のバージョンと同じである必要があり、末尾は常に
0です。たとえば、4.20.1 などです。Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
journald.confファイルのパーミッションを設定します。0644パーミッションを設定することが推奨されます。- 2
- ログがファイルシステムに書き込まれる前にそれらのログを圧縮するかどうかを指定します。
yesを指定してメッセージを圧縮するか、noを指定して圧縮しないようにします。デフォルトはyesです。 - 3
- ログメッセージを転送するかどうかを設定します。それぞれについて、デフォルトで
noに設定されます。以下を指定します。-
ForwardToConsole: ログをシステムコンソールに転送します。 -
ForwardToKMsg: ログをカーネルログバッファーに転送します。 -
ForwardToSyslog: syslog デーモンに転送します。 -
ForwardToWall: メッセージを wall メッセージとしてすべてのログインしているユーザーに転送します。
-
- 4
- ジャーナルエントリーを保存する最大時間を指定します。数字を入力して秒数を指定します。または、"year"、"month"、"week"、"day"、"h" または "m" などの単位を含めます。無効にするには
0を入力します。デフォルトは1monthです。 - 5
- レート制限を設定します。
RateLimitIntervalSecで定義される期間に、RateLimitBurstで指定される以上のログが受信される場合、この期間内の追加のメッセージはすべてこの期間が終了するまでにドロップされます。デフォルト値であるRateLimitIntervalSec=30sおよびRateLimitBurst=10000を設定することが推奨されます。 - 6
- ログの保存方法を指定します。デフォルトは
persistentです。-
volatile:/run/log/journal/のメモリーにログを保存します。これらのログは再起動後に失われます。 -
persistent: ログを/var/log/journal/のディスクに保存します。systemd は存在しない場合はディレクトリーを作成します。 -
auto: ディレクトリーが存在する場合に、ログを/var/log/journal/に保存します。存在しない場合は、systemd はログを/run/systemd/journalに一時的に保存します。 -
none: ログを保存しません。systemd はすべてのログをドロップします。
-
- 7
- ERR、WARNING、NOTICE、INFO、および DEBUG ログについてジャーナルファイルをディスクに同期させるまでのタイムアウトを指定します。systemd は、CRIT、ALERT、または EMERG ログの受信後すぐに同期を開始します。デフォルトは
1sです。 - 8
- ジャーナルが使用できる最大サイズを指定します。デフォルトは
8Gです。 - 9
- systemd が残す必要のあるディスク領域のサイズを指定します。デフォルトは
20%です。 - 10
/var/log/journalに永続的に保存される個別のジャーナルファイルの最大サイズを指定します。デフォルトは10Mです。注記レート制限を削除する場合、システムロギングデーモンの CPU 使用率が高くなることがあります。以前はスロットリングされていた可能性のあるメッセージが処理されるためです。
systemd 設定の詳細は、https://www.freedesktop.org/software/systemd/man/journald.conf.html を参照してください。このページに一覧表示されるデフォルト設定は OpenShift Container Platform には適用されない可能性があります。
Butane を使用して、ノードに配信される設定を含む
MachineConfigオブジェクトファイル (40-worker-custom-journald.yaml) を生成します。butane 40-worker-custom-journald.bu -o 40-worker-custom-journald.yaml
$ butane 40-worker-custom-journald.bu -o 40-worker-custom-journald.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow マシン設定を適用します。以下に例を示します。
oc apply -f 40-worker-custom-journald.yaml
$ oc apply -f 40-worker-custom-journald.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーは新規の
MachineConfigオブジェクトを検出し、新規のrendered-worker-<hash>バージョンを生成します。新規のレンダリングされた設定の各ノードへのロールアウトのステータスをモニターします。
oc describe machineconfigpool/worker
$ oc describe machineconfigpool/workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow