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

Бизнес-процессы

Бизнес-процессы (БП) в Monq - это инструмент автоматизации от простых пользовательских действий до сложных, распределенных по времени пользовательских процессов.

Например, процесс матрицы эскалации оповещений ответственных лиц, когда при возникновении аварии создается задача в ServiceDesk на ответственную группу, при этом группы обслуживающие смежные сервисы, которые могут быть задеты аварией просто оповещаются, например через Telegram. В случае продолжения аварии более 20 мин оповещение уходит начальнику эксплуатационной службы, а если затягивается более 1 часа - ИТ-директору компании.

image

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

В следующих версиях Monq планируется расширить стартовые события "порогами здоровья" и "порогами метрик".

Внутри бизнес-процесс состоит из шагов и различных инструментов (таких как паузы, разветвления, бизнес-календарь). Каждый шаг представлен сценарием автоматона, определенные пользователями в смежной вкладке Действия. У каждого шага бизнес процесса есть порядковый номер для идентификации при использовании данных из выбранного блока.

image

Создание бизнес-процесса

Находясь в разделе "Бизнес-процессы" выполните следующие действия для добавления нового бизнес-процесса:

  1. Перейдите через основное меню в раздел "Автоматизация - Бизнес-процессы"

  2. Нажмите кнопку "+ Создать Бизнес-процесс" в правом верхнем углу

  3. Заполните форму "Создание бизнес-процесса":

    image

    • Выберите владельца бизнес-процесса
    • Название бизнес-процесса
    • Описание
  4. Нажмите кнопку "Создать", будет создан и открыт новый бизнес-процесс

    image

    Новый бизнес-процесс начинается с кнопки Add block на холсте, нажмите на неё, чтобы добавить первый блок - стартовое событие.

Стартовые события

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

Существует несколько типов стартовых событий:

  • Collector - первичное событие поступившее в поток данных
  • Signal - открытый или закрытый Сигнал, вручную или через сценарии корреляции
  • CI Status - изменение статуса конфигурационной единицы по здоровью
  • Scheduler - запуск бизнес-процесса по расписанию

Условия для запуска БП:

  • Бизнес-процесс должен быть активен
  • Событие, поступившее на вход маршрутного узла, должно быть инициировано РГ-владельцем бизнес-процесса
  • На холсте бизнес-процесса должен быть как минимум один стартовый блок
  • Событие должно удовлетворять настроенным правилам в блоке стартового события

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

Collector

Чтобы настроить запуск бизнес-процесса при получении первичного события, добавьте на холст БП блок стартового события - Collector:

image

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

image

Для этого нажмите кнопку "+ Добавить условие" или "+ Добавить группу условий"

image

Условия блока Collector могут строится по следующим атрибутам:

  • Поток - поток данных, источник событий
    • Равен одному из... - выберите потоки данных, события из которых запустят бизнес-процесс
    • Не равен ни одному из - выберите потоки данных, события из которых не будут запускать бизнес-процесс
  • Source - можно обратиться к любому полю первичного события и проверить его значение на соответствие настроенному фильтру. Существует возможность работать со всеми базовыми типами данных в полях (string, integer, boolean и др.). А также поддерживается работа с массивами.
    • string/guid/char - сравнение строковых значений
      • "Равно"/"Не равно"
      • "Содержит"/"Не содержит"
      • "Начинается с"/"Не начинается с"
      • "Заканчивается на"/"Не заканчивается на"
    • integer/double/byte - сравнение цифровых значений
      • "Больше"/"Меньше"
      • "Равно"/"Не равно"
      • "Больше или равно"/"Меньше или равно"
    • boolean - сравнение логических значений
      • "True"/"False"
    • array - сравнение массивов
      • "Равно/Не равно" - полное соответствие массива
      • "Содержит все" - проверяется наличие всех перечисленных элементов в массиве
      • "Содержит любой" - проверяется наличие хотя бы одного из перечисленных элементов в массиве
      • "Массив не содержит все" - проверяется отсутствие всех перечисленных элементов в массиве
      • "Массив не содержит любое" - проверяется отсутствие хотя бы одного из перечисленных элементов в массиве

Signal

Чтобы настроить запуск бизнес-процесса при открытии, закрытии или изменении Сигнала, добавьте на холст БП блок стартового события - Signal:

image

После добавления блока Signal необходимо настроить условия фильтрации Сигналов.

image

Для этого нажмите кнопку "+ Добавить условие" или "+ Добавить группу условий"

