У меня есть небольшой Java приложение, которое загружает журналы, похожие на эти те ниже:я не знаю, как фильтровать мой файл журнала с Grok и logstash
Fri May 29 12:10:34 BST 2015 Trade ID: 2 status is :received
Fri May 29 14:12:36 BST 2015 Trade ID: 4 status is :received
Fri May 29 17:15:39 BST 2015 Trade ID: 3 status is :received
Fri May 29 21:19:43 BST 2015 Trade ID: 3 status is :Parsed
Sat May 30 02:24:48 BST 2015 Trade ID: 8 status is :received
Sat May 30 08:30:54 BST 2015 Trade ID: 3 status is :Data not found
Sat May 30 15:38:01 BST 2015 Trade ID: 3 status is :Book not found
Sat May 30 23:46:09 BST 2015 Trade ID: 6 status is :received
я хочу использовать ELK стек анализировать свои журналы и фильтровать их. Мне хотелось бы как минимум 3 фильтра: дата и время, торговый идентификатор и статус.
В фильтрующей части моего файла конфигурации logstash здесь является то, что я сделал:
filter {
grok {
match => { "message" => "%{DAY} %{MONTH} %{DAY} %{TIME} BST %{YEAR} Trade ID: %{NUMBER:tradeId} status is : %{WORD:status}" }
}
И на данный момент я не могу фильтровать журналы, как я хочу.
Просьба уточнить текущее и ожидаемое поведение фильтра. Высказывание «это не работает» не помогает. – ryanyuyu
Во-первых, ваш шаблон говорит: «status is:», но после двоеточия в ваших образцах данных нет места. Используйте отладчик grok. –
На данный момент мой фильтр может видеть только метку времени. нет тегов относительно tradeId и статуса. И я хочу, чтобы на них тоже были теги. Я действительно начинаю в ELK, можете ли вы предоставить рабочий файл конфигурации? – BYoussef