Zabbixからディスク容量不足の警告が来たため、原因を調査して対処しました。
問題の状況
/dev/sda1(20GB)が 93% 使用中(残り 1.6GB)という状態でした。
df -h
# /dev/sda1 xfs 20G 18G 1.6G 93% / 容量を圧迫していた原因
| 場所 | サイズ | 原因 |
|---|---|---|
/var/log/daemon.log | 5.8GB | logrotate設定なし |
/var/cache/apt/archives/ | 1.9GB | APTキャッシュ未クリア |
/var/log/messages | 587MB | 大きめだが許容範囲 |
解決方法
1. APTキャッシュのクリア
sudo apt clean これで /var/cache/apt/archives/ の約 1.9GB を回収。
2. daemon.log のlogrotate設定を追加
daemon.log は /etc/logrotate.d/rsyslog の対象外になっており、ローテーションされずに 5.8GB まで膨らんでいました。
sudo tee /etc/logrotate.d/daemon-log << 'EOF'
/var/log/daemon.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
EOF 強制ローテーションを実行:
sudo logrotate -f /etc/logrotate.d/daemon-log 3. 結果確認
df -h /dev/sda1
# /dev/sda1 xfs 20G 16G 3.5G 83% /
ls -lh /var/log/daemon.log*
# -rw-r----- 1 root adm 121 5月 23 09:35 /var/log/daemon.log
# -rw-r----- 1 root adm 5.8G 5月 23 09:35 /var/log/daemon.log.1 使用率が 93% → 83% に改善(残り 1.6GB → 3.5GB)。
Tips:
daemon.log.1 はまだ圧縮前の状態。次回のlogrotate実行時に .gz へ圧縮されさらに縮小されます。急ぎであれば sudo rm /var/log/daemon.log.1 で即時削除も可能。 追加対処:Datadog agent.log のlogrotate設定
/var/log/datadog/agent.log も肥大化する問題があるため、事前に対策しました。
Datadogエージェントはログファイルのファイルディスクリプタを保持し続けるため、通常のローテーション(ファイル移動+シグナル)では切り替えがうまく動かないことがあります。copytruncate を使うことでエージェントの再起動なしに安全にローテーションできます。
sudo tee /etc/logrotate.d/datadog-agent << 'EOF'
/var/log/datadog/agent.log
/var/log/datadog/process-agent.log
/var/log/datadog/trace-agent.log
/var/log/datadog/security-agent.log
/var/log/datadog/system-probe.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
copytruncate
}
EOF 設定のドライラン確認:
sudo logrotate -d /etc/logrotate.d/datadog-agent まとめ
-
apt cleanで 1.9GB 回収 -
daemon.logローテーションで 5.8GB 解消 - Datadog ログも今後自動ローテーションされるよう設定済み
- 合計で使用率 93% → 83% に改善