Взаимодействие Агента ETL и базы ETL

 

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

Для публикации необходим установленный веб-сервер IIS или Apache2.

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

  1. Опубликовать http сервис «хс_ДанныеОтАгентов» базы ETL на веб сервере.
  2. Создать пользователя в базе ETL для подключения Агента ETL.
  3. Настроить файл конфигурации Агента ETL settings.json.
  4. Создать запись об Агенте ETL в базе ETL и проверить подключение.
  5. Установить Агента ETL как «Основной».

Установка IIS

Для того чтобы использовать ISS, нужно:

  1. В диспетчере серверов Server Manager добавить роль сервера «Web Server (IIS)» с дополнительными компонентами:
    • NET Extensibility 3.5
      Понадобится вставить установочный диск и запустить в PowerShell команду:
      Dism /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs
    • ISAPI Extensions
    • ISAPI Filters
  2. После выбора компонентов можно переходить далее и приступать к установке – кнопка «Установить». И дождаться завершения установки компонентов.

Если появится окно с требованием выполнить перезагрузку системы – нажимаем перезагрузить. 

Установка Apache2

Установка веб-сервера производится командой (указать путь к файлу):

sudo apt install ./apache2/*.deb

В Astra Linux веб-сервер Apache требует предварительной аутентификации. Поэтому открываем конфигурационный файл:

vi /etc/apache2/conf-enabled/astra.conf

И добавляем в него строку:

AstraMode off

Перезапускаем сервис:

sudo systemctl restart apache2

Проверяем работоспособность, в браузере открываем http:// . Должна открыться стартовая страница Apache.

Установка завершена.

Публикация базы ETL на веб-сервер

Для взаимодействия необходимо выполнить публикацию http сервиса «хс_ДанныеОтАгентов» на веб-сервере.

Публикация в пользовательском режиме

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

  1. Зайти конфигуратором в базу ETL, запустив его от Администратора.
  2. В режиме конфигуратора перейти: «Администрирование» → «Публикация на веб. сервере…».
  3. В открывшемся окне выбрать вкладку http-сервисы и установить флаг напротив сервиса «хс_ДанныеОтАгентов».
  4. Далее, независимо от способа публикации, необходимо проверить файл *.vrd, созданный после публикации. И отредактировать (добавить блок) в случае, если в нем нет параметров сервиса «хс_ДанныеОтАгентов»:
    <httpServices>
        <service name="хс_ДанныеОтАгентов"
            rootUrl="AgentsUpload"
            enable="true"
            reuseSessions="autouse"
            sessionMaxAge="20"
            poolSize="10"
            poolTimeout="5"/>
    </httpServices>
  5. Сохранить настройки и перезагрузить веб-сервер.

Публикация базы через консоль

Apache2

  • В терминале создать папку для vrd-файла .
sudo mkdir -p /var/www/1c/etl
  • Для публикуемой базы создать файл конфигурации apache.
sudo touch /etc/apache2/conf-available/etl.conf
  • Перейти в каталог платформы и опубликовать базу. В данном примере наименование базы «etl».
cd /opt/1cv8/x86_64/8.3.24.1586
sudo  webinst -apache24 -wsdir etl -dir ‘/var/www/1c/etl’ -connstr ‘Srvr=»localhost»;Ref=»etl″;’ -confPath /etc/apache2/conf-available/etl.conf
  • Перезагрузить настройки apache.
sudo systemctl reload apache2
  • Подключить конфигурацию.
sudo a2enconf etl
  • Далее, независимо от способа публикации, необходимо проверить файл *.vrd, созданный после публикации. И отредактировать (добавить блок) в случае, если в нем нет параметров сервиса «хс_ДанныеОтАгентов»: 
<httpServices>
    <service name="хс_ДанныеОтАгентов"
        rootUrl="AgentsUpload"
        enable="true"
        reuseSessions="autouse"
        sessionMaxAge="20"
        poolSize="10"
        poolTimeout="5"/>
</httpServices>
  • Перезапустить apache с применением изменений.
sudo systemctl restart apache2

Создание пользователя для подключения к HTTP сервису базы ETL

Пользователь создается следующим образом:

  1. Запустить информационную базу ETL в режиме 1C Предприятие, и дождаться окончания подготовки к запуску программы.
  2. Настроить связь с сервером СЛК. В меню «Главное» → «Информация» → «Основные настройки» → «Параметры связи» указать адрес сервера СЛК.
  3. Далее создать (если еще не создана) группу доступа для агентов ETL — «Администрирование» → «Настройка пользователей и прав» → «Группа доступа» → «Создать».
  4. В группе доступа необходимо выбрать предустановленный профиль «Агент ETL» и указать «Наименование», после нажать «Записать и закрыть».
  5. Создать пользователя через «Администрирование» → «Настройка пользователей и прав» → «Пользователи». Заполнить «Полное Имя», «Имя», «Пароль» (Установить пароль) далее нажать «Записать».
  6. Перейти на вкладку «Права доступа» и назначить пользователю созданную группу «Агент ETL», нажав на кнопку «Включить в группу».
  7. Сохранить изменения и закрыть карточку пользователя – кнопка «Записать и закрыть».

Настройка «setting.json»

Следующим этапом является настройка «setting.json».

Расположение:

  • в linux: «/etc/agentetl/settings.json»;
  • в Windows: «C:\Program Files\AgentETL\settings.json».

Пример файла:

{
    ...
    "Login": "oAzwKP",
    "Password": "ysjjRwyG",
    ...
    "ETLLogURL": "http://*ЛОГИН*:*ПАРОЛЬ*@"Адрес_сервера"/"Название базы"/hs/AgentsUpload/Logs",
    "ETLLogInterval": 30,
    "ETLSuccessURL": "http://*ЛОГИН*:*ПАРОЛЬ*@"Адрес_сервера"/"Название базы"/hs/AgentsUpload/ack",
    ...
}
  • Login, Password — параметры, которые используются Агентом ETL при аутентификации внешних сервисов, отправляющих Агенту ETL команды. Основным отправителем таких команд является база ETL. Поэтому значения из этих параметров, должны быть указаны и в базе ETL, в соответствующих настройках.
  • ETLLogURL — адрес публикации базы ETL, на который будет выполняться отправка логов Агентом ETL.
  • ETLLogInterval — интервал отправки логов Агентом ETL в базу ETL.
  • ETLSuccessURL — адрес публикации базы ETL, по которому выполняется прием квитанции от Агента ETL о завершении сбора данных.
  • ЛОГИН и ПАРОЛЬ в ETLLogURL и ETLSuccessURL — логин и пароль пользователя, созданного в основной базе ETL, который будет использоваться Агентом ETL для подключения к публикации.

Настройка базы ETL для взаимодействия с Агентом

Для создания записи в базе ETL об Агенте необходимо сначала включить возможность использования Агентов.

Для этого перейдите в «Главное» → «Информация» → «Основные настройки» → «Настройки получения данных», установите чекбокс «Использовать агентов».

При активации этого признака, в базе ETL становится доступным использование функциональных возможностей Агентов ETL в части сбора данных, выполнения различных SQL скриптов. Последнее необходимо при разворачивании продукта Modus ETL на операционных системах семейства Linux.

Далее добавьте Агента ETL, используя логин и пароль из файла настроек setting.json (параметры Login и Password). Для этого перейдите в основные настройки и нажмите кнопку «Агенты ETL».

В открывшемся окне нажмите на кнопку «Создать».

Откроется окно создания агента. Заполните необходимые данные:

  1. Наименование.
  2. Адрес.
  3. Имя пользователя.
  4. Пароль.
  5. Установите чекбокс «Используется».
  6. Установите необходимые таймауты. 
    • Таймаут соединения определяет временной интервал, в течение которого может выполняться команда. По умолчанию установлено значение 600 секунд. Если получение данных занимает больше этого времени, агент разорвет соединение.
      Чаще всего десяти минут недостаточно для получения данных, поэтому рекомендуется устанавливать подходящий таймаут.
  7. Нажмите «Записать».
  8. Для проверки подключения нажмите «Проверить доступность». В случае успешной проверки появится сообщение «Агент доступен! Версия агента - X.XX.XX».
  9. Далее отметьте настроенного агента как основной, нажав на кнопку «Установить агент основным».

Агент настроен.

Для активации настроенного Агента перейдите в «Главное» → «Информация» → «Основные настройки» → в поле «Агент для выполнения сценариев» выберите созданного Агента. Нажмите «Записать и закрыть».