Bertrand Lallau 38a6d30411 Fluentd: manage multiline log pattern
Actual Fluentd config doesn't manage multiline log pattern like:

2017-08-16 21:41:03.097 7 WARNING oslo_config.cfg [-] Option "firewall_driver" from group "DEFAULT" is deprecated for removal (
nova-network is deprecated, as are any related configuration options.
). Its value may be silently ignored in the future.

This log will generate 1 Fluentd event for each line (in previous
example 3 events).
This is really a wrong behaviour and made Kibana interface not friendly.
This patch uses a multiline parser.

Change-Id: Iee337645d1dc42876ec79be08ee3715f11a53d87
Closes-Bug: #1711399
2017-09-04 08:58:17 +00:00

55 lines
2.1 KiB
Django/Jinja

#jinja2: trim_blocks: False
{% set fluentd_dir = 'td-agent' if kolla_base_distro in ['ubuntu', 'debian'] else 'fluentd' %}
{% set services = [
( 'aodh', enable_aodh ),
( 'barbican', enable_barbican ),
( 'ceilometer', enable_ceilometer ),
( 'cinder', enable_cinder ),
( 'cloudkitty', enable_cloudkitty ),
( 'congress', enable_congress ),
( 'designate', enable_designate ),
( 'freezer', enable_freezer ),
( 'glance', enable_glance ),
( 'gnocchi', enable_gnocchi ),
( 'heat', enable_heat ),
( 'horizon', enable_horizon ),
( 'ironic', enable_ironic ),
( 'karbor', enable_karbor ),
( 'keystone', enable_keystone ),
( 'kuryr', enable_kuryr ),
( 'magnum', enable_magnum ),
( 'manila', enable_manila ),
( 'mistral', enable_mistral ),
( 'mongodb', enable_mongodb ),
( 'murano', enable_murano ),
( 'neutron', enable_neutron ),
( 'nova', enable_nova ),
( 'octavia', enable_octavia ),
( 'opendaylight', enable_opendaylight ),
( 'panko', enable_panko ),
( 'rally', enable_rally ),
( 'sahara', enable_sahara ),
( 'searchlight', enable_searchlight ),
( 'senlin', enable_senlin ),
( 'solum', enable_solum ),
( 'tacker', enable_tacker ),
( 'trove', enable_trove ),
( 'watcher', enable_watcher ),
( 'zun', enable_zun )
] %}
<source>
@type tail
path {% for service, enabled in services if enabled | bool %}/var/log/kolla/{{ service }}/*.log{% if not loop.last %},{% endif %}{% endfor %}
exclude_path ["/var/log/kolla/neutron/dnsmasq.log",
"/var/log/kolla/*/*-access.log",
"/var/log/kolla/*/*-error.log"]
pos_file /var/run/{{ fluentd_dir }}/kolla-openstack.pos
tag kolla.*
format multiline
format_firstline /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3} \d+ \S+ \S+ \[(req-\S+ \S+ \S+ \S+ \S+ \S+|-)\]/
format1 /^(?<Timestamp>\S+ \S+) (?<Pid>\d+) (?<log_level>\S+) (?<python_module>\S+) (\[(req-(?<request_id>\S+) (?<user_id>\S+) (?<tenant_id>\S+) (?<domain_id>\S+) (?<user_domain>\S+) (?<project_domain>\S+)|-)\])? (?<Payload>.*)?$/
time_key Timestamp
time_format %F %T.%L
ignore_repeated_permission_error true
</source>