ELK - Logsta sh - Шаблон GROK: из следующего журнала я хочу извлечь весь журнал, начиная с {@timestamp - PullRequest
0 голосов
/ 13 июля 2020

13 июля, 03:19:38 tciapp bw / [o: 01E45HV1D7GGJQZ49AKS4NW7QV: o] [a: bkwjui6nb6i3xdp6zjvncbk77ukuoghk: a] [c: a188c69b8193 «timestamp»: «временная метка 10: c] : 19: 41.017 "," уровень ":" ИНФОРМАЦИЯ "," имя приложения ":" HZ3PLAUpdateService "," тип приложения ":" bw "," orgid ":" 01E45HV1D7GGJQZ49AKS4NW7QV "," appid ":" bkwjui6nbkzi3x, "экземпляр" «a188c69b8193», «message»: «[bwEngThread: In-Memory Process Worker-7] c .tbpgLTshared.LogInfo - {'@timestamp': '2020-07-13T03: 19: 41.012Z', 'client. domain ':' E ',' techem.propertynumber ':' 0015011257 ',' country ':' DE ',' module ':' HZ3_PLAUpdateService ',' log.level ':' info ',' message ':' Finished HZ3PLAUpdateService SOAP Запрос 0015011257 ',' error.message ':' ',' techem.pr.number ':' 0015/011257 ',' keys ': [{' key ':' pr.number.key ',' значение ':' 0015011257 '}]} "}

1 Ответ

0 голосов
/ 13 июля 2020

Найдите фильтрующую часть для вашей конфигурации logsta sh:

filter {
    grok {
      match => { "message" => "%{GREEDYDATA:logs} \- \{%{GREEDYDATA:KV}\} \"" }
      overwrite => [ "message" ]
          }

      kv {
           source => "KV"
           value_split => ":"
           field_split => ","
           target => "msg"
         }
  }

Я использовал Grok Debugger для фильтрации вашего сообщения журнала на две части. Здесь вы можете получить результат. enter image description here

Then, I have used KV Filter для разделения полей с их значениями.

Вы можете попробовать и проверить, работает ли он у вас или нет.

...