私が使用しているlogrotate構成を以下に見つけてください。
/usr/local/nagios/var/nagios.log {
copytruncate
daily
rotate 7
compress
missingok
size 100M
}
/var/lib/logrotate.status
ステータスファイルは現在の日付に基づいて毎日更新されることがわかります。ログファイルは回転せず、ディスクがいっぱいになるまでGB単位で増えます。
何が問題なのでしょうか?
答え1
問題は、Nagiosが終了または再起動されず、新しいログファイルに書き込まれ始めたことです。これはこれを行う方法のいくつかの例ですpostrotate
。
/var/log/nagios/nagios.log {
daily
rotate 180
compress
dateext
missingok
notifempty
sharedscripts
postrotate
/sbin/service nagios reload > /dev/null 2>/dev/null || true
endscript
}
あるいは、もっと簡単な方法もあります。
/var/log/nagios/nagios.log {
missingok
postrotate
/bin/kill -HUP `cat /var/run/nagios.pid 2> /dev/null` 2> /dev/null || true
endscript
}
Nagiosにさせてください
しかし、最新バージョンのNagiosでは、実際には独自のログファイルを回転させます。含まれているlogrotate構成ファイルもこれを示しています。
Fedora 19にNagiosバージョン3.5.1-1をインストールします。
$ more /etc/logrotate.d/nagios
# Important! Nagios rotates its own logs. Only enable this logrotate if you
# know what you are doing!
# For more information please see "log_rotate_method" in:
# /etc/nagios/nagios.cfg
# ----- logrotate config -------------
#/var/log/nagios/*.log {
# missingok
# weekly
# notifempty
# nocompress
# create 644 nagios nagios
#}