Fix up log rotation
Turns out this is a bit of a pain, and we found out via a full disk. Firstly, carbon wants to rotate it's own log files, but doesn't compress or cleanup. Disable this with ENABLE_LOGROTATION=False, which has been around for a while. This is copied from the upstream example config. Secondly, we were missing the console.log file. Change the rotate to just one for "*.log", and also add "sharedscripts" so the post-rotate is only run once per rotation of all files. Thirdly, copytruncate doesn't work [2]. It needs to be "nocreate"; the file is moved and carbon starts a new one (as suggested by the config comment). This is updated in the combined rotate section. [1] https://github.com/graphite-project/carbon/pull/68 [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733856 Change-Id: I946bb728971db79a2f4d08f2787c0768b958fb53
This commit is contained in:
parent
4a30897c05
commit
dfc94e4fd9
@ -176,37 +176,16 @@ class graphite(
|
|||||||
}
|
}
|
||||||
|
|
||||||
include ::logrotate
|
include ::logrotate
|
||||||
logrotate::file { 'querylog':
|
logrotate::file { 'graphite-carbon':
|
||||||
log => '/var/log/graphite/carbon-cache-a/query.log',
|
log => '/var/log/graphite/carbon-cache-a/*.log',
|
||||||
options => [
|
options => [
|
||||||
'compress',
|
'compress',
|
||||||
'copytruncate',
|
'nocreate',
|
||||||
'missingok',
|
|
||||||
'rotate 7',
|
|
||||||
'daily',
|
|
||||||
'notifempty',
|
|
||||||
],
|
|
||||||
}
|
|
||||||
logrotate::file { 'listenerlog':
|
|
||||||
log => '/var/log/graphite/carbon-cache-a/listener.log',
|
|
||||||
options => [
|
|
||||||
'compress',
|
|
||||||
'copytruncate',
|
|
||||||
'missingok',
|
|
||||||
'rotate 7',
|
|
||||||
'daily',
|
|
||||||
'notifempty',
|
|
||||||
],
|
|
||||||
}
|
|
||||||
logrotate::file { 'createslog':
|
|
||||||
log => '/var/log/graphite/carbon-cache-a/creates.log',
|
|
||||||
options => [
|
|
||||||
'compress',
|
|
||||||
'copytruncate',
|
|
||||||
'missingok',
|
'missingok',
|
||||||
'rotate 7',
|
'rotate 7',
|
||||||
'daily',
|
'daily',
|
||||||
'notifempty',
|
'notifempty',
|
||||||
|
'sharedscripts',
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,16 +71,8 @@ describe 'puppet-graphite module', :if => ['debian', 'ubuntu'].include?(os[:fami
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe file('/etc/logrotate.d/querylog') do
|
describe file('/etc/logrotate.d/graphite-carbon') do
|
||||||
its(:content) { should include '/var/log/graphite/carbon-cache-a/query.log' }
|
its(:content) { should include '/var/log/graphite/carbon-cache-a/*.log' }
|
||||||
end
|
|
||||||
|
|
||||||
describe file('/etc/logrotate.d/listenerlog') do
|
|
||||||
its(:content) { should include '/var/log/graphite/carbon-cache-a/listener.log' }
|
|
||||||
end
|
|
||||||
|
|
||||||
describe file('/etc/logrotate.d/createslog') do
|
|
||||||
its(:content) { should include '/var/log/graphite/carbon-cache-a/creates.log' }
|
|
||||||
end
|
end
|
||||||
|
|
||||||
describe file('/etc/statsd/config.js') do
|
describe file('/etc/statsd/config.js') do
|
||||||
|
@ -31,6 +31,10 @@ LOCAL_DATA_DIR = /var/lib/graphite/storage/whisper/
|
|||||||
#
|
#
|
||||||
#LOCAL_DATA_DIR = /opt/graphite/storage/whisper/
|
#LOCAL_DATA_DIR = /opt/graphite/storage/whisper/
|
||||||
|
|
||||||
|
# Enable daily log rotation. If disabled, a new file will be opened whenever the log file path no
|
||||||
|
# longer exists (i.e. it is removed or renamed)
|
||||||
|
ENABLE_LOGROTATION = False
|
||||||
|
|
||||||
# Specify the user to drop privileges to
|
# Specify the user to drop privileges to
|
||||||
# If this is blank carbon runs as the user that invokes it
|
# If this is blank carbon runs as the user that invokes it
|
||||||
# This user must have write access to the local data directory
|
# This user must have write access to the local data directory
|
||||||
|
Loading…
x
Reference in New Issue
Block a user