====== QoE Триггеры и Нотификация ====== {{indexmenu_n>5}} [GUI v.2.32.70+]\\ В отчетах, формируемых в данном разделе GUI, улучшены название и обозначение таблиц, названия столбцов таблиц. ===== Назначение ===== В разделе "Триггеры и Нотификация" Вы сможете настроить отправку периодических отчетов и оперативных алертов в Telegram или на E-mail с отображением их в самом GUI. При срабатывании триггера будет приходить сообщение с информацией о заданном событии и ссылками на соответствующие отчеты. По умолчанию это 4 отчета в форматах csv, tsv, xlsx, pdf, но шаблон сообщения можно редактировать. Для работы раздела "Триггеры и Нотификация" требуется активация подписки — лицензия Standard для GUI. Сделаем настройки на примере двух сценариев: - **Периодический отчет для отслеживания задержки RTT от абонента.**\\ В отчете будут отображаться абоненты, у которых значение "RTT от абонента" больше либо равно 150000 мс. Он будет приходить по понедельникам и четвергам **в Telegram**. - **Алерт об абонентах-участниках ботнета.**\\ Настроим проверку таблицы раз в минуту каждый день. **На почту** будет приходить нотификация как только в таблице будет замечен хотя бы один зараженный абонент. ===== Создание и настройка триггеров ===== - В GUI перейти в раздел QoE аналитика → Триггеры и Нотификация. - Нажать на **+** на дашборде "Триггеры" для добавления триггера. Откроется окно настройки. Создание нового триггера происходит в 5 шагов. Настройки триггеров разделены на блоки, необходимо заполнить все из них. ==== Шаг 1. Расписание работы ==== Заполните обязательные поля: * Название — любое уникальное имя для триггера. * Важность — выбор степени важности: информация, предупреждение, средняя/высокая важность. Например, степень "Информация" можно задать для отчета, а все остальные — разным нотификациям по вашему усмотрению. **Необязательное поле.** * Дни недели проверки — в какие дни недели будет работать триггер. * Частота проверки — как часто будет запускаться скрипт проверки. Например, если выставлено значение "1 минута" — скрипт проверки будет запускаться в заданные дни недели раз в минуту. * Дату и время начала и окончания работы триггера. **Необязательные поля.** Также в этом блоке расположен переключатель для включения/выключения триггера, **после окончания настройки не забудьте его включить.** Пример заполнения блока для отчета для отслеживания задержки RTT от абонента:\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:common_rtt.png?nolink&700|}}\\ В этом случае скрипт проверки будет запускаться по заданным дням раз в 24 часа — один раз в понедельник и один раз в четверг.\\ \\ Пример заполнения блока для нотификации об абонентах с киберугрозами:\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:common_botnet.png?nolink&700|}}\\ В этом случае скрипт проверки будет запускаться раз в минуту каждый день, то есть работать постоянно. ==== Шаг 2. Выбор источника данных и метрики ==== Выбрать метрику и таблицу данных. Триггеры работают только с готовыми таблицами, которые находятся в разделах "Нетфлоу" и "Кликстрим", для начала настройки нужно найти таблицу, где есть необходимая метрика. Подсказка к выбору таблицы в видео: {{youtube>py1yPFApKl4?}} Для создания запроса нажать на **+** под названием блока. * Отчет — выбор таблицы с данными из готовых отчетов системы, по которым производится поиск. * "Период с" и "-по". Например, если нужно анализировать данные за последние сутки, задайте "Период с" — 24 часа, "Период по" — сейчас. "Сейчас" в периоде с/по в запросе означает момент запуска триггера. Он складывается из дней недели работы триггера и верхней границы частоты проверки (из блока настроек "Общее"). Для каждого запроса можно создать фильтр, где можно задать значение IP хоста, логина абонента и т.д. Например, можно настроить формирование отчета или нотификации по одному конкретному хосту, если задать такой фильтр: {{ :dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:queries_filters.png?nolink&800 |}} Пример заполнения блока для отчета для отслеживания задержки RTT от абонента. Здесь нужно выбрать отчет "Топ абонентов с высоким RTT", в нем есть нужные метрики для данного триггера. Так как нужно, чтобы отчет приходил по понедельникам и четвергам, "Период с" выставить равным промежутку между этими днями — "Сейчас - 4 дня", будут анализироваться данные за последние 4 дня.\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:queries_rtt.png?nolink&700|}}\\ \\ Пример заполнения блока для нотификации об абонентах с киберугрозами. Здесь нужно выбрать отчет "Топ зараженных абонентов с ботнет трафиком", в нем есть нужные метрики для данного триггера. В данном случае будут анализироваться данные за последние 24 часа.\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:queries_botnet.png?nolink&700|}} ==== Шаг 3. Условия ==== Задать условия — что должно произойти с метрикой для срабатывания триггера. \\ Для создания условия нажать на **+** под названием блока.\\ Для каждого условия нужно настроить следующие параметры: * Связь И/ИЛИ — сопоставить с названиями запросов на предмет выполнения либо сразу нескольких условий, либо хотя бы одного из заданных. * Название — выбрать один из созданных запросов. * Функция — выбрать тип агрегатной функции, которая будет применена к значениям в условии: * "count" считает количество элементов или записей в наборе данных, * "any" возвращает любое значение из доступных в наборе данных, * "anyLast" возвращает последнее значение из доступных в наборе данных, * "avg" вычисляет среднее значение числовых данных в наборе, * "min" возвращает минимальное значение из доступных в наборе данных, * "max" возвращает максимальное значение из доступных в наборе данных, * "sum" вычисляет сумму числовых данных в наборе, * "uniq" возвращает уникальные значения в наборе данных, удаляя дубликаты. * Комбинатор — выбрать нечисловое/ненулевое/числовое/нулевое значение или оставить пустым. * Серия — выбрать нужную метрику из отчета. * Оператор — выбрать: =, !=, >, >=, <, <=, between //(будет возвращать записи, где выражение находится в диапазоне значений value1 и value2 включительно)//, not between //(возвращает все записи, где выражение НЕ находится в диапазоне между value1 и value2 включительно)//. * Значение — присвоить необходимое значение для условия. Пример заполнения блока для отчета для отслеживания задержки RTT от абонента:\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:conditions_rtt.png?nolink&700|}}\\ В этом случае триггер будет срабатывать, если в таблице из шага 2 появится значение RTT от абонента больше либо равное 150000 мс.\\ \\ Пример заполнения блока для алертов об абонентах с киберугрозами:\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:conditions_botnet.png?nolink&700|}}\\ В этом случае триггер будет срабатывать, если в таблице из шага 2 будет хотя бы один абонент. ==== Шаг 4. Обработка ошибок ==== Задать поведение триггера при ошибках.\\ В полях "Если нет данных" и "Если есть ошибка выполнения или тайм-аут" выбрать одно из значений: * "Нотификация" — условие, заданное в триггере, выполнено. * "Нет данных" — при обработке отчетов, заданных в триггере, не найдено данных. * "Сохранить последнее состояние" — не нужно предпринимать никаких действий. * "Ок" — условия, заданные в триггере, не сработали, все в порядке и никаких действий выполнять не нужно. Пример заполнения блока для отчета и для алертов:\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:error.png?nolink&700|}}\\ В обоих случаях если нет данных — триггер не будет срабатывать и сообщение не будет приходить, если возникла ошибка или тайм-аут — будет приходить нотификация. ==== Шаг 5. Действия ==== Настройка действия позволит в случае срабатывания триггера получать сообщение на E-mail или в Telegram.\\ Для создания действия нажать на **+** под названием блока.\\ Для удаления действия нажать на **✕** напротив названия действия. === Telegram действие === **Шаг 1. Регистрация своего бота через https://t.me/BotFather** - Запустить BotFather командой ''/start''. - Нажать ''/newbot'' для создания нового бота.\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:action_telegram_newbot.png?nolink&600|}} - Ввести название бота.\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:action_telegram_name.png?nolink&600|}} - Ввести уникальный ''username'' (только латиница, окончание на bot).\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:action_telegram_username.png?nolink&600|}} - Скопировать токен для доступа к HTTP API из сообщения при регистрации бота, выглядит вот так: ''5995002635:AAGdSR0udY9K9uxENaPu2HF4azmpsKQq98X'' - Скопированный токен вставить в настройки GUI (Администратор → Конфигурация GUI → Настройки Telegram → Токен API Telegram бота).\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:action_telegram_token.png?nolink&600|}} **Шаг 2. Получение id чата для своего персонального Telegram-аккаунта через https://t.me/RawDataBot** Для получения ''id'' чата у пользователя в Telegram-профиле должен быть задан ''username''! - Запустить Telegram Bot Raw командой ''/start''. - Скопировать ''id'', выглядит так:\\ "chat": { "id": 222455434, "first_name": "Ivan", "last_name": "Nat", "username": "HardNat", "type": "private" }, **Шаг 3. Подключение Telegram к настроенному триггеру** Добавить ''id'' из шага 2 в Telegram действие в поле "Идентификатор чата".\\ {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:action_telegram_id.png?nolink&600|}} === E-Mail действие === Создает уведомление и посылает его на выбранный адрес электронной почты.\\ - Если поле "Сообщение" не заполнено — нажать на кнопку "Установить шаблон по умолчанию" (1) для заполнения полей действия значениями по умолчанию. При необходимости все значения можно отредактировать. - При нажатии на кнопку "Параметры шаблона" (2) Откроется меню с идентификаторами, которые можно использовать для составления сообщения. {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:action_email.png?nolink&600|}} Для работы E-mail действия нужно настроить SMTP. Перейти в раздел Администратор → Конфигурация GUI, выбрать "Настройки SMTP". === Нотификация в GUI === Нотификацию можно использовать для проверки работоспособности триггеров.\\ - Нажать на кнопку "Установить шаблон по умолчанию" (1) для заполнения полей действия значениями по умолчанию. При необходимости все значения можно отредактировать. - При нажатии на кнопку "Параметры шаблона" (2) Откроется меню с идентификаторами, которые можно использовать для составления сообщения. {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:action_notification.png?nolink&600|}} [GUI v.2.32.70+]\\ В меню "Параметры шаблона" добавлены новые идентификаторы: * ''{trigger.report.csv.as_file}'' - прикрепить CSV файл (только для email) * ''{trigger.report.csv.as_file.zip}'' - прикрепить архив с CSV файлом (только для email) Раньше такие файлы можно было добавлять в сообщение только в формате ссылки, теперь можно добавлять файлы.\\ Также появилась возможность объединить в один PDF файл несколько отчетов, добавив в сообщение следующие новые идентификаторы: * ''{trigger.report.merged_pdf}'' - ссылка на PDF файл со всеми отчетами * ''{trigger.report.merged_pdf.as_file}'' - прикрепить PDF файл со всеми отчетами (только для email) * ''{trigger.report.merged_pdf.as_file.zip}'' - прикрепить архив с PDF файлом со всеми отчетами (только для email) ---- \\ После создания триггера нажать "Сохранить". На дашборде "Триггеры" включить необходимые триггеры. Если страница GUI не обновлялась — обновить страницу в браузере или нажать на кнопку "Обновить". {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:page_gui.png?nolink&1100|}} ===== Описание элементов страницы "Триггеры и Нотификация" ===== Перейти в раздел QoE Аналитика → Триггеры и Нотификация.\\ Откроется раздел как на картинке ниже. {{:dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications:elements.png?nolink&1100|}} В данном разделе отображены три секции: * Список триггеров. * Список нотификаций по триггерам. * Список действий, выполненных триггерами в результате возникших нотификаций. Типы триггеров: * Системные. Задаются вендором и их можно только включить/выключить. * Пользовательские. Задаются пользователем и могут свободно настраиваться. Подробное описание настройки триггера смотрите в разделе [[dpi:dpi_components:dpiui:user_guide:qoe_analytics:triggers_and_notifications#создание_и_настройка_триггеров|Создание и настройка триггеров]].