Logrotate se comportando inesperadamente

2

Encontre abaixo a configuração do logrotate que estou usando

/usr/local/nagios/var/nagios.log {
    copytruncate
    daily
    rotate 7
    compress
    missingok
    size 100M
}

E percebi que o arquivo de status /var/lib/logrotate.status está sendo atualizado com a data atual diariamente, mas o arquivo de registro não está sendo rotacionado e está crescendo em GB até o disco ser preenchido.

Qual seria o problema?

    
por pprakash 30.05.2014 / 20:44

1 resposta

2

O problema é que o Nagios nunca é morto / reiniciado para que ele inicie o log em um novo arquivo de log. Aqui estão alguns exemplos que mostram como você faria a ação 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
}

Ou algo mais direto:

/var/log/nagios/nagios.log {
    missingok
    postrotate
        /bin/kill -HUP 'cat /var/run/nagios.pid 2> /dev/null' 2> /dev/null || true
    endscript
}

Deixando o Nagios fazer isso

No entanto, nas versões mais recentes do Nagios, ele irá rotacionar seus próprios arquivos de log. O arquivo de configuração logrotate incluso até informa isso.

Em uma instalação do Fedora 19 do Nagios versão 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
#}
    
por 30.05.2014 / 23:14