Я только что установил стек ELK для моих журналов apache.Работает отлично.Теперь я хочу добавить почтовые журналы в микс, и у меня возникают проблемы при разборе журналов с помощью grok.
Я использую этот сайт для отладки: https://grokdebug.herokuapp.com/
Вот примерзапись в maillog (sendmail):
Apr 24 19:38:51 ip-10-0-1-204 sendmail[9489]: w3OJco1s009487: to=<username@domain.us>, delay=00:00:01, xdelay=00:00:01, mailer=smtp, pri=120318, relay=webmx.bglen.net. [10.0.3.231], dsn=2.0.0, stat=Sent (Ok: queued as E2DEF60724), w3OJco1s009487: to=<username@domain.us>, delay=00:00:01, xdelay=00:00:01, mailer=smtp, pri=120318, relay=webmx.[redacted].net. [10.0.3.231], dsn=2.0.0, stat=Sent (Ok: queued as E2DEF60724)
Из вышеприведенного текста я хочу вытащить текст to=<username@domain.us>
.
Пока у меня есть это для шаблона Грока:
(?<mail_sent_to>[a-zA-Z0-9_.+=:-]+@[0-9A-Za-z][0-9A-Za-z-]{0,62}(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*)
Это дает мне результат username@domain.us>
, что приятно, но я хочу, чтобы он также имел to=
на передней панели.И я только хочу, чтобы этот фильтр grok соответствовал адресам электронной почты, перед которыми стоит to=
.
Я пробовал это, но в результате я получил "нет совпадений":
(?<mail_sent_to>"to="[a-zA-Z0-9_.+=:-]+@[0-9A-Za-z][0-9A-Za-z-]{0,62}(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*)