Запрос Kibana / Elastic Regex не возвращает результатов - PullRequest
0 голосов
/ 02 мая 2018

Logstash получает файлы системного журнала, а затем сохраняет их в индексе Elasticsearch.

Мы пытаемся запросить этот индекс в Kibana, чтобы найти какую-то конкретную информацию, но мы не можем заставить работать запросы регулярных выражений.

Ниже указана дата регистрации, в которой мы пытаемся выполнить поиск.

  • Имя поля = сообщение
  • Тип поля = ключевое слово

<14> 1 2018-05-02T13: 53: 48.079000Z snrvro04 vco - - [liagent @ 6876 anctoken = "" component = "WorkflowManagementServiceImpl" context = "" путь_к_файл = "/ Var / Журнал / VCO / приложение-сервер / интеграции-server.log" InstanceID = "6a6dbf1d-2f72-45db-ab57-04b84aa97b90" log_message = "Рабочий процесс" Получить идентификатор Рабочий процесс / 8f59ca66-7472-4efa-ac5f-dfc34059c5f1 'обновлен (с content). "priority =" INFO "product =" vro "token =" "user =" "wfid =" " wfname = "" wfstack = ""] 2018-05-02 13: 53: 48.079 + 0000 vco: [component = "WorkflowManagementServiceImpl" priority = "INFO" thread = "https-jsse-nio-0.0.0.0-8281-exec-7" user = "" context = "" token = "" wfid = "" wfname = "" anctoken = "" wfstack = "" instanceid = "6a6dbf1d-2f72-45db-ab57-04b84aa97b90"] Рабочий процесс 'Получить идентификатор Рабочий процесс / 8f59ca66-7472-4efa-ac5f-dfc34059c5f1 'обновлен (с содержимым).

Информация, которую мы пытаемся найти:

компонент = "WorkflowManagementServiceImpl"

И что еще важнее:

Рабочий процесс 'Получить идентификатор рабочего процесса / 8f59ca66-7472-4efa-ac5f-dfc34059c5f1'

Верхние критерии всегда должны быть одинаковыми, но имя и идентификатор рабочего процесса изменятся. Единственная часть, которая остается неизменной в этом бите текста, это Рабочий процесс ' и окончательный '

В настоящее время мы пытаемся выполнить наши запросы к имени и идентификатору рабочего процесса, чтобы выяснить, можем ли мы соответствовать этому, но наши запросы не возвращают результатов.

Регулярное выражение, которое у нас сейчас есть, выглядит следующим образом, и мы пробовали множество альтернатив.

/(?<=Workflow '.*\/)(.*')/

Если мы запустим поиск * Рабочий процесс * (подстановочный знак, без пробелов) - он возвращает все со словом Рабочий процесс, как и ожидалось.

Если мы запустим поиск Рабочий процесс , мы не получим результатов.

Если кто-нибудь может дать указание на то, где мы идем не так или запутались, это было бы здорово!

Спасибо

1 Ответ

0 голосов
/ 10 мая 2018

Мы решили эту проблему с помощью фильтров Grok в Logstash для организации / очистки данных до того, как они попадут в индексы Elasticsearch, после чего мы смогли успешно выполнить поиск в Kibana.

...