[Openstack-operators] [Nova][icehouse]Any way to rotating log by size

Zhang, Peng zhang.peng at jp.fujitsu.com
Fri Oct 14 00:01:02 UTC 2016


Hi guys,

Our disk of Nova controller has been filled with log files several times and it causes the node down.
Although log rotation of Operation system is working fine to make rotation every hour, it is not efficient.
Has anyone got any idea to rotate log files by size (e.g. 100MB) ?

It costs time to add a new log achieve server, therefore a temporary solution should be considered.

Best regards
From: Peng, Zhang

FYI: My own solution(not a good one) is shared here:
Referring to the document : http://docs.openstack.org/developer/oslo.log/configfiles/example_nova.html
I have found a way using python logging modules.

I added a configuration file as follows under /etc/nova/ directory:

File name: logging.conf
[DEFAULT]
logfile =/var/log/nova/api.log

[loggers]
keys = root

[handlers]
keys = rotatingfile

[formatters]
keys = context

[logger_root]
level = DEBUG
handlers = rotatingfile

[handler_rotatingfile]
class = handlers.RotatingFileHandler
args = (%(logfile)s, 'a', 5024000, 5)
formatter = context

[formatter_context]
class = nova.openstack.common.log.ContextFormatter

And I also changed this parameter in nova.conf to make nova use the above configuration:
log_config_append=/etc/nova/logging.conf

Everything seems going well except that all nova services such as api, scheduler, etc. begin
to put their log messages into the same file(api,log)!

So I have to put a script to replace the file name defined in DEFAULT session:
logfile = '%s.log' % (os.path.join('/var/log', *os.path.basename(__import__('inspect').stack()[-1][1]).split('-')))

It works but it’s also weird.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-operators/attachments/20161014/8359a5df/attachment-0001.html>


More information about the OpenStack-operators mailing list