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

🅰️ Автоматизация

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

Термин "Low-Code" относится к методологии разработки программного обеспечения, которая стремится упростить процесс создания приложений, минимизируя необходимость вручную писать код.

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

Для построения Сценариев доступны как базовые Блоки системной библиотеки, так и локальные функции, написанные пользователем на скриптовом языке C# scripts.

Руководство по созданию первого сценария

Архитектура обработки сценария автоматизации

Изображение

Общий принцип построения РСМ

Изображение

Экран управления сценариями

Изображение

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

  • Название сценария (содержит информацию о статусе и режиме отладки, если она включена)
  • Тип сценария
  • Владелец сценария (Рабочая группа)
  • Общесистемные тэги
  • Дата последних изменений
  • Дата последнего запуска

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

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

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

Для фильтрации доступны следующие параметры:

  • Владелец - рабочая группа, которой принадлежит сценарий
  • Статус - активен/остановлен
  • Тип - тип сценария
  • Тэг - общесистемный тэг

Выберите необходимые условия фильтра - настройки фильтра применяются "на лету".

Тип сценария

Тип сценария соответствует маршрутному узлу, по которому проходит событие на обработку.

В текущей версии в системе доступны, следующие маршрутные узлы (типы) для сценариев:

  • CMDBAutodiscovery - маршрутный узел обработки событий, связанных с построением ресурсно сервисной модели
  • SignalsProcessor - маршрутный узел обработки событий и логов из внешних источников
  • ThresholdsProcessor - маршрутный узел привязки порогов к конфигурационным единицам РСМ
  • BuildsProcessor - маршрутный узел обработки сборок автоматического тестирования
  • Stream Raw Events Processor - скрытый маршрутный узел препроцессора (обработчика) событий в потоке данных

Тэги сценария

Для дополнительной организации и классификации сценариев, пользователям с правами редактирования в модуле Автоматизация, доступно добавление/удаление тэгов к сценариям.

Теги позволяют логически группировать сценарии. Например, вы можете использовать теги для организации сценариев по функциональности. Это облегчает поиск, фильтрацию и управление множеством сценариев.

Управление доступом к сценариям

К сценариям автоматизации можно персонализировать доступ пользователей в рамках права - "Platform.Автоматизация" в настройках ролей "Рабочей группы".

Справка по пользовательским правам

Справка по настройке ролей в РГ

Доступно назначение следующих видов прав для Роли:

  • Запрещено

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

  • Редактирование

    Пользователь получает полные права на создание, редактирование и удаление сценариев.

  • Чтение

    • Разрешено

      • Просмотр сценариев и основной информации о них
      • Экспорт сценариев
      • Поиск по сценариям
      • Просмотр истории запусков сценариев
      • Просмотр исходного кода
      • Просмотр запланированных запусков
    • Запрещено

      • Активация/деактивация сценариев
      • Компиляция сценариев
      • Удаление сценариев
      • Добавление/удаление/редактирование объектов на холсте

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

  • Менеджер - Редактирование
  • Пользователь - Чтение

Избранные сценарии

Если среди множества сценариев вы хотите пометить сценарии "избранными" лично для себя, чтобы упростить свою навигацию по ним:

  1. Найдите свой сценарий
  2. Отметьте "звездочкой" сценарий для добавления в избранное Изображение

Конструктор сценариев

Конструктор включает в себя возможность просматривать и редактировать сам сценарий, а также основную информацию о нем.

Изображение

Сценарий может находиться в состоянии активен или неактивен.

  • Активный сценарий - система запуска и выполнения сценариев привлекает его для обработки событий
  • Неактивный сценарий - система запуска и выполнения сценариев не привлекает его для обработки событий.

Сразу после создания, сценарию устанавливается режим Неактивен. Активировать сценарий можно из конструктора сценария или с экрана управления сценариями.

Редактирование сценария происходит способом "Drag'n''Drop" - перемещая блоки и связи между ними указателем курсора.

Для перемещения нескольких блоков одним движением - нажмите и удерживайте клавишу Ctrl, выделите необходимые блоки и не отпуская клавишу Ctrl перетащите их в нужное место сценария.

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

Диспетчер объектов

Диспетчер объектов

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

Пользователь может перейти к настройкам данных сущностей (Инспектор объектов) сразу из диспетчера, без необходимости добавления их на граф.

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

  • Локальные функции.
  • Локальные переменные.
  • Локальные структуры.

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

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

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

