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

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

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

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

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

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

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

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

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

Для настройки потока данных, перейдите в карточку потока данных, который нужно настроить.

Основная информация

В блоке "Основная информация" пользователь может посмотреть или изменить следующие параметры потока:

  • Владельца
  • Название
  • Описание
  • Иконку
Справка
  • API ключ - ключ при помощи которого идентифицируются отправляемые данные в поток
  • Webhook URL - содержит готовый путь для отправки Webhook из внешних систем в формате {URL пространства}/api/public/cl/v1/stream-data?streamKey={API ключ потока}, например https://demo.example.ru/api/public/cl/v1/stream-data?streamKey=3160a64c-2fdd-43e6-b77f-50e904072024

Параметры задания

В блоке "Параметры задания" пользователь может добавить необходимые параметры (переменные), которые можно использовать при написании сценариев "Заданий"

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

Задания

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

Внимание

⚠️ Выполнение сценариев заданий производится на агенте Monq

Изображение

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

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

  1. Нажмите кнопку "+ Задание"

  2. Задайте основные параметры выполнения задания

    Изображение

    • Название задания

    • Описание задания

    • Режим выполнения задания

      • на любом агенте - задание будет выполнено на любом свободном агенте (если все агенты заняты, задание будет поставлено в очередь)
      • на всех агентах - задание будет выполнено на всех доступных агентах сразу (если на момент запуска агента он будет занят - будет сгенерирована ошибка выполнения задания)
    • Агент - порядок выбора агента для выполнения задания

      • содержит любую метку из списка - задание будет выполнено на агенте, содержащем одну из меток, перечисленных в списке

      • содержит все метки из списка - задание будет выполнено на агенте, содержащем все метки, перечисленные в списке

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

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

    • Расписание CRON - установите периодичность запуска задания, используя формат CRON

    • Увеличивать интервал запуска при ошибках - после 3-х ошибок выполнения задания будет установлена задержка 8 секунд, которая будет удваиваться пока не достигнет интервала в 1 час. Успешное выполнение или изменение настроек задания сбрасывает счетчик ошибок.

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

    Изображение

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

  5. Активируйте задание переключателем возле названия задания

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

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

Версионирование заданий

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

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

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

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

Изображение

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

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

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

Для удаления ранее добавленного задания, воспользуйтесь контекстным меню этого задания и выберите "Удалить"

Изображение

Обработчик

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

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

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

Для редактирования обработчика текущего потока кликните по названию обработчика (Handler for stream 4440), чтобы перейти к сценарию предобработки данных.

Изображение

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

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

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

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

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

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

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

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

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

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

Изображение

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

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

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

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

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

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

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

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

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" - ошибка в обработчике потока.

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

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

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

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

  • Состояние
    • Paused
    • Running
  • Задания со статусом
    • Error
    • Warning
    • Ok
    • Unknown
    • Нет задания
  • Владелец
    • Рабочая группа, которой принадлежит поток данных (для расшаренных потоков данных)

Изображение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

image

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

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

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

image

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

Статус заданий

Статус задания - агрегированный показатель результатов исполнения экземпляров задания.

Статус экземпляра задания - показатель результата исполнения единичного экземпляра задания на одном Агенте. Разовое исполнение задания и исполнение задания по расписанию - агрегируются статусы всех экземпляров задания в рамках одного запуска.

Статус экземпляра задания может принимать одно из трех значений:

  • Неизвестно - экземпляр исполняется в текущий момент или его исполнение было остановлено принудительно
  • Ошибка - исполнение экземпляра задания завершилось по какой-то из следующих причин:
    • Нет доступного Агента для исполнения экземпляра задания
    • Пропала связь с Агентом при исполнении экземпляра задания
    • Произошла ошибка при исполнении экземпляра задания (истекло максимальное время исполнения, не выполнился запрос и т.д.)
  • Ок - исполнение экземпляра задания завершилось успешно

Статус задания может принимать следующие значения:

  • Неизвестно (серый) - задание не запускалось или все экземпляры задания имеют статус Неизвестно
  • Ок (зеленый) - все экземпляры задания имеют статус Ок
  • Предупреждение (желтый) - экземпляры задания имеют разные статусы
  • Ошибка (красный) - все экземпляры задания имеют статус Ошибка

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

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

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

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

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

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

Изображение

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

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