Подключение к Оркестратору
Last updated
Was this helpful?
Last updated
Was this helpful?
Подключение Idea Hub к Оркестратору позволяет получить информацию о:
проектах, их запусках — дату, среднюю длительность, общее количество запусков, количество успешных запусков, количество бизнес-ошибок и количество технических ошибок.
очередях, статистику обработки элементов — дату, среднюю длительность, общее количество обработанных элементов, количество успешно обработанных элементов, количество элементов, обработка которых завершилась с бизнес-ошибкой или технической ошибкой;
лицензиях и типах лицензий;
роботах;
машинах роботов.
Подключение к Оркестратору осуществляется с помощью скриптов из комплекта поставки Idea Hub. Скрипты находятся в папке ./scripts/orc-data-fetch/
:
get_data.sh
— Bash-скрипт для подключения к БД PostgreSQL Оркестратора.
get_data.ps1
— PowerShell-скрипт для подключения к БД MSSQL, работающей на Windows-серверах Оркестратора.
.env.example
— пример того, как может быть оформлен файл контура. Содержит информацию о параметрах скриптов и рекомендации по их заполнению.
.env.message
— служебный файл, не требует действий со стороны пользователя.
get_data.func.sh
— служебный файл, не требует действий со стороны пользователя.
Скрипты get_data.sh
/ get_data.ps1
могут запускаться на любой машине, но файлы, которые они создадут, должны быть доступны на сервере Idea Hub.
Общий процесс получения данных из Оркестратора выглядит так:
Скрипт get_data.sh
запускается по cron, создаёт каталоги контуров и складывает в них полученные данные из БД Оркестратора.
Idea Hub запускается по cron и забирает данные из каталогов контуров. Важно: время запуска Idea Hub должно быть позже, чем время запуска get_data.sh
.
Idea Hub готов к отображению актуальных данных.
Ниже указаны требования к машине, на которой будет запускаться скрипт get_data.sh
. По умолчанию это та же машина сервера, на которой установлен Idea Hub.
Скрипт может запускаться по расписанию с помощью утилиты-планировщика задач cron, позволяющей выполнять скрипты на сервере в назначенное время с заранее определенной периодичностью. Дополнительная информация по работе с cron содержится в документе Инструкция по работе с cron.
При подключении к БД Оркестратора могут использоваться пароли, зашифрованные с помощью утилиты pass. Дополнительная информация по установке и настройке pass содержится в этом разделе.
Требования:
psql — утилита, которая позволяет взаимодействовать с базой данных PostgreSQL через командную строку;
cron — поставляется по умолчанию во всех системах Linux;
pass — менеджер паролей в ОС Linux;
Доступ к серверам, на которых размещены базы данных Оркестратора;
Пользователь, от имени которого будут выполняться запросы, должен иметь права только на чтение БД Оркестратора, к которым будет обращаться скрипт. Потребуется доступ к следующим базам и таблицам:
ltools
:
ltoolslicense
:
В папке \scripts\orc-data-fetch
создайте копию файла .env.example
с именем .env
.
Проверьте и настройте все переменные в файле .env
. Окружения или контуры — это экземпляры Оркестратора. Если используется несколько контуров, то переменные в блоке контуров (Environments) необходимо продублировать, изменив имена и значения для необходимых контуров.
Скрипт запускается из каталога Idea Hub с аргументом — именем контура. Например:
Запуск скрипта отдельно для каждого контура добавьте в crontab. Пример строки crontab, которая описывает запуск скриптов каждый день 1 раз в 3 часа 10 минут:
В crontab также необходимо добавить строку:
Все параметры скрипта указаны в файле .env.example
. С описанием параметров можно ознакомиться ниже либо в самом файле.
LOG_FILE_MAX_SIZE=1048576 — максимальный размер файла логов. При достижении этого размера файл будет очищен.
USE_PASS=0 — переменная, которая указывает, следует ли использовать утилиту pass. Возможные значения:
0
— пароль будет использоваться в том виде, в котором он указан в переменной вида DB_PASS_[ИМЯ_БАЗЫ_ДАННЫХ]_[ИМЯ_ОКРУЖЕНИЯ].
1
— в переменных вида DB_PASS_[ИМЯ_БАЗЫ_ДАННЫХ]_[ИМЯ_ОКРУЖЕНИЯ] укажите имя, под которым пароль хранится в утилите pass.
LANGUAGE=RU — используемый язык скрипта. Возможные значения: RU, EN.
OUTPUT_FOLDER=<рабочий каталог проекта>/private/import-source/sync — переменная с каталогом, в который будут записаны результирующие файлы. Не ставьте косую черту (слеш) в конце строки. Рекомендуется использовать абсолютный путь.
QUERY_LIMIT=20000 — максимальное количество записей, которые будут выгружаться за один запрос.
RPA_PROJECT_LAUNCHES_FIRST_TIME_INTERVAL=300 — интервал в днях, который определяет дату, с которой вы хотите начать читать данные из таблицы запусков RPA-проектов (ltools.RpaProjectLaunches).
RPA_PROJECT_LAUNCHES_INTERVAL=5 — интервал в днях, за который будут собираться данные из таблицы ltools.RpaProjectLaunches. Параметр позволяет получить статистику по запускам проектов, даже если отсутствовало подключение к БД Оркестратора в течение нескольких дней. Например, вы получили данные 25-го января, а 26-28-го января подключение отсутствовало. Тогда при возобновлении подключения вы сможете получить данные за период, который соответствует значению параметра.
Все переменные ниже задаются для каждого контура отдельно, с суффиксом в виде имени этого контура. Необязательно использовать имя PROD — замените PROD на имя вашего контура.
SLEEP_DURATION_[ENVIRONMENT]=0 — пауза в секундах перед повторным запросом в таблицу, если записей больше, чем указано в QUERY_LIMIT.
Пример использования для разных контуров:
SLEEP_DURATION_PROD=0
SLEEP_DURATION_TEST=30
DB_[VAR]_[DB_NAME]_[ENVIRONMENT]=reader — составной параметр, где:
VAR — это часть учетных данных (credentials) для подключения к базе данных. Например:
NAME — имя базы данных.
HOST — IP-адрес сервера, на котором расположена база данных.
PORT — порт подключения к базе данных.
USER — имя пользователя для базы данных.
PASS — пароль пользователя для базы данных.
DB_NAME — это имя базы данных, к которой выполняется подключение.
ENVIRONMENT — это имя контура.
reader — значение параметра.
Пример заполнения переменных окружения для контура PROD:
В файле config/settings.local.php
добавьте/измените переменные в блоке Orch sync data variable
.
orch_raw_data_source_path
— каталог, в который скрипт складывает данные из Оркестратора. В общем случае это тот каталог, который указывался при настройке скрипта в файле .env
в параметре OUTPUT_FOLDER. Каталог по умолчанию: private://import-source/sync
После выполнения скрипта get_data.sh
рекомендуется проверить конечную структуру каталогов и файлов, полученных из Оркестратора.
Пример правильного размещения структуры каталогов на машине:
Машина, на которой будет запускаться скрипт get_data.ps1
, должна работать под OC Windows. По умолчанию это та же машина, на которой установлена БД MSSQL Оркестратора.
Требования:
tar — архиватор, который поставляется по умолчанию для Windows-серверов 2019+;
PowerShell 5.1+;
Доступ к серверам, на которых размещены базы данных Оркестратора;
Пользователь, от имени которого будут выполняться запросы, должен иметь права только на чтение БД Оркестратора, к которым будет обращаться скрипт. Потребуется доступ к следующим базам и таблицам:
ltools
:
ltoolslicense
:
Создайте или выберите уже существующий каталог, из которого будет запускаться скрипт.
Загрузите в этот каталог архив orc-data-fetch.25.2.1.windows.tar.gz
.
Перейдите в этот каталог и выполните команду:
Точка в конце указывает, что файлы из архива будут распакованы в текущий каталог.
Скопируйте .env.example
в .env
и пропишите в нем необходимые настройки. Настройки описаны в файле .env.example
с помощью комментариев.
При заполнении параметра USE_PASS помните, что для скрипта get_data.ps1
невозможно использовать утилиту pass, поэтому значение параметра должно быть 0
.
Откройте PowerShell и перейдите в каталог со скриптом.
Запустите скрипт, указав в качестве аргумента имя окружения, например prod (от production):
Результат работы скрипта в виде файлов формата CSV будет помещен в каталог c именем окружения (prod). Каталог будет создан по пути, описанном в конфигурационном файле .env
в параметре OUTPUT_FOLDER. В общем случае это: /var/www/IdeaHub/private/import-source/sync
.
Перенесите файлы, через удобный для вас носитель, на сервер Idea Hub в каталог /private/import-source/sync/prod
.
После чего файлы можно будет импортировать в Idea Hub в автоматическом режиме с использованием утилиты cron, либо вручную со страницы настройки контура.
Следующий шаг — перейти в веб-интерфейс Idea Hub, чтобы создать контуры организации. К каждому контуру потребуется добавить источник импорта данных и указать время, по которому Idea Hub будет автоматически забирать данные из Оркестратора, которые собрал скрипт get_data.sh
.