HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > CentOS7, Linuxtips, システム管理, ログ管理 > CentOS7でログ容量制限を設定する方法|journaldのSystemMaxUse設定と容量確認
「ログが増えすぎてディスクがいっぱいになった」「journaldの容量制限ってどう設定するの?」そんな悩みを持つエンジニアは多いです。
CentOS7から採用されたjournaldは、デフォルトでファイルシステムの10%をログ領域として確保します。
放置すると気づかないうちにディスクを圧迫し、サービス停止につながることがあります。
この記事では、journaldのログ容量制限の設定方法と、現在のログ使用量の確認コマンドを解説します。
【この記事でわかること】
・journaldとは?CentOS7のログ管理の仕組み
・journaldのログ容量制限を設定する方法
・その他の容量制限パラメータ
・古いログを手動で削除する方法
・journaldとは?CentOS7のログ管理の仕組み
・journaldのログ容量制限を設定する方法
・その他の容量制限パラメータ
・古いログを手動で削除する方法
「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 /
詳細はこちら
journaldとは?CentOS7のログ管理の仕組み
CentOS7から、ログ管理はsyslogからjournaldへと移行しました。journaldはsystemdの一部として動作し、カーネルログ・サービスログ・アプリケーションログを一元管理します。
journaldの主な特徴は以下の通りです。
・自動ログローテート:指定した最大容量を超えた古いログを自動削除します
・syslogとの連携:従来のrsyslogにログを転送する機能を持ちます
・カーネルログのサポート:カーネルバッファ(kmsg)からのログも統合管理します
デフォルトの容量制限はファイルシステムの10%ですが、
本番サーバーでは明示的に上限を設定しておくことが鉄則です。
journaldのログ容量制限を設定する方法
ログ容量の制限は、/etc/systemd/journald.conf の SystemMaxUse パラメータで設定します。
1. journald.confを編集する
viまたはnanoで設定ファイルを開きます。# vi /etc/systemd/journald.conf
[Journal] セクションに、以下の行を追加または変更します。[Journal] Storage=persistent SystemMaxUse=256M
Storage=persistent は、ログをディスク(/var/log/journal/)に永続保存する設定です。デフォルトの
auto だと、ディレクトリが存在しない場合はメモリ上にしか保存されません。容量の単位はK(キロバイト)、M(メガバイト)、G(ギガバイト)が使用できます。
編集が完了したら
:wq で保存します。
2. journaldサービスを再起動する
設定を反映させるには、journaldサービスを再起動します。# systemctl restart systemd-journald.service
3. 設定が反映されたか確認する
# journalctl --disk-usage Journals take up 24.0M on disk.
設定した256Mを超えることはなく、古いログから自動的に削除されます。
その他の容量制限パラメータ
journald.confには、SystemMaxUse 以外にも関連する設定があります。| パラメータ | 説明 | デフォルト |
|---|---|---|
SystemMaxUse |
ディスク上のジャーナル最大容量 | ファイルシステムの10% |
SystemKeepFree |
ディスクに残す最小空き容量 | ファイルシステムの15% |
SystemMaxFileSize |
個々のジャーナルファイルの最大サイズ | SystemMaxUseの1/8 |
RuntimeMaxUse |
メモリ上のジャーナル最大容量(tmpfs) | 物理メモリの10% |
実務では
SystemMaxUse と SystemKeepFree をセットで設定することで、ディスク空き容量を安全に確保できます。
古いログを手動で削除する方法
容量制限の設定とは別に、journalctl コマンドで古いログを手動削除できます。# 2週間以上前のログを削除する # journalctl --vacuum-time=2weeks # 100MB以上のログを削除する # journalctl --vacuum-size=100M
本記事のまとめ
| やりたいこと | コマンド/設定 |
|---|---|
| ログ容量制限を設定する | /etc/systemd/journald.conf の SystemMaxUse=256M |
| journaldを再起動する | systemctl restart systemd-journald.service |
| 現在のログ使用量を確認する | journalctl --disk-usage |
| 古いログを期間で削除する | journalctl --vacuum-time=2weeks |
| 古いログを容量で削除する | journalctl --vacuum-size=100M |
journaldの設定、これで終わりにしていませんか?
ログ管理は「設定して終わり」ではなく、定期的な確認と見直しが必要です。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
暗記不要・1時間後にはサーバーが動く
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
Linux無料マニュアル(図解60P)
名前とメールで30秒登録
