Logrotateが異常に動作します。

Logrotateが異常に動作します。

私が使用している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
#}

関連情報