Как собрать и проанализировать ввод с помощью logstash - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть большие файлы журнала, которые каждые 15 секунд заполняются результатами теста сердцебиения.Например, один из этих файлов выглядит следующим образом:

2018-07-17 10:14:41.646166    TRACE    Service:Sales.API  Result:OK
2018-07-17 10:14:56.646166    TRACE    Service:Sales.API  Result:OK
2018-07-17 10:15:10.646166    TRACE    Service:Sales.API  Result:K0 >> KO I want to detect the
2018-07-17 10:15:24.646166    TRACE    Service:Sales.API  Result:OK
>> here some messages are missing : that I wan't to detect
2018-07-17 10:18:24.646166    TRACE    Service:Sales.API  Result:OK

Для целей мониторинга меня интересует только результат KO, и определяется, не запускается ли пинг сердцебиения:

Я хочу знать,существует известный шаблон для агрегирования этих входных данных и получения на выходе сводной информации следующим образом:

  • file1, цель: "Определить результат KO":

    2018-07-17 10: 15: 10.646166 TRACE Service: Sales.API Результат: K0

Для этого первого файла, я думаю, я мог бы использовать фильтр для вывода сообщения ko.

  • file2, цель: «Обнаружить сбой запуска системы пульса»:

    из служебного сообщения на уровень 2018-07-17 10: 15: 24.646166 2018-07-17 10:18:24.646166 TRACE Service: Sales.API HeartBeat пропустил

Для этого второго файла я играл с фильтром совокупности, но я не знаю, выполнимо ли это с кодом Jruby logstash ...

1 Ответ

0 голосов
/ 28 ноября 2018

Найти сообщение "K0" было бы просто, как вы описываете.

Что касается поиска пробела в ваших сообщениях, посмотрите плагин elapsed filter . Если вы можете получить правильную конфигурацию, она должна рассчитать время между событиями, которое должно быть именно тем, что вам нужно.

...