내가 사용하고 있는 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
#}