Перейти к основному содержимому

Потоки данных

Данное руководство описывает способы подключения различных источников данных для сбора событий (логов) и метрик в Monq.

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

Для быстрого доступа к интересующему вас функционалу воспользуйтесь навигацией:

Ручное создание потока данных

Для создания нового потока данных выполните следующие действия:

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню
  2. Нажмите кнопку Добавить поток в верхнем правом углу
  3. Заполните поля:
    • Владелец - Рабочая группа, которой принадлежит поток данных
    • Название (уникально в рамках Рабочей группы)
    • Описание (необязательно)
    • Импорт - экспортированный в base64 формате код (экспорт Потоков данных)
  4. Нажмите кнопку Создать - откроется страница настройки, добавленного потока данных
  5. Дальнейшая настройка потока данных зависит от требований источника данных. Перейдите в раздел Интеграции для ознакомления с примерами конфигурации потоков данных под различные источники

Создание потоков данных из мастера настройки

Пользователь может установить заранее подготовленные по шаблону потоки данных (например, Zabbix, vCenter, Prometheus и другие). Каждый шаблон потока - это отдельный контент-пак в Мастере настройки системы.

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

Чтобы создать поток данных по шаблону из контент-пака:

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню

  2. Нажмите кнопку Создать через Мастер настройки в верхнем правом углу

  3. Выберите из списка нужный вам контент-пак:

    Изображение

  4. Ознакомьтесь с содержимым контент-пака на вкладках Обзор

    Изображение

  5. Нажмите кнопку Запустить сценарий

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

    Изображение

    По умолчанию, без указания данных параметров, поток данных будет создан с названием "Zabbix Stream" и описанием "Zabbix Data Stream created by Content Wizard".

  7. Еще раз нажмите кнопку Запустить сценарий в форме создания потока данных

  8. На вкладке "История запусков" будет отображаться процесс создания "Потока данных" по выбранному шаблону контент-пака. По завершению создания потока данных будет отображаться инструкция по дальнейшей настройке потока

    Изображение

Запуск, остановка и удаление потока данных

Запуск/остановка потока данных

  1. Перейдите в раздел Сбор данных ETL - Потоки данных через основное меню системы
  2. Найдите необходимый поток данных
  3. Воспользуйтесь вспомогательным меню для запуска/остановки соответствующего потока данных

Запустить или остановить поток данных, также, можно со страницы настроек этого потока:

  1. Перейдите на страницу настройки потока
  2. В правом верхнем углу нажмите Запустить/Остановить

Настройка потока данных

  1. Откройте вкладку Настройки необходимого потока данных

  2. На данной вкладке вы можете изменить:

    • Общие настройки
      • Название
      • Владельца
      • Описание
      • Параметры конфигурации
      • Адрес ИС
    • Параметры - добавить необходимые параметры (переменные), которые можно использовать при написании "Заданий"

      Пример использования переменной apiUri - $.vars.stream.params.apiUri или {{ vars.stream.params.apiUri }}

  3. Для сохранения изменений нажмите кнопку "Сохранить"

Кнопка "Сохранить" может быть заблокирована для нажатия в двух случаях:

  • Если пользователь ничего не изменил на вкладке "Настройки".
  • После изменения параметров есть ошибки валидации полей в блоке "Общие настройки" на вкладке "Настройки".

Хранение данных

В случае необходимости экономии дискового пространства, укажите время хранения событий для выбранного потока данных.

Изображение

Время хранения событий задается в днях от 1-го дня до бесконечности.

По умолчанию для создаваемых потоков время хранения установлено в "Бесконечность".

Если указано некорректное значение - устанавливается значение 365 дней.

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

События с [дата первого события в потоке] по [дата первого события, которое не попало в интервал хранения] будут удалены из системы без возможности их восстановления.

События потока данных, подлежащие удалению будут удалены в течении часа.

Для включения автоматического удаления данных старше указанного количества дней:

  1. Перейдите на вкладку "Настройки" необходимого потока данных
  2. В блоке "Хранение данных" выберите из списка параметр "в течении"
  3. Укажите количество дней, сколько хранить события
  4. Нажмите "Сохранить"

Конфигурация потока

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

Задания

В блоке Задания отображается список настроенных заданий, если такие имеются в текущем потоке.

Внимание

⚠️ Запуск сценариев заданий производится на агенте Monq

Изображение

Создание задания