image

Условия блока Signal могут строится по следующим атрибутам Сигнала:

  • Критичность - уровень критичность сигнала
  • Название - сравнение названия сигнала с введенным значением фильтра
    • "Равно"/"Не равно"
    • "Содержит"/"Не содержит"
    • "Начинается с"/"Не начинается с"
    • "Заканчивается на"/"Не заканчивается на"
  • Метки - можно обратиться к любому полю меток Сигнала и проверить значение на соответствие настроенному фильтру
    • string/guid/char - сравнение строковых значений
      • "Равно"/"Не равно"
      • "Содержит"/"Не содержит"
      • "Начинается с"/"Не начинается с"
      • "Заканчивается на"/"Не заканчивается на"
    • integer/double/byte - сравнение цифровых значений
      • "Больше"/"Меньше"
      • "Равно"/"Не равно"
      • "Больше или равно"/"Меньше или равно"
    • boolean - сравнение логических значений
      • "True"/"False"
    • array - сравнение массивов
      • "Равно/Не равно" - полное соответствие массива
      • "Содержит все" - проверяется наличие всех перечисленных элементов в массиве
      • "Содержит любой" - проверяется наличие хотя бы одного из перечисленных элементов в массиве
      • "Массив не содержит все" - проверяется отсутствие всех перечисленных элементов в массиве
      • "Массив не содержит любое" - проверяется отсутствие хотя бы одного из перечисленных элементов в массиве
  • Статус - статус сигнала
    • "Открыт"
    • "Закрыт"
  • Тип события - характер события о Сигнале
    • "Создан"
    • "Изменен"
    • "Закрыт"
  • Теги - фильтрация по связанным с Сигналом тегам
  • Связанные КЕ - проверка связи Сигнала с ресурсно-сервисной моделью, с возможность проверить статус КЕ и находится ли КЕ в режиме обслуживания или нет
    • "Сигнал связан с любой КЕ из списка"/"Сигнал не связан хотя бы с одной КЕ из списка"
    • "Сигнал связан со всеми КЕ из списка"/"Сигнал не связан ни с одной КЕ из списка"
    • "Сигнал связан с подчиненной КЕ для любой КЕ из списка"/"Сигнал не связан с подчиненной КЕ для любой КЕ из списка"
    • "Сигнал связан с влияющей КЕ для любой КЕ из списка"/"Сигнал не связан с влияющей КЕ для любой КЕ из списка"
    • "Сигнал связан с влияющей КЕ для всех КЕ из списка"
    • "Сигнал связан с КЕ из карты РСМ"

CI Status

Чтобы настроить запуск бизнес-процесса по изменению статуса КЕ, добавьте на холст БП блок стартового события - CI Status:

image

После добавления блока CI Status необходимо настроить условия фильтрации по КЕ.

image

Для этого нажмите кнопку "+ Добавить условие" или "+ Добавить группу условий"

image

Условия блока CI Status могут строится по следующим свойствам КЕ:

  • Название - название конфигурационной единицы

    • "Равно"/"Не равно"
    • "Содержит"/"Не содержит"
    • "Начинается с"/"Не начинается с"
    • "Заканчивается на"/"Не заканчивается на"
  • Статус - статус КЕ с проверкой на режим обслуживания

    • "Равен одному из"/"Не равен одному из"
  • Метки - можно обратиться к любому полю меток КЕ и проверить значение на соответствие настроенному фильтру

    • string/guid/char - сравнение строковых значений
      • "Равно"/"Не равно"
      • "Содержит"/"Не содержит"
      • "Начинается с"/"Не начинается с"
      • "Заканчивается на"/"Не заканчивается на"
    • integer/double/byte - сравнение цифровых значений
      • "Больше"/"Меньше"
      • "Равно"/"Не равно"
      • "Больше или равно"/"Меньше или равно"
    • boolean - сравнение логических значений
      • "True"/"False"
    • array - сравнение массивов
      • "Равно/Не равно" - полное соответствие массива
      • "Содержит все" - проверяется наличие всех перечисленных элементов в массиве
      • "Содержит любой" - проверяется наличие хотя бы одного из перечисленных элементов в массиве
      • "Массив не содержит все" - проверяется отсутствие всех перечисленных элементов в массиве
      • "Массив не содержит любое" - проверяется отсутствие хотя бы одного из перечисленных элементов в массиве
  • Тип КЕ - фильтрация по типам конфигурационных единиц

    • "Равен одному из"/"Не равен одному из"
  • Связи КЕ - настройка фильтрации в соответствии с имеющимися связями у КЕ Инициирующая КЕ - та КЕ, по которой пришло событие об изменении ее статуса.

    ПараметрРезультат фильтрацииДопустимые значения
    КЕ влияет на любую КЕ из спискаИстинно, если инициирующая КЕ влияет на любую КЕ из спискаКЕ, доступные для текущей РГ
    КЕ влияет на все КЕ из спискаИстинно, если инициирующая КЕ влияет на все КЕ из списка.КЕ, доступные для текущей РГ
    На КЕ влияет любая КЕ из спискаИстинно, если на инициирующую КЕ влияет любая КЕ из списка.КЕ, доступные для текущей РГ
    На КЕ влияют все КЕ из спискаИстинно, если на инициирующую КЕ влияют все КЕ из списка.КЕ, доступные для текущей РГ
    КЕ является дочерней для любой КЕ из спискаИстинно, если инициирующая КЕ является дочерней для любой КЕ из спискаКЕ, доступные для текущей РГ
    КЕ находится на любой карте РСМ из спискаИстинно, если инициирующая КЕ находится на любой карте из списка.Карты РСМ, владельцем которых является текущая РГ
  • Атрибуты типа КЕ - настройка фильтрации по имеющимся атрибутам выбранного типа КЕ

