Содержание
Фильтрация и поиск событий
По умолчанию в разделе События веб-интерфейса KUMA данные не отображаются. Для просмотра событий в поле поиска нужно задать SQL-запрос и нажать на кнопку . SQL-запрос можно ввести вручную или сформировать с помощью конструктора запросов.
В SQL-запросах поддерживается агрегирование и группировка данных.
Вы можете добавить условия фильтрации в уже сформированный SQL-запрос в окне просмотра статистики, таблицы событий и области деталей событий:
- Изменение запроса из окна статистики
- Изменение запроса из таблицы событий
- Изменение запроса из области деталей события
После изменения запроса все параметры запроса, включая добавленные условия фильтрации, переносятся в конструктор и строку поиска.
Параметры запроса, введенного вручную в строке поиска, при переключении на конструктор не переносятся в конструктор: вам требуется создать запрос заново. При этом запрос, созданный в конструкторе, не перезаписывает запрос, введенный в строке поиска, пока вы не нажмете на кнопку Применить в окне конструктора.
В поле ввода SQL-запроса можно включить отображение непечатаемых символов.
События можно также фильтровать по временному периоду. Результаты поиска можно автоматически обновлять.
Конфигурацию фильтра можно сохранить. Существующие конфигурации фильтров можно удалить.
Функции фильтрации доступны пользователям всех ролей.
Подробнее об SQL см. в справке ClickHouse. Также см. использование операторов в KUMA и поддерживаемые функции.
Формирование SQL-запроса с помощью конструктора
В KUMA вы можете сформировать SQL-запрос для фильтрации событий с помощью конструктора запросов.
Чтобы сформировать SQL-запрос с помощью конструктора:
- В разделе События веб-интерфейса KUMA нажмите на кнопку
.
Откроется окно конструктора запросов.
- Сформулируйте поисковый запрос, указав данные в следующих блоках параметров:
SELECT – поля событий, которые следует возвращать. По умолчанию выбрано значение *, означающее, что необходимо возвращать все доступные поля события. Чтобы вам проще было просматривать результаты поиска, в раскрывающемся списке вы можете выбрать необходимые поля, тогда в таблице будут отображаться данные только для выбранных полей. Стоит учитывать, что Select * в запросе увеличивает длительность выполнения запроса, но избавляет от необходимости прописывать поля в запросе вручную.
Выбрав поле события, вы можете в поле справа от раскрывающегося списка указать псевдоним для столбца выводимых данных, а в крайнем правом раскрывающемся списке можно выбрать операцию, которую следует произвести над данными: count, max, min, avg, sum.
Если вы используете в запросе функции агрегации, настройка отображения таблицы событий, сортировка событий по возрастанию и убыванию, а также получение статистики недоступны.
В режиме детализированного анализа при фильтрации по событиям, связанным с алертами, невозможно производить операции над данными полей событий и присваивать названия столбцам выводимых данных.
- FROM – источник данных. Выберите значение events.
- WHERE – условия фильтрации событий.
Условия и группы условий можно добавить с помощью кнопок Добавить условие и Добавить группу. По умолчанию в группе условий выбрано значение оператора AND, однако если на него нажать, оператор можно изменить. Доступные значения: AND, OR, NOT. Структуру условий и групп условий можно менять, перетаскивая выражения с помощью мыши за значок
.
Добавление условий фильтра:
- В раскрывающемся списке слева выберите поле события, которое вы хотите использовать для фильтрации.
- В среднем раскрывающемся списке выберите нужный оператор. Доступные операторы зависят от типа значения выбранного поля события.
- Введите значение условия. В зависимости от выбранного типа поля вам потребуется ввести значение вручную, выбрать его в раскрывающемся списке или выбрать в календаре.
Условия фильтра можно удалить с помощью кнопки
. Группы условий удаляются с помощью кнопки Удалить группу.
- GROUP BY – поля событий или псевдонимы, по которым следует группировать возвращаемые данные.
Если вы используете в запросе группировку данных, настройка отображения таблицы событий, сортировка событий по возрастанию и убыванию, получение статистики, а также ретроспективная проверка недоступны.
В режиме детализированного анализа при фильтрации по событиям, связанным с алертами, невозможно группировать возвращаемые данные.
- ORDER BY – столбцы, по которым следует сортировать возвращаемые данные. В раскрывающемся списке справа можно выбрать порядок: DESC – по убыванию, ASC – по возрастанию.
- LIMIT – количество отображаемых в таблице строк.
Значение по умолчанию – 250.
Если при фильтрации событий по пользовательскому периоду количество строк в результатах поиска превышает заданное значение, вы можете отобразить в таблице дополнительные строки, нажав на кнопку Показать больше записей. Кнопка не отображается при фильтрации событий по стандартному периоду.
- Нажмите на кнопку Применить.
Текущий SQL-запрос будет перезаписан. В поле поиска отобразится сформированный SQL-запрос.
Если вы хотите сбросить настройки конструктора, нажмите на кнопку Запрос по умолчанию.
Если вы хотите закрыть конструктор, не перезаписывая существующий запрос, нажмите на кнопку
.
- Для отображения данных в таблице нажмите на кнопку
.
В таблице отобразятся результаты поиска по сформированному SQL-запросу.
При переходе в другой раздел веб-интерфейса сформированный в конструкторе запрос не сохраняется. Если вы повторно вернетесь в раздел События, в конструкторе будет отображаться запрос по умолчанию.
Подробнее об SQL см. в справке ClickHouse. Также см. использование операторов в KUMA и поддерживаемые функции.
Создание SQL-запроса вручную
С помощью строки поиска вы можете вручную создавать SQL-запросы любой сложности для фильтрации событий.
Чтобы сформировать SQL-запрос вручную:
- Перейдите в раздел События веб-интерфейса KUMA.
Откроется форма с полем ввода.
- Введите SQL-запрос в поле ввода.
- Нажмите на кнопку
.
Отобразится таблица событий, соответствующих условиям вашего запроса. При необходимости вы можете отфильтровать события по периоду.
Поддерживаемые функции и операторы
SELECT
– поля событий, которые следует возвращать.Для
SELECT
в программе поддержаны следующие функции и операторы:- Функции агрегации:
count, avg, max, min, sum
. - Арифметические операторы:
+, -, *, /, <, >, =, !=, >=, <=
.Вы можете комбинировать эти функции и операторы.
Если вы используете в запросе функции агрегации, настройка отображения таблицы событий, сортировка событий по возрастанию и убыванию, а также получение статистики недоступны.
- Функции агрегации:
FROM
– источник данных.При создании запроса в качестве источника данных вам нужно указать значение events.
WHERE
– условия фильтрации событий.AND, OR, NOT, =, !=, >, >=, <, <=
IN
BETWEEN
LIKE
ILIKE
inSubnet
match
(в запросах используется синтаксис регулярных выражений re2, специальные символы требуется дополнительно экранировать с помощью обратной косой черты (\))
GROUP BY
– поля событий или псевдонимы, по которым следует группировать возвращаемые данные.Если вы используете в запросе группировку данных, настройка отображения таблицы событий, сортировка событий по возрастанию и убыванию, получение статистики, а также ретроспективная проверка недоступны.
ORDER BY
– столбцы, по которым следует сортировать возвращаемые данные.Возможные значения:
DESC
– по убыванию.ASC
– по возрастанию.
OFFSET
– пропуск указанного количества строк перед выводом результатов запроса.LIMIT
– количество отображаемых в таблице строк.Значение по умолчанию – 250.
Если при фильтрации событий по пользовательскому периоду количество строк в результатах поиска превышает заданное значение, вы можете отобразить в таблице дополнительные строки, нажав на кнопку Показать больше записей. Кнопка не отображается при фильтрации событий по стандартному периоду.
Примеры запросов:
SELECT * FROM `events` WHERE Type IN ('Base', 'Audit') ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events с типом Base и Audit, отсортированные по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.
SELECT * FROM `events` WHERE BytesIn BETWEEN 1000 AND 2000 ORDER BY Timestamp ASC LIMIT 250
Все события таблицы events, для которых в поле BytesIn значение полученного трафика находится в диапазоне от 1000 до 2000 байт, отсортированные по столбцу Timestamp в порядке возрастания. Количество отображаемых в таблице строк – 250.
SELECT * FROM `events` WHERE Message LIKE '%ssh:%' ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events, которые в поле Message содержат данные, соответствующие заданному шаблону
%ssh:%
в нижнем регистре, и отсортированы по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.SELECT * FROM `events` WHERE inSubnet(DeviceAddress, '00.0.0.0/00') ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events для хостов, которые входят в подсеть 00.0.0.0/00, отсортированные по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.
SELECT * FROM `events` WHERE match(Message, 'ssh.*') ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events, которые в поле Message содержат текст, соответствующий шаблону
ssh.*
, и отсортированы по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.SELECT max(BytesOut) / 1024 FROM `events`
Максимальный размер исходящего трафика (КБ) за выбранный период времени.
SELECT count(ID) AS "Count", SourcePort AS "Port" FROM `events` GROUP BY SourcePort ORDER BY Port ASC LIMIT 250
Количество событий и номер порта. События сгруппированы по номеру порта и отсортированы по столбцу Port в порядке возрастания. Количество отображаемых в таблице строк – 250.
Столбцу ID в таблице событий присвоено имя Count, столбцу SourcePort присвоено имя Port.
Если вы хотите указать в запросе специальный символ, вам требуется экранировать его, поместив перед ним обратную косую черту (\).
Пример:
Все события таблицы events, которые в поле Message содержат текст, соответствующий шаблону |
При создании нормализатора для событий вы можете выбрать, сохранять ли значения полей исходного события. Данные сохраняются в поле события Extra. Поиск событий по этому полю осуществляется с помощью оператора LIKE.
Пример:
Все события таблицы events для хостов с IP-адресом 00.00.00.000, на которых запущен процесс example, отсортированные по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250. |
При переключении на конструктор параметры запроса, введенного вручную в строке поиска, не переносятся в конструктор: вам требуется создать запрос заново. При этом запрос, созданный в конструкторе, не перезаписывает запрос, введенный в строке поиска, пока вы не нажмете на кнопку Применить в окне конструктора.
Используемые в поисковых запросах псевдонимы не должны содержать пробелов.
Подробнее об SQL см. в справке ClickHouse. Также см. поддерживаемые функции ClickHouse.
Ограничение сложности запросов в режиме детализированного анализа
При детализированном анализе сложность SQL-запросов для фильтрации событий ограничена, если при расследовании алерта в раскрывающемся списке выбран пункт События алерта. В этом случае для фильтрации событий доступны только перечисленные ниже функции и операторы.
При выборе в раскрывающемся списке пункта Все события эти ограничения не действуют.
SELECT
- В качестве символа подстановки используется
*
.
- В качестве символа подстановки используется
WHERE
AND
,OR
,NOT
,=
,!=
,>
,>=
,<
,<=
IN
BETWEEN
LIKE
inSubnet
Примеры:
WHERE Type IN ('Base', 'Correlated')
WHERE BytesIn BETWEEN 1000 AND 2000
WHERE Message LIKE '%ssh:%'
WHERE inSubnet(DeviceAddress, '10.0.0.1/24')
ORDER BY
Сортировка возможна по столбцам.
OFFSET
Пропуск указанного количества строк перед выводом результатов запроса.
LIMIT
Значение по умолчанию – 250.
Если при фильтрации событий по пользовательскому периоду количество строк в результатах поиска превышает заданное значение, вы можете отобразить в таблице дополнительные строки, нажав на кнопку Показать больше записей. Кнопка не отображается при фильтрации событий по стандартному периоду.
В режиме детализированного анализа при фильтрации по событиям, связанным с алертами, невозможно группировать возвращаемые данные. В режиме детализированного анализа при фильтрации по событиям, связанным с алертами, невозможно производить операции над данными полей событий и присваивать названия столбцам выводимых данных.
В началоФильтрация событий по периоду
В KUMA вы можете настроить отображение событий, относящихся к определенному временному периоду.
Чтобы отфильтровать события по периоду:
- В разделе События веб-интерфейса KUMA в верхней части окна откройте раскрывающийся список Период.
- Если вы хотите выполнить фильтрацию по стандартному периоду, выберите один из следующих вариантов:
- 5 минут
- 15 минут
- 1 час
- 24 часа
- В течение периода
При выборе этого варианта в открывшемся календаре выберите дату начала и окончания периода и нажмите Применить фильтр. Формат даты и времени зависит от настроек вашей операционной системы. При необходимости вы также можете изменить значения даты вручную.
- Нажмите на кнопку
.
Если установлен фильтр по периоду, отобразятся только события, зарегистрированные в течение указанного интервала времени. Период отобразится в верхней части окна.
Вы также можете настроить отображение событий с помощью гистограммы событий, которая отображается при нажатии на кнопку в верхней части раздела События. События отобразятся, если нажать на нужный ряд данных или выделить требуемый период времени и нажать на кнопку Показать события.
Сохранение и выбор конфигураций фильтра событий
В KUMA вы можете сохранять конфигурации фильтров для использования в будущем. Другие пользователи также могут использовать сохраненные фильтры при условии, что у них есть соответствующие права доступа. При сохранении фильтра вы сохраняете настроенные параметры сразу всех активных фильтров: фильтр по периоду, конструктору запросов и параметры таблицы событий. Поисковые запросы сохраняются на сервере Ядра KUMA и доступны всем пользователям KUMA выбранного тенанта.
Чтобы сохранить текущие настройки фильтра, запроса и периода:
- В разделе События веб-интерфейса KUMA нажмите на значок
рядом с выражением фильтра и выберите Сохранить текущий фильтр.
- В открывшемся окне в поле Название введите название конфигурации фильтра. Название должно содержать до 128 символов Юникода.
- В раскрывающемся списке Тенант выберите тенант, которому будет принадлежать создаваемый фильтр.
- Нажмите Сохранить.
Конфигурация фильтра сохранена.
Чтобы выбрать ранее сохраненную конфигурацию фильтра:
в разделе События веб-интерфейса KUMA нажмите на значок рядом с выражением фильтра и выберите нужный фильтр.
Выбранная конфигурация активна: в поле поиска отображается поисковый запрос, в верхней части окна настроенные параметры периода и частоты обновления результатов поиска. Для отправки поискового запроса нажмите на кнопку .
Если нажать на значок рядом с названием конфигурации фильтра, она станет использоваться в качестве конфигурации по умолчанию.
Удаление конфигураций фильтра событий
Чтобы удалить ранее сохраненную конфигурацию фильтра:
- В разделе События веб-интерфейса KUMA нажмите на значок
рядом с поисковым запросом фильтра и нажмите значок
рядом с конфигурацией, которую требуется удалить.
- Нажмите ОК.
Конфигурация фильтра удалена для всех пользователей KUMA.
В началоПоддерживаемые функции ClickHouse
В KUMA поддерживаются следующие функции ClickHouse:
- Арифметические функции.
- Массивы – все функции, кроме:
- has;
- range;
- функций, в которых обязательны к использованию функции высшего порядка (стрелочные лямбда-выражения (->)).
- Функции сравнения: все операторы, кроме == и less.
- Логические функции: только функция not.
- Функции преобразования типов.
- Функции для работы с датами и временем: все функции, кроме date_add и date_sub.
- Функции для работы со строками.
- Функции поиска в строках – все функции, кроме:
- position;
- multiSearchAllPositions, multiSearchAllPositionsUTF8, multiSearchFirstPosition, multiSearchFirstIndex, multiSearchAny;
- like и ilike;
- Условные функции: только обычный оператор if (тернарный оператор и оператор miltif не поддерживаются).
- Математические функции.
- Функции округления.
- Функции разбиения и слияния строк и массивов.
- Битовые функции.
- Функции для работы с UUID.
- Функции для работы с URL.
- Функции для работы с IP-адресами.
- Функции для работы с Nullable-аргументами.
- Функции для работы с географическими координатами.
Функции поиска и замены в строках, а также функции из остальных разделов не поддерживаются.
Подробнее об SQL см. в справке ClickHouse.
В начало