Автоматизация
Новый функционал автоматизации, построенный на базе low-code движка визуального программирования и собственной системы запуска и выполнения сценариев позволяет пользователям создавать произвольные сценарии обработки событий при помощи визуальных блоков и установки связей между ними.
Термин "Low-Code" относится к методологии разработки программного обеспечения, которая стремится упростить процесс создания приложений, минимизируя необходимость вручную писать код.
С помощью такого подхода инженеры внедрения могут быстрее создавать сценарии, поскольку они могут сосредоточиться на логике и бизнес-процессах, а не на написании каждой детали кода. Это также позволяет "непрограммистам", таким как бизнес-аналитикам или инженерам мониторинга, участвовать в создании сценариев, упрощая процесс разработки и снижая зависимость от высококвалифицированных разработчиков.
Для построения Сценариев доступны как базовые Блоки системной библиотеки, так и локальные функции, написанные пользователем на скриптовом языке C# scripts.
Руководство по созданию первого сценария
Архитектура обработки сценария автоматизации
Общий принцип построения РСМ
Экран управления сценариями
На главной странице экрана Автоматизация представлен табличный список сценариев со следующей информацией:
- Название сценария (содержит информацию о статусе и режиме отладки, если она включена)
- Тип сценария
- Владелец сценария (Рабочая группа)
- Общесистемные тэги
- Дата последних изменений
- Дата последнего запуска
🔁 Порядок столбцов таблицы можно определить в удобном для себя формате.
Поиск сценариев автоматизации производится по их названию, а также и по названию рабочей группы владельца сценария.
На экране управления сценариями можно настроить параметрический фильтр для отображения только определенных сценариев.
Для фильтрации доступны следующие параметры:
- Владелец - рабочая группа, которой принадлежит сценарий
- Статус - активен/остановлен
- Тип - тип сценария
- Тэг - общесистемный тэг
Выберите необходимые условия фильтра - настройки фильтра применяются "на лету".
Тип сценария
Тип сценария соответствует маршрутному узлу, по которому проходит событие на обработку.
В текущей версии в системе доступны, следующие маршрутные узлы (типы) для сценариев:
CMDBAutodiscovery
- маршрутный узел обработки событий, связанных с построением ресурсно сервисной моделиSignalsProcessor
- маршрутный узел обработки событий и логов из внешних источниковThresholdsProcessor
- маршрутный узел привязки порогов к конфигурационным единицам РСМBuildsProcessor
- маршрутный узел обработки сборок автоматического тестированияStream Raw Events Processor
- скрытый маршрутный узел препроцессора (обработчика) событий в потоке данных
Тэги сценария
Для дополнительной организации и классификации сценариев, пользователям с правами редактирования в модуле Автоматизация, доступно добавление/удаление тэгов к сценариям.
Теги позволяют логически группировать сценарии. Например, вы можете использовать теги для организации сценариев по функциональности. Это облегчает поиск, фильтрацию и управление множеством сценариев.
Управление доступом к сценариям
К сценариям автоматизации можно персонализировать доступ пользователей в рамках права - "Platform.Автоматизация" в настройках ролей "Рабочей группы".
Доступно назначение следующих видов прав для Роли:
Запрещено
При переходе к экрану управления сценариями автоматизации пользователю недоступен к просмотру данный раздел системы.
Редактирование
Пользователь получает полные права на создание, редактирование и удаление сценариев.
Чтение
Разрешено
- Просмотр сценариев и основной информации о них
- Экспорт сценариев
- Поиск по сценариям
- Просмотр истории запусков сценариев
- Просмотр исходного кода
- Просмотр запланированных запусков
Запрещено
- Активация/деактивация сценариев
- Компиляция сценариев
- Удаление сценариев
- Добавление/удаление/редактирование объектов на холсте
По умолчанию для системных ролей Рабочих групп назначаются следующие права:
- Менеджер - Редактирование
- Пользователь - Чтение
Избранные сценарии
Если среди множества сценариев вы хотите пометить сценарии "избранными" лично для себя, чтобы упростить свою навигацию по ним:
- Найдите свой сценарий
- Отметьте "звездочкой" сценарий для добавления в избранное
Конструктор сценариев
Конструктор включает в себя возможность просматривать и редактировать сам сценарий, а также основную информацию о нем.
Сценарий может находиться в состоянии активен или неактивен.
- Активный сценарий - система запуска и выполнения сценариев привлекает его для обработки событий
- Неактивный сценарий - система запуска и выполнения сценариев не привлекает его для обработки событий.
Сразу после создания, сценарию устанавливается режим Неактивен. Активировать сценарий можно из конструктора сценария или с экрана управления сценариями.
Редактирование сценария происходит способом "Drag'n''Drop" - перемещая блоки и связи между ними указателем курсора.
Для перемещения нескольких блоков одним движением - нажмите и удерживайте клавишу Ctrl
, выделите необходимые блоки и не отпуская клавишу Ctrl
перетащите их в нужное место сценария.
Для удаления нескольких блоков сразу - нажмите и удерживайте клавишу Ctrl
, выделите необходимые блоки на холсте, отпустите клавишу Ctrl
и нажмите клавишу Delete
на клавиатуре, блоки будут удалены без дополнительного подтверждения.
Диспетчер объектов
Пользователю доступен Диспетчер объектов, позволяющий работать с объявленными сущностями текущего сценария. Каждая объявленная локальная функция, переменная или структура в сценарии будет отображена в данном диспетчере.
Пользователь может перейти к настройкам данных сущностей (Инспектор объектов) сразу из диспетчера, без необходимости добавления их на граф.
В диспетчере объектов доступно создание новых сущностей сценария, а именно:
- Локальные функции.
- Локальные переменные.
- Локальные структуры.
Для удобства навигации по объектам сценария в верхней части Диспетчера объектов находится форма поиска по названию объекта.
При добавлении, новым сущностям назначаются названия по умолчанию:
CodeFunction
для СodeFunction.Struct
для структур.Variable
для переменных.В случае повторения названий, к ним добавляется порядковый номер.
Инспектор объектов
Компиляция сценария
После внесения изменений в конструкцию сценария, конфигурацию или скрипт блока функции - необходимо скомпилировать итоговый сценарий для проверки на корректность составления.
💡 Компиляция сценария не является функцией его сохранения. Сохранение происходит после каждого изменения в сценарии.
Режим отладки
Все типы сценариев, кроме сценариев предобработки событий в потоках данных можно перевести в режим отладки.
Сценарий, находящийся в данном режиме, позволяет автоматически записывать в журнал входящие и выходящие параметры Impure-функций, благодаря чему сильно упрощается процесс отладки.
Чтобы включить режим отладки необходимо перейти к выбранному сценарию и активировать его соответствующей кнопкой:
После включения режима отладки, вся отладочная информация содержится в панели История запусков в подкате каждого запуска сценария.
Исходный код
После компиляции сценария генерируется исходный код сценария на языке C#. Просмотреть сгенерированный код можно в нижней панели конструктора сценария - "Исходный код"
⚠️ Редактировать сгенерированный исходный код сценария нельзя.
История запусков
На вкладке "История запусков" отображается информация о запусках сценария, инициализированных получением первичного события или по расписанию планировщика.
По умолчанию загружается список запусков сценария со статусами:
CompileError
- ошибка компиляцииCompleted
- устанавливается соответствующей функциейSetStatusCompleted
в сценарии, по его успешному завершениюDebug
- устанавливается соответствующей функциейSetStatusDebug
в сценарии, при отладкеError
- ошибка в работе сценарияFailed
- устанавливается соответствующей функциейSetStatusFailed
в сценарии, при отладке
Дополнительно, можно включить в фильтр следующие статусы:
Executed
- каждый запуск сценарияLaunched
- инициализация запуска сценарияSkipped
- устанавливается соответствующей функциейSetStatusSkipped
в сценарии, при отладке
Информация о новых запусках сценария на вкладке загружается автоматически по технологии WebSockets.
Настроенное представление в виде определенных статусов и временного промежутка сохраняются для каждого сценария в настройках пользователя.
Планировщик запуска сценариев
В Monq пользователям доступен запуск сценариев в запланированное время или с определенной периодичностью.
Запланировать запуск сценария можно вручную, используя интерфейс работы с текущим сценарием. А также при помощи специальных глобальных функций непосредственно в сценарии, при определенных условиях.
Например. После получения события о восстановлении проблемы Сигнал можно закрывать не сразу, а через определенное время, если эта проблема не повторилась в течении 5 минут.
При этом запуск сценария может быть двух типов:
- Разовый запуск сценария в определенное время
- Ряд запусков сценария повторяющихся с определенной периодичностью
Просмотр активных расписаний
Чтобы просмотреть запланированные запуски текущего сценария перейдите в раздел "Планировщик запусков" нижней панели текущего сценария
В данном разделе отображается информация о текущих запланированных запусках данного сценария:
- Время следующего запуска
- Статус расписания
- Enabled - расписание активно
- Paused - запуск сценария по планировщику приостановлен
- Описание расписания
- Элементы управления расписаниями
- Редактирование расписания
- Остановка/запуск расписания
- Удаление расписания
Ручное создание расписания
Чтобы запланировать запуск сценария в определенное время или с определенной периодичностью:
Перейдите в раздел "Планировщик запусков" нижней панели текущего сценария
Нажмите кнопку "+ Запланировать запуск"
Заполните форму создания расписания
- Описание - текстовое, понятное пользователю описание запланированного запуска
- Действие - событие в формате JSON, которое будет передано в сценарий при следующем запуске
- Часовой пояс
- Начало - дата и время первого запуска сценария
- Повторения - возможность включить ряд запусков сценария
Указывается в формате CRON
Состоит из пяти полей разделённых пробелами:
<Минута> <Час> <Число> <Месяц> <День недели>
- Окончание - дата и время до которого будет происходить запуск сценария, если настроены повторения
Нажмите кнопку "Запланировать запуск" - будет создано расписание запуска
Автоматическое создание расписания
Автоматическое создание расписания подразумевает инициализацию последующего запуска сценария непосредственно из сценария.
Для этого предназначены соответствующая глобальная функция CreateSchedule
- справка.
Импорт/экспорт сценария
Пользователи могут делиться между собой готовыми конструкциями сценариев благодаря инструментам Экспорта и Импорта сценария.
При экспорте запускается механизм сериализации сценария в формат base64
. По результату выполнения экспорта, пользователю будет предложено скопировать в буфер обмена код или скачать txt-файл с его содержимым.
Кроме стандартного создания сценария, пользователю доступна опция импорта, при выборе которой необходимо заполнить строку с содержимым в формате base64
.
В процессе импорта система проверит соответствие версий задействованных модулей, и в случае успеха создаст сценарий со всеми необходимыми локальными функциями и структурами.
Клонирование сценария
Для создания копии текущего сценария пользователям доступно клонирование сценариев Автоматизации. Клонирование сценариев доступно на экране списка доступных сценариев и в самом конструкторе сценария.
Чтобы клонировать сценарий:
Откройте раздел Автоматизации.
Найдите необходимый сценарий в списке.
В контекстном меню необходимого сценария выберите Создать копию
В открывшейся форме задайте новое имя сценария и при необходимости нового владельца.
Нажмите Сохранить
Журнал изменений
Начиная с версии Monq 7.9.0 все изменения в сценариях фиксируются и доступны пользователям для просмотра.
На экране управления всеми доступными сценариями или в любом отдельном сценарии, для просмотра истории изменений откройте через дополнительное меню Журнал изменений
При необходимости записи журнала можно отфильтровать по дате и времени.