Чтобы добавить собственное задание, выполните следующие действия:

  1. Нажмите кнопку "Добавить задание"

  2. Выберите "Новое задание" или выберите задание из списка

  3. Для написания сценария нового задания перейдите в окно редактирования кода справа (язык YAML)

  4. Напишите сценарий Задания (справка по написанию заданий)

  5. Сделайте ваш сценарий "исполняемым" - по завершению редактирования, в правом верхнем углу редактора нажмите кнопку Сделать исполняемым

  6. Выберите метку агента, на котором будет производится запуск данного задания

    ⚠️ Метка SharedAgents используется для выполнения заданий на системном агенте Monq (микросервис pl-monq-agent).

    ⚠️ Обратите внимание, что запуск сценариев, в которых присутствует команда run запрещены на системном агенте внутренней политикой безопасности.

    Изображение

  7. Установите периодичность запуска задания, используя формат CRON

    По умолчанию, при добавлении задания периодический запуск выключен.

  8. Нажмите кнопку "Сохранить"

Сценарий будет выполнятся на первом "свободном" агенте с выбранной меткой.

Редактирование задания

Для редактирования задания:

  1. Наведите курсор мыши на задание и нажмите Редактор
  2. В правом верхнем углу, в поле Версия скрипта выберите Черновик для создания новой версии сценария
  3. Внесите необходимые правки в код сценария, используя окно редактора кода (YAML)
  4. Нажмите кнопку Сделать исполняемой

Ручной запуск

Чтобы произвести запуск (отладку) сценария Задания воспользуйтесь кнопкой Ручной запуск в настройке расписания Задания.

Выключение задания

Отключить выполнение задание можно установив значение Запуск - Нет.

Удаление задания

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

Обработчики

Пользователю Monq доступно написание собственных обработчиков для входящих потоков данных.

В качестве обработчиков потоков выступают сценарии Автоматизации, задачей которых является:

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

Чтобы начать работу с обработчиками - перейдите на вкладку Конфигурация на странице выбранного потока данных.

Изображение

Редактирование обработчиков

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

⚠️ Переход к редактированию сценария обработчика возможен только со страницы конфигурации Потока данных.

Подробная информация по работе со сценариями визуального движка программирования содержится в разделе Автоматизация.

Также дополнительная информация по использованию обработчиков в Потоках данных находится в разделе документации Интеграции - Обработчики

Активация/деактивация обработчика

Активация или деактивация сценария обработчика синхронизирована с состоянием Потока данных.

Деактивировать сценарий можно отключив Поток данных. Активация сценария производится аналогично.

Удаление обработчиков

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

Пример сценария для обработки события по умолчанию:

Изображение

Self-мониторинг

Изображение

Мониторинг поступающих событий

Пользователю доступна функция самоконтроля состояния потоков данных.

Для включения проверки наличия первичных событий в потоке, выполните следующие действия:

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню
  2. Найдите необходимый поток
  3. Перейдите на вкладку "Настройки" потока данных
  4. В блоке Мониторинг потока активируйте переключатель "Отправлять первичное событие с ошибкой при отсутствии событий в Потоке более N часов"

    По умолчанию для всех потоков данных функция выключена

  5. Задайте интервал проверки событий в соответствующем поле в часах. Доступны для ввода только целые значения
  6. Сохраните параметры потока данных

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

  1. Запускается с интервалом, заданным пользователем

  2. Проверяется наличие первичных событий по потоку в этом интервале времени, без учета событий самомониторинга и событий отправленных по ошибкам потока

  3. При наличии первичных событий по потоку не выполняется никаких действий

  4. При отсутствии первичных событий по потоку генерируется и отправляется в поток служебное первичное событие:

    {
    "source": {
    "monqStreamControl": {
    "statusValue": "Warning",
    "alertMessage": "Events don't arrive on the [Название потока] stream for more than [Период запуска задания]",
    "alertType": "Stream",
    "alertSourceName": "Self-monitoring"
    }
    }
    }

Мониторинг заданий и обработчиков

При возникновении ошибок в работе обработчиков или заданий потока данных возможна отправка соответствующих событий в этот поток данных.

Обратите внимание, что генерация событий об ошибке непосредственно связана с интервалом запуска Заданий соответствующего Потока данных.

Например, если для Задания установлен интервал запуска 5 секунд, то при невозможности выполнить данное задание - каждые 5 секунд будет генерироваться событие об ошибке и отправляться в соответсвующий Поток данных.

Для включения функции мониторинга заданий и обработчиков:

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню

  2. Найдите необходимый поток

  3. Перейдите на вкладку "Настройки" потока данных

  4. В блоке Мониторинг потока активируйте переключатель "Отправлять первичные события с ошибками Потока"

    По умолчанию для всех потоков данных функция выключена

  5. Сохраните параметры потока данных

  6. При возникновении ошибок в работе сценариев, в поток будет отправлено событие следующего содержания:

    {
    "source": {
    "monqStreamControl": {
    "statusValue": "Error",
    "alertMessage": "Текст ошибки",
    "alertType": "AgentTask",
    "alertSourceName": "Название задания / обработчика"
    }
    }
    }

    Возможные значения поля "alertType":

    • "AgentTask" - ошибка в задании агента.
    • "StreamHandler" - ошибка в обработчике потока.

