Я новичок в Grok, и мне нужно отфильтровать строку, как показано ниже:
Dec 20 18:46:00 server-04 script_program.sh[14086]: 2017-12-20 18:46:00 068611 +0100 - server-04.location-2 - 14086/0x00007f093b7fe700 - processname/SIMServer - 00000000173d9b6b - info - work: You have 2 connections running
Пока мне удалось получить следующее:
SYSLOGBASE %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:
Итак, я получаю все данные о дате/времени + программа + процесс, что нормально.
Но это оставляет мне следующую оставшуюся строку:
2017-12-20 18:46:00 068611 +0100 - server-04.location-2 - 14086/0x00007f093b7fe700 - processname/SIMServer - 00000000173d9b6b - info - work: You have 2 connections running
И вот я изо всех сил пытаюсь разбить все на куски.
Я пробовал много комбинаций, пытаясь разделить это на основе дефиса (-), но пока мне это не удается.
До сих пор я в значительной степени использовал в качестве руководства следующее:
https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns
Любая помощь/предложения/советы по этому поводу, пожалуйста? Я использую Graylog2 и, как показано выше, пытаюсь использовать GROK для фильтрации моих сообщений.
Большое спасибо