Изображение

Инспектор объектов

Инспектор объектов

Изображение

Компиляция сценария

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

💡 Компиляция сценария не является функцией его сохранения. Сохранение происходит после каждого изменения в сценарии.

Режим отладки

Все типы сценариев, кроме сценариев предобработки событий в потоках данных можно перевести в режим отладки.

Сценарий, находящийся в данном режиме, позволяет автоматически записывать в журнал входящие и выходящие параметры Impure-функций, благодаря чему сильно упрощается процесс отладки.

Чтобы включить режим отладки необходимо перейти к выбранному сценарию и активировать его соответствующей кнопкой:

Изображение

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

Исходный код

После компиляции сценария генерируется исходный код сценария на языке C#. Просмотреть сгенерированный код можно в нижней панели конструктора сценария - "Исходный код"

Изображение

⚠️ Редактировать сгенерированный исходный код сценария нельзя.

История запусков

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

По умолчанию загружается список запусков сценария со статусами:

  • CompileError - ошибка компиляции
  • Completed - устанавливается соответствующей функцией SetStatusCompleted в сценарии, по его успешному завершению
  • Debug - устанавливается соответствующей функцией SetStatusDebug в сценарии, при отладке
  • Error - ошибка в работе сценария
  • Failed - устанавливается соответствующей функцией SetStatusFailed в сценарии, при отладке

Дополнительно, можно включить в фильтр следующие статусы:

  • Executed - каждый запуск сценария
  • Launched - инициализация запуска сценария
  • Skipped - устанавливается соответствующей функцией SetStatusSkipped в сценарии, при отладке

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

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

Планировщик запуска сценариев

В Monq пользователям доступен запуск сценариев в запланированное время или с определенной периодичностью.

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

Например. После получения события о восстановлении проблемы Сигнал можно закрывать не сразу, а через определенное время, если эта проблема не повторилась в течении 5 минут.

При этом запуск сценария может быть двух типов:

  • Разовый запуск сценария в определенное время
  • Ряд запусков сценария повторяющихся с определенной периодичностью

Просмотр активных расписаний

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

Изображение

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

  • Время следующего запуска
  • Статус расписания
    • Enabled - расписание активно
    • Paused - запуск сценария по планировщику приостановлен
  • Описание расписания
  • Элементы управления расписаниями
    • Редактирование расписания
    • Остановка/запуск расписания
    • Удаление расписания

Ручное создание расписания

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

  1. Перейдите в раздел "Планировщик запусков" нижней панели текущего сценария

  2. Нажмите кнопку "+ Запланировать запуск"

  3. Заполните форму создания расписания

    Изображение

    • Описание - текстовое, понятное пользователю описание запланированного запуска
    • Действие - событие в формате JSON, которое будет передано в сценарий при следующем запуске
    • Часовой пояс
    • Начало - дата и время первого запуска сценария
    • Повторения - возможность включить ряд запусков сценария

      Указывается в формате CRON

      Состоит из пяти полей разделённых пробелами: <Минута> <Час> <Число> <Месяц> <День недели>

    • Окончание - дата и время до которого будет происходить запуск сценария, если настроены повторения
  4. Нажмите кнопку "Запланировать запуск" - будет создано расписание запуска

Автоматическое создание расписания

Автоматическое создание расписания подразумевает инициализацию последующего запуска сценария непосредственно из сценария.

Для этого предназначены соответствующая глобальная функция CreateSchedule - справка.

Импорт/экспорт сценария

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

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

image

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

image

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

Если в сценарии используются глобальные пользовательские библиотеки, при переносе сценариев на другой стенд, сперва необходимо перенести пользовательские библиотеки через экспорт/импорт

Клонирование сценария

Для создания копии текущего сценария пользователям доступно клонирование сценариев Автоматизации. Клонирование сценариев доступно на экране списка доступных сценариев и в самом конструкторе сценария.

Чтобы клонировать сценарий:

  1. Откройте раздел Автоматизации.

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

  3. В контекстном меню необходимого сценария выберите Создать копию

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

  5. Нажмите Сохранить

image

Журнал изменений

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

На экране управления всеми доступными сценариями или в любом отдельном сценарии, для просмотра истории изменений откройте через дополнительное меню Журнал изменений

Изображение

При необходимости записи журнала можно отфильтровать по дате и времени.