Scheduler

Чтобы настроить запуск бизнес-процесса по расписанию, добавьте на холст БП блок стартового события - Scheduler:

image

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

image

  1. Укажите "Часовой пояс"
  2. Задайте периодичность запуска, используя формат CRON
  3. Укажите "Начало" - дату, начиная с которой будет запускаться БП
  4. (Опционально) Укажите "Завершение" - дату, после которой БП запускаться не будет.

Инструменты бизнес-процессов

Ниже представлены основные инструменты управления и ветвления пайплайна в бизнес-процессах Monq.

Switch

Блок Switch - это инструмент, предназначенный для маршрутизации выполнения пайплайна БП в соответствии с определенными правилами, основанными на значении заданной переменной или выражения. Является аналогом конструкции switch/case в программировании.

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

Для добавления блока Switch перейдите в раздел "Инструменты" контекстного меню холста и выберите его из списка доступных инструментов.

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

Основные параметры настройки блока:

  • Входное значение - представляет собой значение, с которым будет сравниваться заданные правила для выходов блока Switch. Значение в поле Входное значение должно быть указано в виде переменной из слоя данных БП. Тип данных в поле Входное значение автоматически определяется в соответствии с выбранной переменной, однако его можно изменить вручную. Важно отметить, что если тип данных изменен вручную и не соответствует типу переменной, будет выведена соответствующая подсказка.

  • Вывод - это выход из функции Switch по определенному направлению. Выходы могут быть добавлены как из настроек блока Switch, так и автоматически при соединении блока Switch с другими блоками. Для добавления выводов, нажмите кнопку "+ Добавить вывод" в настройках блока. Каждому добавленному выводу присваивается псевдоним (Output A, Output B), который можно изменить по желанию. Условия для выводов настраиваются в соответствии с типом данных, указанным в поле Входное значение и могут быть построены в виде конструкций с использованием логических операторов и групп условий. Количество добавляемых выходов не ограничено.

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

image

Например, на скриншоте выше приведен пример. Если название Сигнала содержит ключевые слова "Network" или "Router", то дальнейшее управление бизнес-процессом идет на вывод "К сетевым инженерам", а если название Сигнала начинается с букв "VM", то на вывод "Инфра". Если же Входное значение не соответствует ни одному из условий, то вывод из блока Switch будет "Всё остальное".

image

Wait

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

Для добавления блока Wait перейдите в раздел "Инструменты" контекстного меню холста и выберите его из списка доступных инструментов.

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

Основные параметры настройки блока:

  • Продолжить - условия продолжения выполнения пайплайна БП

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

  • Продолжить после временного интервала:
    • Задержка - значение временного интервала задержки. Значение задержки может быть указано вручную в виде целого числа или передано из переменной.
      • При передаче строки произойдет попытка автоматического преобразования значения в число
      • Если передано отрицательное число, блок выполнится моментально, без задержки и ошибки
      • Пользователь может предварительно проверить значение переменной через блок Switch, чтобы избежать нештатных ситуаций
      • Если переданное значение не является числом, блок завершится с ошибкой, и выполнение ветки БП остановится
      • Значения переменных с дробной частью будут округлены до целых чисел
  • В установленное время
    • Время продолжения - время в формате DateTimeOffset (например, 2024-01-31T17:44:00+03:00), можно задать вручную или передать в качестве переменной из слоя данных
  • После выполнения всех предыдущих блоков - блок дождется получения "сигнала" по всем входящим связям и после этого будет моментально выполнен.