Операции с потоками данных

Фильтрация потоков данных

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

Фильтрация по Потокам данных осуществляется по следующим параметрам:

  • Владелец
    • Рабочая группа, которой принадлежит поток данных
  • Состояние
    • Активный
    • Остановленный
  • Статус
    • ОК
    • Неизвестно
    • Ошибка

Изображение

Настройки фильтра не сохраняются после перехода на другую страницу

Поиск потока данных

Из множества потоков данных, необходимый вам поток также можно найти, воспользовавшись "Поиском".

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню
  2. В левом верхнем углу в поле Поиск введите текст, поиск будет произведен по следующим параметрам:
    • Название
    • Описание
    • ID
    • Владелец

Действия с потоками

Основные операции, которые можно выполнить с выбранным потоком, скрываются в контекстом меню этого потока. Нажмите напротив необходимого Потока данных и выберите необходимое действие:

  • Запустить/остановить поток
  • Копировать ссылку на поток
  • Копировать ID потока
  • Копировать API-ключ
  • Клонировать
  • Экспортировать
  • Перейти к событиям потока (документация)

Все, перечисленные операции, также можно выполнить находясь в карточке Потока данных.

Сортировка списка потоков данных

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

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню
  2. Нажмите на заголовок столбца:
    • Название потока данных
    • Статус
    • Владелец
  3. Каждое нажатие на заголовок выполняет:
    • Сортировку по возрастанию
    • Сортировку по убыванию
    • Отключение сортировки по данному столбцу

Настройка доступа к потоку

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

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню
  2. Найдите необходимый поток
  3. Откройте вкладку "Доступ" потока данных
  4. В поле "Выбрать рабочие группы" выберите Рабочие группы, которым необходимо предоставить доступ
  5. Выберите Просмотр или Редактирование
  6. Нажмите Выдать доступ - доступ предоставлен

Статистика потока данных

На вкладке Статистика пользователям доступна информация о собираемых в потоке данных событиях (логах) и метриках.

Информация представлена в виде гистограмм со статистическими показателями.

Гистограмма по Событиям и логам

Гистограмма по Событиям и логам отображает объема данных, полученных через Поток данных, за выбранный промежуток времени со следующими показателями:

  • Объем данных за выбранный период
  • Средний объем данных за выбранный период = объем данных за период / на количество временных интервалов периода
  • Максимальный объем данных за выбранный период = максимальному объему одного из временных интервалов периода
  • Минимальный объем данных за выбранный период = минимальному объему одного из временных интервалов периода

image

Гистограмма по Метрикам

Гистограмма по Метрикам отображает количество Метрик, полученных через Поток данных за выбранный промежуток времени со следующими показателями:

  • Количество за выбранный период
  • Среднее количество за выбранный период = количество за период / на количество временных интервалов периода
  • Максимальное количество за выбранный период = максимальному количеству одного из временных интервалов периода
  • Минимальное количество за выбранный период = минимальному количеству одного из временных интервалов периода

image

Определение терминов

Статус потока данных

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

  • Ок - поток в работе, задания выполняются без ошибок
  • Неизвестно - поток не содержит активных заданий
  • Проблема - в одном из заданий потока возникла ошибка

Рассчитывается исходя из статусов выполнения заданий агента соответствующего потока. Проставляется по наихудшему значению статуса выполнения скрипта.

💡 Дополнительно к значению статуса отображается время его последнего расчета (время обновляется даже если статус не менялся).

Экспорт потока данных

Пользователи системы могут экспортировать настроенные потоки данных в base64 формат.

В экспортируемом коде потока данных, содержится следующая информация:

  • Вкладка "Настройки"
    • Параметры конфигурации
      • Все незащищенные параметры и их значения
      • Все защищенные параметры без их значений
    • Пользовательские параметры
      • Все незащищенные параметры и их значения
      • Все защищенные параметры без их значений
    • Настройки хранения
    • Настройки self-мониторинга
  • Вкладка "Конфигурация"
    • Задания потока данных
      • Название задания
      • Примечание
      • Сценарий задания
      • Метки агентов
      • Настройки планировщика запуска

Остальные параметры потока данных не включены в экспортируемые данные и требуют дополнительной настройки после импорта.

Чтобы экспортировать поток данных, находясь на странице списка всех потоков или в карточке выбранного потока, используя дополнительное меню, выберите - "Экспорт"

Изображение

Удаление потока данных

  1. Перейдите в раздел Сбор данных - Потоки данных через основное меню
  2. Найдите необходимый поток
  3. Воспользуйтесь вспомогательным меню для удаления соответствующего потока данных

Удалить поток данных также можно со страницы настроек потока:

  1. Найдите необходимый поток и перейдите на страницу настройки потока
  2. В правом верхнем углу нажмите Удалить