Потоки данных
Данное руководство описывает способы подключения различных источников данных для сбора событий (логов) и метрик в Monq.
В качестве источника данных может выступать любая информационная система, имеющая точки присоединения в виде API, или же способная передавать данные посредством Webhook.
Для быстрого доступа к интересующему вас функционалу воспользуйтесь навигацией:
Ручное создание потока данных
Для создания нового потока данных выполните следующие действия:
- Перейдите в раздел Сбор данных - Потоки данных через основное меню
- Нажмите кнопку Добавить поток в верхнем правом углу
- Заполните поля:
- Владелец - Рабочая группа, которой принадлежит поток данных
- Название (уникально в рамках Рабочей группы)
- Описание (необязательно)
- Импорт - экспортированный в
base64
формате код (экспорт Потоков данных)
- Нажмите кнопку Создать - откроется страница настройки, добавленного потока данных
- Дальнейшая настройка потока данных зависит от требований источника данных. Перейдите в раздел Интеграции для ознакомления с примерами конфигурации потоков данных под различные источники
Создание потоков данных из мастера настройки
Пользователь может установить заранее подготовленные по шаблону потоки данных (например, Zabbix, vCenter, Prometheus и другие). Каждый шаблон потока - это отдельный контент-пак в Мастере настройки системы.
В данных контент-паках уже сконфигурированы задания для получения данных через агенты Monq, добавлены необходимые обработчики, а также вынесены все необходимые параметры на вкладку "Настройки", создаваемого потока данных.
Чтобы создать поток данных по шаблону из контент-пака:
-
Перейдите в раздел Сбор данных - Потоки данных через основное меню
-
Нажмите кнопку Создать через Мастер настройки в верхнем правом углу
-
Выберите из списка нужный вам контент-пак:
-
Ознакомьтесь с содержимым контент-пака на вкладках Обзор
-
Нажмите кнопку Запустить сценарий
-
В открывшейся форме создания потока данных, вы можете опционально задать свое название потока данных, его описание и выбрать РГ владельца потока
По умолчанию, без указания данных параметров, поток данных будет создан с названием "Zabbix Stream" и описанием "Zabbix Data Stream created by Content Wizard".
-
Еще раз нажмите кнопку Запустить сценарий в форме создания потока данных
-
На вкладке "История запусков" будет отображаться процесс создания "Потока данных" по выбранному шаблону контент-пака. По завершению создания потока данных будет отображаться инструкция по дальнейшей настройке потока
Запуск, остановка и удаление потока данных
Запуск/остановка потока данных
- Перейдите в раздел Сбор данных ETL - Потоки данных через основное меню системы
- Найдите необходимый поток данных
- Воспользуйтесь вспомогательным меню ︙ для запуска/остановки соответствующего потока данных
Запустить или остановить поток данных, также, можно со страницы настроек этого потока:
- Перейдите на страницу настройки потока
- В правом верхнем углу нажмите Запустить/Остановить
Настройка потока данных
-
Откройте вкладку Настройки необходимого потока данных
-
На данной вкладке вы можете изменить:
- Общие настройки
- Название
- Владельца
- Описание
- Параметры конфигурации
- Адрес ИС
- Параметры - добавить необходимые параметры (переменные), которые можно использовать при написании "Заданий"
Пример использования переменной apiUri -
$.vars.stream.params.apiUri
или{{ vars.stream.params.apiUri }}
- Общие настройки
-
Для сохранения изменений нажмите кнопку "Сохранить"
Кнопка "Сохранить" может быть заблокирована для нажатия в двух случаях:
- Если пользователь ничего не изменил на вкладке "Настройки".
- После изменения параметров есть ошибки валидации полей в блоке "Общие настройки" на вкладке "Настройки".
Хранение данных
В случае необходимости экономии дискового пространства, укажите время хранения событий для выбранного потока данных.
Время хранения событий задается в днях от 1-го дня до бесконечности.
По умолчанию для создаваемых потоков время хранения установлено в "Бесконечность".
Если указано некорректное значение - устанавливается значение 365 дней.
При включении данной настройки для потоков, которые получают события с даты не вошедшей в интервал хранения, пользователь получает сообщение с возможностью подтвердить или отменить действие.
События с [дата первого события в потоке] по [дата первого события, которое не попало в интервал хранения] будут удалены из системы без возможности их восстановления.
События потока данных, подлежащие удалению будут удалены в течении часа.
Для включения автоматического удаления данных старше указанного количества дней:
- Перейдите на вкладку "Настройки" необходимого потока данных
- В блоке "Хранение данных" выберите из списка параметр "в течении"
- Укажите количество дней, сколько хранить события
- Нажмите "Сохранить"
Конфигурация потока
На вкладке "Конфигурация" потока данных, пользователь может настроить собственные задания по сбору данных и правила предобработки собираемых данных.
Задания
В блоке Задания отображается список настроенных заданий, если такие имеются в текущем потоке.
⚠️ Запуск сценариев заданий производится на агенте Monq
Создание задания
Чтобы добавить собственное задание, выполните следующие действия:
-
Нажмите кнопку "Добавить задание"
-
Выберите "Новое задание" или выберите задание из списка
-
Для написания сценария нового задания перейдите в окно редактирования кода справа (язык YAML)
-
Напишите сценарий Задания (справка по написанию заданий)
-
Сделайте ваш сценарий "исполняемым" - по завершению редактирования, в правом верхнем углу редактора нажмите кнопку Сделать исполняемым
-
Выберите метку агента, на котором будет производится запуск данного задания
⚠️ Метка
SharedAgents
используется для выполнения заданий на системном агенте Monq (микросервисpl-monq-agent
).⚠️ Обратите внимание, что запуск сценариев, в которых присутствует команда
run
запрещены на системном агенте внутренней политикой безопасности. -
Установите периодичность запуска задания, используя формат CRON
По умолчанию, при добавлении задания периодический запуск выключен.
-
Нажмите кнопку "Сохранить"
Сценарий будет выполнятся на первом "свободном" агенте с выбранной меткой.
Редактирование задания
Для редактирования задания:
- Наведите курсор мыши на задание и нажмите Редактор
- В правом верхнем углу, в поле Версия скрипта выберите Черновик для создания новой версии сценария
- Внесите необходимые правки в код сценария, используя окно редактора кода (YAML)
- Нажмите кнопку Сделать исполняемой
Ручной запуск
Чтобы произвести запуск (отладку) сценария Задания воспользуйтесь кнопкой Ручной запуск в настройке расписания Задания.
Выключение задания
Отключить выполнение задание можно установив значение Запуск - Нет.
Удаление задания
Для удаления ранее добавленного задания, нажмите на значок корзины напротив названия задания - объект будет удален. Действие необратимое и не требует дополнительного подтверждения.
Обработчики
Пользователю Monq доступно написание собственных обработчиков для входящих потоков данных.
В качестве обработчиков потоков выступают сценарии Автоматизации, задачей которых является:
- преобразование события в модель коллектора
- дополнительные преобразования и модификация события
- обогащение события дополнительными меткам
- отправка события в очередь с нужным ключом
Чтобы начать работу с обработчиками - перейдите на вкладку Конфигурация на странице выбранного потока данных.
Редактирование обработчиков
Для редактирования обработчика нажмите кнопку "Перейти" напротив названия обработчика, чтобы перейти к сценарию конфигурации обработчика потока данных.
⚠️ Переход к редактированию сценария обработчика возможен только со страницы конфигурации Потока данных.
Подробная информация по работе со сценариями визуального движка программирования содержится в разделе Автоматизация.
Также дополнительная информация по использованию обработчиков в Потоках данных находится в разделе документации Интеграции - Обработчики
Активация/деактивация обработчика
Активация или деактивация сценария обработчика синхронизирована с состоянием Потока данных.
Деактивировать сценарий можно отключив Поток данных. Активация сценария производится аналогично.
Удаление обработчиков
Удалить обработчик из потока данных нельзя. Для этого предназначена функция сброса состояния обработчика к состоянию по умолчанию, в котором выполняются только служебные функции маршрутизации события.
Пример сценария для обработки события по умолчанию:
Self-мониторинг
Мониторинг поступающих событий
Пользователю доступна функция самоконтроля состояния потоков данных.
Для включения проверки наличия первичных событий в потоке, выполните следующие действия:
- Перейдите в раздел Сбор данных - Потоки данных через основное меню
- Найдите необходимый поток
- Перейдите на вкладку "Настройки" потока данных
- В блоке Мониторинг потока активируйте переключатель "Отправлять первичное событие с ошибкой при отсутствии событий в Потоке более N часов"
По умолчанию для всех потоков данных функция выключена
- Задайте интервал проверки событий в соответствующем поле в часах. Доступны для ввода только целые значения
- Сохраните параметры потока данных
Проверка наличия первичных событий в потоке работает следующим образом:
-
Запускается с интервалом, заданным пользователем
-
Проверяется наличие первичных событий по потоку в этом интервале времени, без учета событий самомониторинга и событий отправленных по ошибкам потока
-
При наличии первичных событий по потоку не выполняется никаких действий
-
При отсутствии первичных событий по потоку генерируется и отправляется в поток служебное первичное событие:
{
"source": {
"monqStreamControl": {
"statusValue": "Warning",
"alertMessage": "Events don't arrive on the [Название потока] stream for more than [Период запуска задания]",
"alertType": "Stream",
"alertSourceName": "Self-monitoring"
}
}
}
Мониторинг заданий и обработчиков
При возникновении ошибок в работе обработчиков или заданий потока данных возможна отправка соответствующих событий в этот поток данных.
Обратите внимание, что генерация событий об ошибке непосредственно связана с интервалом запуска Заданий соответствующего Потока данных.
Например, если для Задания установлен интервал запуска 5 секунд, то при невозможности выполнить данное задание - каждые 5 секунд будет генерироваться событие об ошибке и отправляться в соответсвующий Поток данных.
Для включения функции мониторинга заданий и обработчиков:
-
Перейдите в раздел Сбор данных - Потоки данных через основное меню
-
Найдите необходимый поток
-
Перейдите на вкладку "Настройки" потока данных
-
В блоке Мониторинг потока активируйте переключатель "Отправлять первичные события с ошибками Потока"
По умолчанию для всех потоков данных функция выключена
-
Сохраните параметры потока данных
-
При возникновении ошибок в работе сценариев, в поток будет отправлено событие следующего содержания:
{
"source": {
"monqStreamControl": {
"statusValue": "Error",
"alertMessage": "Текст ошибки",
"alertType": "AgentTask",
"alertSourceName": "Название задания / обработчика"
}
}
}Возможные значения поля
"alertType"
:- "AgentTask" - ошибка в задании агента.
- "StreamHandler" - ошибка в обработчике потока.
Операции с потоками данных
Фильтрация потоков данных
Чтобы в списке потоков отобразить только "нужные" потоки данных можно воспользоваться фильтрацией.
Фильтрация по Потокам данных осуществляется по следующим параметрам:
- Владелец
- Рабочая группа, которой принадлежит поток данных
- Состояние
- Активный
- Остановленный
- Статус
- ОК
- Неизвестно
- Ошибка
Настройки фильтра не сохраняются после перехода на другую страницу
Поиск потока данных
Из множества потоков данных, необходимый вам поток также можно найти, воспользовавшись "Поиском".
- Перейдите в раздел Сбор данных - Потоки данных через основное меню
- В левом верхнем углу в поле Поиск введите текст, поиск будет произведен по следующим параметрам:
- Название
- Описание
- ID
- Владелец
Действия с потоками
Основные операции, которые можно выполнить с выбранным потоком, скрываются в контекстом меню этого потока. Нажмите ︙ напротив необходимого Потока данных и выберите необходимое действие:
- Запустить/остановить поток
- Копировать ссылку на поток
- Копировать ID потока
- Копировать API-ключ
- Клонировать
- Экспортировать
- Перейти к событиям потока (документация)
Все, перечисленные операции, также можно выполнить находясь в карточке Потока данных.
Сортировка списка потоков данных
Чтобы персонализировать представление со списком Потоков данных, а именно произвести сортировку, выполните следующие действия:
- Перейдите в раздел Сбор данных - Потоки данных через основное меню
- Нажмите на заголовок столбца:
- Название потока данных
- Статус
- Владелец
- Каждое нажатие на заголовок выполняет:
- Сортировку по возрастанию
- Сортировку по убыванию
- Отключение сортировки по данному столбцу
Настройка доступа к потоку
Пользователь, состоящий в Рабочей группе, которой принадлежит поток данных, может предоставить доступ к данным этого потока другим Рабочим группам. Чтобы предоставить доступ, выполните следующие действия:
- Перейдите в раздел Сбор данных - Потоки данных через основное меню
- Найдите необходимый поток
- Откройте вкладку "Доступ" потока данных
- В поле "Выбрать рабочие группы" выберите Рабочие группы, которым необходимо предоставить доступ
- Выберите Просмотр или Редактирование
- Нажмите Выдать доступ - доступ предоставлен
Статистика потока данных
На вкладке Статистика пользователям доступна информация о собираемых в потоке данных событиях (логах) и метриках.
Информация представлена в виде гистограмм со статистическими показателями.
Гистограмма по Событиям и логам
Гистограмма по Событиям и логам отображает объема данных, полученных через Поток данных, за выбранный промежуток времени со следующими показателями:
- Объем данных за выбранный период
- Средний объем данных за выбранный период = объем данных за период / на количество временных интервалов периода
- Максимальный объем данных за выбранный период = максимальному объему одного из временных интервалов периода
- Минимальный объем данных за выбранный период = минимальному объему одного из временных интервалов периода
Гистограмма по Метрикам
Гистограмма по Метрикам отображает количество Метрик, полученных через Поток данных за выбранный промежуток времени со следующими показателями:
- Количество за выбранный период
- Среднее количество за выбранный период = количество за период / на количество временных интервалов периода
- Максимальное количество за выбранный период = максимальному количеству одного из временных интервалов периода
- Минимальное количество за выбранный период = минимальному количеству одного из временных интервалов периода
Определение терминов
Статус потока данных
Внутренний показатель состояния потока. Может иметь следующие состояния:
- Ок - поток в работе, задания выполняются без ошибок
- Неизвестно - поток не содержит активных заданий
- Проблема - в одном из заданий потока возникла ошибка
Рассчитывается исходя из статусов выполнения заданий агента соответствующего потока. Проставляется по наихудшему значению статуса выполнения скрипта.
💡 Дополнительно к значению статуса отображается время его последнего расчета (время обновляется даже если статус не менялся).
Экспорт потока данных
Пользователи системы могут экспортировать настроенные потоки данных в base64
формат.
В экспортируемом коде потока данных, содержится следующая информация:
- Вкладка "Настройки"
- Параметры конфигурации
- Все незащищенные параметры и их значения
- Все защищенные параметры без их значений
- Пользовательские параметры
- Все незащищенные параметры и их значения
- Все защищенные параметры без их значений
- Настройки хранения
- Настройки self-мониторинга
- Параметры конфигурации
- Вкладка "Конфигурация"
- Задания потока данных
- Название задания
- Примечание
- Сценарий задания
- Метки агентов
- Настройки планировщика запуска
- Задания потока данных
Остальные параметры потока данных не включены в экспортируемые данные и требуют дополнительной настройки после импорта.
Чтобы экспортировать поток данных, находясь на странице списка всех потоков или в карточке выбранного потока, используя дополнительное меню, выберите - "Экспорт"
Удаление потока данных
- Перейдите в раздел Сбор данных - Потоки данных через основное меню
- Найдите необходимый поток
- Воспользуйтесь вспомогательным меню ︙ для удаления соответствующего потока данных
Удалить поток данных также можно со страницы настроек потока:
- Найдите необходимый поток и перейдите на страницу настройки потока
- В правом верхнем углу нажмите Удалить