logging: ensure virtlogd rollover takes priority over logrotate

The virtlogd config is set to rollover logs every 2 MB.

Normally a logrotate config file is also installed to handle cases where
virtlogd is disabled. This is set to rollover weekly with no size
constraint.

As a result logrotate can interfere with virtlogd's, rolling over files
that virtlogd has already taken care of.

This changes logrotate configs to rollover based on a max size
constraint of 2 MB + 1 byte. When virtlogd is running the log files will
never get this large, making logrotate a no-op.

If the user changes the size in virtlogd's config to something larger,
they are responsible for also changing the logrotate config suitably.

The LXC/libxl drivers don't use virtlogd, but there logrotate config is
altered to match the QEMU driver config, for the sake of consistency.

Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2019-07-05 10:32:53 +01:00
parent 1939bcd539
commit 975b004d07
4 changed files with 17 additions and 3 deletions

View File

@ -90,6 +90,12 @@
#admin_max_clients = 5
# Maximum file size before rolling over. Defaults to 2 MB
#
# Beware that a logrotate config file might be installed too,
# to handle cases where virtlogd is disabled. To ensure that
# the logrotate config is a no-op when virtlogd is running,
# make sure that max_size here is smaller than size listed
# in the logrotate config.
#max_size = 2097152
# Maximum number of backup files to keep. Defaults to 3,

View File

@ -1,5 +1,5 @@
@localstatedir@/log/libvirt/libxl/*.log {
weekly
size 2097153
missingok
rotate 4
compress

View File

@ -1,5 +1,5 @@
@localstatedir@/log/libvirt/lxc/*.log {
weekly
size 2097153
missingok
rotate 4
compress

View File

@ -1,5 +1,13 @@
@localstatedir@/log/libvirt/qemu/*.log {
weekly
# The QEMU driver is configured to use virtlogd by
# default, which will perform log rollover.
# This logrotate config is still installed for cases
# where the user has switched off virtlogd.
#
# If virtlogd is active, ensure that size here is
# larger than 'max_size' in the virtlogd config
# so that logrotate becomes a no-op
size 2097153
missingok
rotate 4
compress