logrotate 設計
Pro会員限定上級約39分6レッスン
既存の設定を読み、logrotate -d で「今回どう判定されるか」を事前に確かめてから、アプリ用の設定を入れます。ローテーション後もアプリが古いファイルに書き続ける create の罠を lsof で見抜き、copytruncate と postrotate で直します。
対象者: ログでディスクが埋まった経験がある方 / 自作アプリのログを安全にローテーションしたい方
前提知識: シグナル・優先度・開いているファイル 修了程度
この教材を終えると、できるようになること
- logrotate の主なディレクティブの意味を説明し、logrotate -d の出力から今回ローテーションされるかどうかを読み取れるようになる。
- app 用の logrotate 設定を /etc/logrotate.d/ に置き、ドライランで対象ファイルを確認できるようになる。アプリがログを開きっぱなしにしていることを lsof で確認できるようになる。
- logrotate -f で強制的にローテーションし、lsof でアプリが退避後のファイル(app.log.1)を掴み続けていることを確認できるようになる。
- copytruncate の仕組みと弱点を説明し、設定を sed -i で直して、アプリが新しい app.log に書いていることを確認できるようになる。
- postrotate〜endscript で systemctl reload app を実行する設定を書き、アプリが新しい app.log を開き直したことと、status ファイルの記録を確認できるようになる。
修了後の姿: 障害の根本原因をログとコマンドで突き止められる、チームに頼られる運用エンジニアへ。
Chapter 1ログを回して、書き続けさせる
設定を読み、ドライランで確かめ、アプリが新しいファイルに書くことまで検証する。
Chapter 2確認クイズ
logrotate の設計と検証の理解度をチェック。