Некоторое время назад мы начали готовиться к анализу почтовых журналов . Продолжим подготовку.
Используем logstash для парсинга сообщения на поля.
Тут нет ничего интересного и сложного. Вот часть файла конфигурации (/etc/logstash/conf.d/filter.conf), разбирающая сообщения, формируемые в предыдущей заметке :
Используем logstash для парсинга сообщения на поля.
Тут нет ничего интересного и сложного. Вот часть файла конфигурации (/etc/logstash/conf.d/filter.conf), разбирающая сообщения, формируемые в предыдущей заметке :
...
else if [message] =~ "Secure_Maillog" {
mutate { replace => { "type" => "maillog" } }
grok {
patterns_dir => "/etc/logstash/patterns"
match => ["message", "<134>%{SYSLOGTIMESTAMP}s+%{SYSLOGHOST:sourcehost}
s+%{WORD:syslogprog}:s+%{NUMBER:timestamp}t%{EMAIL:source}
t%{EMAIL:destination}t%{NUMBER:size:int}t%{GREEDYDATA:subject}"]
}
date {
match => ["timestamp", "UNIX"]
}
}
....
В "/etc/logstash/patterns" хранятся файлы с шаблонами. В частности файл "/etc/logstash/patterns/mail" состоит из следующих строк:
LOGIN [A-Za-z0-9$.+!*'(),~#%&/=:;_-]+
EMAIL %{LOGIN}@%{IPORHOST}
GREEDYDATA .*
На сегодня все.