Mam drupal watchdog plik syslog, który chcę analizować pod zasadniczo dwa pola zagnieżdżonych, syslog część i część wiadomości tak, aby uzyskać ten wynikmieć filtr grok tworzyć pola zagnieżdżone w wyniku
syslogpart: {
timestamp: "",
host: "",
...
},
messagepart:{
parsedfield1: "",
parsedfield2: "",
...
}
Próbowałem wykonaniem niestandardowego wzór, który wygląda tak:
DRUPALSYSLOG (%{SYSLOGTIMESTAMP:date} %{SYSLOGHOST:logsource} %{WORD:program}: %{URL:domain}\|%{EPOCH:epoch}\|%{WORD:instigator}\|%{IP:ip}\|%{URL:referrer}\|%{URL:request}\|(?<user_id>\d+)\|\|)
a następnie uruchomić match => ['message', '%{DRUPALSYSLOG:drupal}'}
ale nie dostaję zagnieżdżonej odpowiedzi, otrzymuję blokadę tekstu drupal: "ALL THE MATCHING FIELDS IN ONE STRING"
, a następnie wszystkie dopasowania oddzielnie, ale nie zagnieżdżone pod drupalem, ale raczej na tym samym poziomie.
Składnia wspornik jest obsługiwana bezpośrednio w definicji wzorca. Nie ma potrzeby mutacji/zmiany nazwy! Zobacz odpowiedź Juliena poniżej. –