Business Calendar

Блок Business Calendar предназначен для управления потоком выполнения БП в зависимости от подключенного производственного календаря и времени исполнения.

image

Блок Business Calendar имеет один входной пин и две выходных связи, созданных по умолчанию с подписями "True" и "False".

Пользователь может настроить условие с применением бизнес-календаря, в случае удовлетворения которого, выполнение будет продолжено по связи "True". В противном случае, выполнение будет продолжено по связи "False".

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

Пользователю доступны следующие условия:

  • Выбор дней недели согласно бизнес-календарю. По умолчанию выбраны все дни недели.
  • Опции бизнес-календаря:
    • Будние дни (выбраны по умолчанию)
    • Выходные и праздники (выбраны по умолчанию)
  • Настройка временного диапазона, в рамках которого продолжение считается валидным. По умолчанию с 00:00 по 23:59.

Также, пользователь может настроить группу условий, добавив несколько блоков условий. Например: "{Будние дни} 18:00-08:59" или "{Выходные и праздники} 00:00-23:59".

По завершении выполнения блока Business Calendar, будет сгенерировано значение переменной SoonPossibleTime.

  • Если условие не выполнено и выполнение идет по связи "False", значение переменной SoonPossibleTime будет равно ближайшей дате, соответствующей настроенным условиям
  • Если условие выполнено, в значении переменной SoonPossibleTime будет передано текущее время исполнения (серверное время)

💡 С использованием переменной SoonPossibleTime и блока Wait можно отложить выполнение следующего действия на указанную дату.

Действия

Действия - это специальные сценарии автоматизации, которые пользователь может создавать самостоятельно с помощью инструментов визуального движка Автоматизации.

Каждое действие имеет следующие параметры:

  • Название и описание - идентифицируют действие и содержат описание его функциональности
  • Состояние - может быть "активно" или "неактивно", в зависимости от того, нужно ли включить данное действие в процесс выполнения
  • Тип - определяет набор доступных действий и их функциональность
  • Иконка - пользователь может выбрать собственную иконку для действия для лучшей идентификации
  • Дата последних изменений и последнего запуска - служебные данные для отслеживания изменений и информации об использовании

image

Действия можно создавать при помощи готовых контент-паков через Мастер настройки Monq. Для этого воспользуйтесь кнопкой "Создать через Мастер настройки"

image

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

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

Связи управления и передача данных

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

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

image

Из приведенного примера видно, что в блоке Switch можно настроить дальнейшее ветвление бизнес-процесса, как по выходным параметрам блока Collector, так и по выходным данным блока Signal.

image

Допускается создание "закольцованных" бизнес-процессов, работа которых предполагается бесконечно.

Публикация и активация БП

Завершающим шагом настройки бизнес-процесса является его "Публикация" и "Активация".

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

Но, чтобы события начали поступать на обработку, бизнес-процесс еще нужно активировать. Для активации бизнес-процесса переключите тумблер в состояние "Активен" рядом с кнопкой публикации.

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

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

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

Каждый из экземпляров запусков бизнес-процесса содержит следующие свойства:

  • Дата выполнения
  • Длительность выполнения
  • Статус выполнения:
    • Running: запуск создан, выполняются действия в рамках БП
    • Waiting: запуск отложен из-за использования блоков Wait
    • Success: успешное завершение выполнения БП без ошибок
    • Failed: ошибка в процессе выполнения БП
    • Canceled: принудительная остановка запуска БП пользователем или по другим причинам

image

Фильтрация и поиск

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

image

Снэпшоты

Для каждого экземпляра запуска бизнес-процесса сохраняется "снэпшот" холста в момент запуска.

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

image

Просмотр параметров исполнения экземпляра БП

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

Блоки стартовых событий

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

image

Блоки действий и инструментов

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

  • Входящие данные отображаются в секции Input.
  • Выходящие данные отображаются в секции Output

image

Клонирование бизнес-процессов

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

Чтобы создать копию бизнес процесса:

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

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

Редактирование БП

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

Удаление БП

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

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

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