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
#}

관련 정보