Перейти к основному содержимому
Версия: 6.0

Поиск по инцидентам

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

Менеджер инцидентов

Поиск

Поле Поиск позволяет осуществлять поиск по инцидентам по их названию, описанию или другим атрибутам. Чтобы воспользоваться поиском, необходимо:

  1. Ввести поисковый запрос в поле Поиск
  2. Нажать Enter

Поиск

Поиск по инцидентам поддерживает полнотекстовый поиск и поиск по конкретному полю. Условия можно комбинировать при помощи ключевых слов AND и OR.

подсказка

Ключевое слово AND можно опустить, пробел по умолчанию считается за AND.

Пример простого поиска

Требуется найти все инциденты, в которых упоминается пользователь petrov.f или инцидент связан с Exchange. Для выполнения этого поиска требуется ввести в поисковую строку следующий запрос:

petrov.f OR Exchange

Расширенный пример

Требуется найти все инциденты, в которых поле status равно error или done, в инциденте упоминается пользователь petrov.f и потенциальный ущерб равен 100. Для выполнения этого поиска требуется ввести в поисковую строку следующий запрос:

petrov.f (status=error OR status=done) AND damage=100
подсказка

В этом примере между условиями petrov.f и (status=error or status=done) опущено слово and.

Подстановка системных полей в поиск

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

При добавлении нескольких полей для поиска они будут разделяться с помощью ключевого слова AND. Подстановка работает для:

  • Дополнительных полей
  • Деталей инцидента
  • Мета-информации (за исключением связанных заметок)
  • Истории (поиск по комментариям)

Ошибка превышения лимита maxClauseCount

При использовании сложных конструкций поиска (например, при поиске строк с пробелами) можно встретить ошибку превышения лимита maxClauseCount:

Ошибка агрегации результатов

Вывод из Консоли разработчика в браузере со вкладки Network - Response:

{
"statusCode": 503,
"error": "Service Unavailable",
"message": "Error while search incidents and aggregations: SearchPhaseExecutionException[all shards failed]; nested: SMException[Query contains too many nested clauses; maxClauseCount is set to 1024]; nested: TooManyNestedClauses[Query contains too many nested clauses; maxClauseCount is set to 1024]; "
}

Данная ошибка означает превышение количества условий в запросе для поиска. Если используется строка состоящая из нескольких слов, не обернутая в двойные кавычки, например строка вида: Find incidents error, поиск работает следующим образом:

field1 = "Find" OR field2="Find" OR field3="Find" OR field1="incidents"...

Такой подход приводит к перебору всех полей, содержащихся в индексе .smos_incidents-*. Если таких полей много, а строка поиска содержит множество слов, разделенных пробелами, это может привести к превышению лимита maxClauseCount, который по умолчанию установлен в значение 1024.

Важно

Можно увеличить значение maxClauseCount, но делать этого настоятельно не рекомендуется. Увеличение данного лимита может привести к увеличенному потреблению ЦП и ОЗУ.

Чтобы избежать возникновения данной ошибки, рекомендуется использовать более точные условия поиска. Строки, содержащие пробелы, следует заключать в двойные кавычки, чтобы поисковая система интерпретировала их как единое целое:

"Find incidents error"

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

  • для поиска только по дополнительным полям в карточке инцидента:
'fields.*' = "Find incidents error"
  • для поиска в описании инцидента:
'incident_description' = "Find incidents error"
  • для поиска в заголовке:
'incident_title' = "Find incidents error"
  • или объединенный запрос:
'fields.*' = "Find incidents error" OR 'incident_title' = "Find incidents error" OR 'incident_title' = "Find incidents error"

Фильтры

Дополнительно к поиску можно применять фильтрацию. Инцидент попадет в итоговую выборку при условии, если он соответствует поисковой строке и каждому активному фильтру. В Менеджере инцидентов доступны следующие фильтры:

  • Временной фильтр - выпадающий список позволяет фильтровать инциденты по дате и времени их возникновения
  • Критичность - выпадающий список позволяет фильтровать инциденты по уровню их важности (например, Тревога, Норма)
  • Workflow - выпадающий список позволяет фильтровать инциденты по определенному сценарию обработки или стадии жизненного цикла
  • Статус - выпадающий список позволяет фильтровать инциденты по их текущему состоянию (например, Новый, В работе, Закрыт)
  • Ответственный - выпадающий список позволяет фильтровать инциденты по назначенному ответственному лицу
  • Теги - выпадающий список позволяет фильтровать инциденты по назначенным тегам

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

Динамические фильтры

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


Настройка отображения

В Менеджере инцидентов также есть возможность настройки отображения списка инцидентов. В верхней части интерфейса существует два переключателя:

  • Показывать теги - позволяет отображать или скрывать теги инцидентов
  • Группировать инциденты - позволяет группировать инциденты или отображать их по одному