diff options
| author | Éric Lemoine <elemoine@mirantis.com> | 2016-02-26 14:50:32 +0100 |
|---|---|---|
| committer | Éric Lemoine <elemoine@mirantis.com> | 2016-02-26 14:50:32 +0100 |
| commit | 95cf542f8d5a28ae726b6864d61672982c645510 (patch) | |
| tree | 7b07d319b4a4efd89229224e88e88a8d8ae2e3d2 | |
| parent | 287e4faf99c2fe7a5d0a57334df35a6dc5e71f72 (diff) | |
| download | kolla-95cf542f8d5a28ae726b6864d61672982c645510.tar.gz kolla-95cf542f8d5a28ae726b6864d61672982c645510.zip | |
Fix parsing of RabbitMQ logs
Currently Heka fails to parse the RabbitMQ logs. There are two
problems:
1. The rabbit-sasl.log file is ignored but the file_match expression
does not match.
2. The delimiter used in the RegexSplitter makes Heka stop on the
very first log entry. '\n\n(=[^=]+====' (with two \n's) is
a better delimiter. deliver_incomplete_final is used to get the
final log entry.
TrivialFix
Change-Id: I94720340d5b2d6fd5d7641b9ff58733f6cd882ee
| -rw-r--r-- | ansible/roles/common/templates/heka-rabbitmq.toml.j2 | 7 | ||||
| -rw-r--r-- | docker/heka/plugins/decoders/os_rabbitmq_log.lua | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/ansible/roles/common/templates/heka-rabbitmq.toml.j2 b/ansible/roles/common/templates/heka-rabbitmq.toml.j2 index 014c75113..d8e16ec3b 100644 --- a/ansible/roles/common/templates/heka-rabbitmq.toml.j2 +++ b/ansible/roles/common/templates/heka-rabbitmq.toml.j2 @@ -4,13 +4,14 @@ filename = "lua_decoders/os_rabbitmq_log.lua" [rabbitmq_log_splitter] type = "RegexSplitter" -delimiter = '\n(=[^=]+====)' +delimiter = '\n\n(=[^=]+====)' delimiter_eol = false +deliver_incomplete_final = true [rabbitmq_logstreamer_input] type = "LogstreamerInput" decoder = "rabbitmq_log_decoder" splitter = "rabbitmq_log_splitter" log_directory = "/var/log/kolla" -file_match = 'rabbitmq/rabbit*\.log' -differentiator = ['rabbitmq'] +file_match = 'rabbitmq/(?P<Service>rabbit.*)\.log' +differentiator = ["Service"] diff --git a/docker/heka/plugins/decoders/os_rabbitmq_log.lua b/docker/heka/plugins/decoders/os_rabbitmq_log.lua index 44d2bc44f..5ce6c65fc 100644 --- a/docker/heka/plugins/decoders/os_rabbitmq_log.lua +++ b/docker/heka/plugins/decoders/os_rabbitmq_log.lua @@ -54,6 +54,8 @@ function process_message () msg.Timestamp = m.Timestamp msg.Payload = m.Message + msg.Logger = read_message("Logger") + if utils.label_to_severity_map[m.SeverityLabel] then msg.Severity = utils.label_to_severity_map[m.SeverityLabel] elseif m.SeverityLabel == 'CRASH' then |
