1 - Установка и настройка Modus ETL

Программный продукт: «Модус: Управление корпоративным хранилищем данных (ETL)» (сокращенно — Modus ETL), возможно использовать в нескольких вариантах.

Для ModusETL существуют базовые и продвинутые способы получения, загрузки и обработки данных.

Базовый вариант — использует встроенные в приложение ModusETL механизмы:

  • для сбора данных — стандартный механизм, когда полученные из источника данные сначала размещаются во временных массивах и структурах, а затем сохраняются в базу данных хранилища целиком;
  • для интеграции с 1С-источниками — «Внешнее-соединение» (COM-коннектор).

Продвинутый вариант (более производительный и масштабируемый) предполагает, использование вместе с ModusETL специально разработанных дополнительных модулей:

  • «Агент ETL» (разработан на языке Golang) для многопоточной обработки данных. При работе под OC Linux использование «Агента ETL» обязательно. Возможно использование с одним ETL нескольких агентов, размещенных как-правило на разных серверах, что обеспечивает горизонтальную масштабируемость получения-обработки данных;
  • «Адаптер ETL для 1С» — http-сервис, для получения данных из 1С-приложений. Этот компонент устанавливается в 1С-источники как отдельная подсистема в конфигурацию базы-источника или как расширение конфигурации.

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

Сравнение вариантов получения данных и интеграции с 1С-источниками

Функционал Базовый вариант Продвинутый вариант с дополнительным ПО (Инструкция)
Сбор и обработка данных Стандартные механизмы приложения:
получаемые из источников данные сохраняются во временных массивах и структурах и, затем записываются в БД хранилища целиком
Агент ETL:
Многопоточное получение данных с управлением порциями и очередями.
(+) производительность;
(+) масштабируемость;
(+) работа под ОС Linux.
Modus ETL. Руководство по установке Агента
Коннектор для 1С-источников Внешнее соединение/COM-коннектор:
(-) Ограничение: 1С-источник и ETL должны иметь одинаковые версии 1С-платформы / СОМ-коннектора
Адаптер ETL для 1С:
(-) http-сервис, встраиваемый в 1С-источник;
(+) нативные способы получения данных из 1С
Модус ETL. Руководство по установке и настройке
Инструкция по встраиванию Адаптера ETL в 1С-базу источника

Схема компонентов аналитической системы с использованием Агента ETL и Адаптера ETL-1С представлена на рисунке ниже:

Требования к оборудованию и программному обеспечению

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

Минимальные требования к оборудованию и программному обеспечению

Сервер Программное обеспечение Операционная система Минимальные требования к серверу
(Процессор, ОЗУ, ЖД)
Сервер 1С Платформа
8.3.18 и выше
см.
http://v8.1c.ru/requirements/
Процессор: желательно использование многопроцессорных или многоядерных машин
ОЗУ: от 4 Гб;
ЖД: от 20 Гб
Сервер СУБД SQL Server 2008
и выше или PostgreeSQL 9.1 и выше
Технические характеристики и операционная система должны
оответствовать требованиям используемой версии сервера баз данных.
MS SQL Server / PostgreSQL — см. http://v8.1c.ru/requirements/

Определение какие мощности и программное обеспечение (СУБД для хранилища, Агенты для ETL балансировщики нагрузки и т.д.) необходимы для обеспечения требуемой функциональности, производительности и отказоустойчивости в каждом конкретном случае требует экспертного анализа и сайзинга, а в комплексных случаях проведения нагрузочных тестов.

ModusETL возможно использовать для получения данных из облачных систем 1С:Fresh. Ниже для такого варианта использования представлены:

  • схема Аналитической системы:
  • рекомендуемые характеристики оборудования и программного обеспечения — см. в двух таблицах ниже:

«BI для 1C: Fresh» — рекомендуемые характеристики оборудования и программного обеспечения

Сервер Компонент Программное обеспечение Операционная система Количество⠀
ETL 1C Платформа 8.3.18 и выше Win/Linux CPU:12 ядер
ОЗУ:16 Гб
ЖД: 200 Гб
Хранилище данных СУБД SQL Server 2008 и выше
или PostgreeSQL 9.1 и выше
Windows / Linux CPU:16 ядер
ОЗУ: 24 Гб;
ЖД: 700 Гб

«BI для 1C: Fresh» — пример для интенсивного использования в варианте

Описание Сервер Программное обеспечение CPU, ОЗУ, ЖД
Источники данных:
- 1C: Fresh (конфигурации БГУ и ЗКГУ);
- Парус (СУБД Oracle);
- данные по бухгалтерским проводкам,
кадрам и заработной плате
для 2000 организаций [500+ тыс.сотрудников]
Сервер 1С Платформа 8.3.18 CPU: 16 ядер
ОЗУ: 24 Гб
ЖД: 200 Гб
Сервер СУБД для 1С
и хранилища данных
SQL Server 2012 CPU: 16 ядер;
ОЗУ: 48 Гб;
ЖД: 1.5 Тб

Ограничения для некоторых модулей / функций

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

Особенности и ограничения для некоторых модулей / функций ModusETL

Модуль/функция Версия плат-
формы 1С
минимальная
1С-клиент Ограничения
Модуль НСИ 8.3.18 Толстый:+
Тонкий:+
веб:+
СУБД для хранения НСИ только PostgreSQL
Модуль DataMining (библиотеки Python) 8.3.18 Толстый:+
Тонкий:+
веб:+
ПО: Python, Flask, IIS
Модуль WorkFlow 8.3.18 Толстый:+
Тонкий:+
веб:-
ОС клиента — Windows
Сбор данных из 1С, используя Схему источника (СКД) 8.3.18 Толстый: весь функционал
Тонкий: всё, кроме настройки схемы
веб: всё, кроме настройки схемы
Modus ETL. Руководство пользователя. Ограничения при использовании СКД (п. 6.6.3)

Особенности настройки 1C для работы ETL

При установке информационной базы Modus ETL на сервере 1С, где эта база развернута, должен быть добавлена параметр DisableUnsafeActionProtection в файл «conf.cfg»
Пример: DisableUnsafeActionProtection=.*"[eE][tT][lL]".*;

С помощью данного параметра предоставляется возможность отключить защиту от опасных действий для определенных информационных баз. Информационные базы определяются набором шаблонов (регулярных выражений), разделяемых символом «;». Если строка соединения с информационной базой будет удовлетворять какому-либо регулярному выражению, перечисленному в данном параметре, для такой информационной базы защита от опасных действий будет отключена.

При редактировании регулярных выражений следует использовать POSIX Basic Regular Expressions (https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03).

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

  • Загрузка внешних обработок/отчетов или расширений конфигураций ‑ только сервер (процесс rphost).
  • Загрузка внешних компонент ‑ клиентское приложение или сервер (процесс rphost).
  • Запуск внешнего приложения ‑ клиентское приложение или сервер (процесс rphost).

2 - Установка конфигурации Modus ETL

Установка конфигурации выполняется аналогично другим продуктам фирмы 1С. Производится установка необходимых файлов из «дистрибутива» и добавление информационной базы из шаблонов.

Для того чтобы установить конфигурацию, необходимо установить ее шаблон. Для этого нужно запустить файл «setup.exe» (в ОС Linux — «setup»), который расположен в каталоге с дистрибутивом:

Затем необходимо указать, в какой каталог выполнить установку шаблона конфигурации:

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

После того, как программа установки выполнит копирование файлов — нажать кнопку «Готово».

Имеется возможность уменьшить количество шагов мастера установки шаблона конфигурации. Для этого программу setup.exe необходимо запускать с ключом /s. В этом случае будет показан только стартовый диалог с приветствием, и затем будет показан ход копирования файлов с шаблоном конфигурации.

Далее необходимо установить выбранную конфигурацию из шаблона. Для этого необходимо в списке информационных баз добавить новую базу:

Далее выбрать шаблон, из которого разворачивать новую базу. Выбираем «Управление корпоративным хранилищем данных (ETL)»:

В результате, выбранная конфигурация будет установлена.

3 - Установка СЛК

СЛК — система лицензирования и защиты конфигураций устанавливается как отдельная система.

Для выполнения установки на ПК с ОС Windows выполните следующие шаги:

  1. Выполните запуск установочного пакета необходимой версии «licenceserver-{version}.win.exe»:
  1. На экране начала установки оставить указанными опцию «Загрузить актуальные данные о сериях ключей», и, при необходимости, «Установить пользовательскую документацию»:
  1. Дождаться окончания процесса установки:
  1. Завершить процесс установки.

Оставить опцию «Открыть консоль сервера СЛК» установленной:

  1. В открывшемся окне консоли сервера СЛК выбрать пункт «Установка лицензий»:
  1. Указать параметры лицензии: код активации, ИНН, КПП организации — владельца лицензии.

Если на ПК, на котором выполняется установка есть выход в Интернет, возможно выполнение активации по кнопке «Установить автоматически через Интернет»:

Иначе возможно выбрать установку через файловый запрос по кнопке «Сформировать файловый запрос». Сформированный текстовый ключ необходимо отправить по электронной почте на адрес katran@1c.ru, либо воспользоваться сайтом Центра лицензирования на компьютере с доступом к Интернету.

Дождаться получения ответа по электронной почте или с сайта Центра лицензирования.
Перейти в пункт «Ответ из Центра Лицензирования». Полученный ответ ввести в поле «Данные ответа»:

Детальную информацию по установке лицензии можно получить из руководства по установке лицензии (см. рисунок выше).

В результате, установка и лицензирование севера СЛК будут завершены.

4 - Агент ETL

Агент получения и записи данных реализует сервис по сбору данных из множества различных СУБД и записи их в целевые базы. Управление сервисом осуществляется посредством передачи HTTP-команд на создание/остановку задач. Мониторинг сервиса осуществляется посредством встроенного web-сервиса. Сервис может логировать свои действия как в локальный файл, так и на удаленный сервис логирования.

Для просмотра запущенных заданий также доступна web страница по адресу «http://имя-сервера-с-агентом:порт-агента».

Поддерживаемые базы данных:

Установка Агента ETL

Агент устанавливается в систему Windows или Linux как системный сервис.

Как узнать версию агента:

  1. запустить исполняемый файл с ключом -version;
  2. посмотреть на главной странице сервиса в браузере;
  3. получить в заголовке ответа по пути «/check»;
  4. проверить в файле логов.

Для Windows

Для установки в систему Windows необходимо запустить от имени администратора файл «setupagentetl.exe», расположенный в поставке с обновлением Modus ETL, выбрать папку установки и нажать «Установить».

После запустится консоль установки начальных параметров агента. Параметры установки можно изменить в файле «settings.json», расположенном в каталоге, куда был установлен Агент ETL. Описание параметров агента приведено ниже.

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

После установки автоматически создается служба «AgentETL».

Для Linux систем

Для установки в систему Linux предусмотрена возможность регистрации сервиса в «systemd» (Debian 8+, Ubuntu 16.04+, CentOS 7+). Для этого необходимо выполнить установку пакета для соответствующей системы («deb» или «rpm»):

Для deb-пакета (Ubuntu, Debian) команда:

sudo apt-get install unixodbc && sudo dpkg -i agentetl_*_amd64.deb

Для rpm-пакета (CentOS) команда:

	sudo yum install unixODBC && sudo rpm -i agentetl-*-1.x86_64.rpm

При этом, в каталог «/opt/agentetl» будет скопирован файл программы и создан файл настроек «/etc/agentetl/settings.json», который можно отредактировать интерактивно, выполнив в консоли команду:

	sudo agentetlcfg

Также будет создан файл демона для «systemd» и запущен сам демон.

По соображениям безопасности, желательно запускать службу от отдельного пользователя.
Для этого нужно:

  • создать нового пользователя;
  • внести соответствующие изменения в файл настройки «/etc/systemd/system/agentetl.service»;
  • установить в качестве владельца нового пользователя для папок и всех вложенных файлов:
    • «/opt/agentetl»;
    • «/etc/agentetl»;
    • «/var/log/agentetl».

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

	sudo systemctl daemon-reload 
	sudo systemctl restart agentetl

Удалить deb-пакет (Ubuntu, Debian) можно командой:

	sudo dpkg -r agentetl

Удалить rpm-пакет (CentOS) можно командой:

	sudo rpm -e agentetl

Просмотреть статус активности сервиса и последние строки его лог-файла можно командой:

	sudo systemctl status agentetl

Файл логов будет размещен в «/var/log/agentetl/».

Настройка параметров Агент ETL

Настройка параметров агента может быть выполнена: при установке и обновлении приложения в консоли, либо редактируя файл «settings.json».

Файл представляет из себя json-файл:

	{
		"Addr": ":8000",
		"TLSCertFile": "",
		"TLSKeyfile": "",
		"Login": "user",
		"Password": "123",
		"LogFile": "",
		"SaveStatsToFile": "",
		"Servers": [],
		"ETLLogURL": "",
		"ETLLogInterval": 30,
		"ETLSuccessURL": "",
		"Capacity": 200000,
		"Workers": 50,
		"Bulksize": 50000,		
    	"Databases": {
        	"Vertica" : {
            	"InMemoryResultRowLimit": 200000,
				"CopyBlockSizeBytes": 65536
        	}
		}
    }

Параметры:

  • Addr — ip-адрес и порт, в формате «адрес:порт» (слушается интерфейс «адрес») или «:порт» (слушаются все сетевые интерфейсы), которые будет использовать Агент ETL;
  • TLSCertFile — путь к файлу сертификата TLS (*.pem) (если пустой, то TLS не будет использоваться);
  • TLSKeyfile — путь к файлу ключа TLS (*.key);
  • Login — логин для basicauth доступа к API сервиса;
  • Password — пароль для basicauth доступа к API сервиса;
  • LogFile — путь к файлу для записи детального лога;
  • SaveStatsToFile — путь к файлу для записи статистических данных (*.xml);
  • Servers — адреса (и порты) других агентов (для режима балансировщика);
  • ETLLogURL — URL для отправки лога событий ETL в формате:
    «http://ИмяПользователя:Пароль@СерверСПубликацией/ИмяБазы/hs/AgentsUpload/Logs»;
  • ETLLogInterval — периодичность отправки лога событий ETL, секунд;
  • ETLSuccessURL — URL для отправки в ETL события успешного завершения задачи в формате:
    «http://ИмяПользователя:Пароль@СерверСПубликацией/ИмяБазы/hs/AgentsUpload/ack»;
  • Capacity — макс. количество параллельно обрабатываемых строк;
  • Workers — количество параллельных воркеров;
  • Bulksize — размер «пачки» для вставки при сборе данных (по умолчанию 20 000 строк);
  • Databases — настройки драйверов для соответствующих СУБД:
    • Vertica — настройки для работы с СУБД Vertica:
      • InMemoryResultRowLimit — количество строк, которые будут загружены в память при чтении из СУБД Vertica. Остальные данные записываются в файловый кэш;
      • CopyBlockSizeBytes — размер пакета в байтах, которым отправляются данные для записи в СУБД Vertica

С помощью настроек Capacity и Workers возможно управлять параметрами процесса, для обеспечения адаптивности под разные конфигурации аппаратного обеспечения:

  • Capacity — регулирует размер буфера, выделяемый в памяти для хранения указанного количества прочитанных строк;
  • Workers — регулирует количество «процессов-воркеров», выполняемых одновременно и передающих считанные строки в базы данных хранилища.

Одни воркер обрабатывает задачу записи для одного источника. Чтение и запись при этом выполняются параллельно.
С помощью настроек TLS-сертификата сервиса поддерживается шифрование https-соединений с сервисом.
Сервис требует basic-аутентификацию подключающегося пользователя. Логин и пароль к нему указываются в соответствующих свойствах файла «settings.json».

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

Резервное копирование

Для восстановления работоспособности Агента после каких-то сбоев достаточно иметь дистрибутив Агента ETL и файл с настройками «settings.json». Поэтому для резервирования достаточно выполнять архивацию файла «settings.json».

В системе Linux файл по умолчанию находится в каталоге «/etc/agentetl/».
В системе Windows находится в папке, куда был установлен Агент ETL.

Для восстановления достаточно выполнить следующие действия.

  1. Установить Агент ETL из дистрибутива.
  2. Восстановить файл с настройками «settings.json» по нужному пути (Linux — «/etc/agentetl/», Windows — в папку с установленным Агентом).
  3. Перезапустить службу Агента.

Логирование

Агент логирует свои действия в стандартный поток ошибок консоли. Этот поток сохраняется в системных журналах Windows и Linux.
Дополнительно агент может логировать свои действия в отдельный текстовый файл, для последующего анализа проблем с производительностью и/или работой агента. Имя файла для сохранения лога указывается в настройке LogFile (см. Настройка агента).
Агент может взаимодействовать с внешним http-сервисом для ведения лога в ETL, если в настройке ETLLogURL указан полный путь к сервису логирования ETL, включая данные об аутентификации.
Формат «ETLLogURL»: «http(s)://user:pass@host:port/path».

Получение и запись данных Агентом под управлением ETL

Общий алгоритм сбора данных Агентом

  1. ETL передает настройки источника, приемника, текст запроса, параметры и т.д. Агенту.
  2. Агент запускает процесс по получению данных.
  3. Агент отправляет информацию в ETL по основным этапам получения данных: время начала/окончания, количество строк, возникшие ошибки и т.п.
  4. ETL периодически опрашивает Агент о состоянии выполняемых задач.
  5. По завершению перекачки данных Агент сообщает в ETL об этом.

Возможные этапы при сборе данных

  1. «COMСоединение» — общий этап выполнения задачи по «перекачке». Он должен быть самым первым и самым последним. При передачи этого этапа в качестве успешного завершения работы обязательно передается количество строк записанных в приемник.

  2. «ПолучениеДанныхИсточника» — этап начинается с момента подключения к источнику и началу выполнения запроса. Завершается моментом окончания чтения данных из источника.

  3. «ЗаписьДанныхВоВнешнееХранилище» — этап начинается в момент начала записи данных в приемник и завершается по окончанию. При описании окончания этого этапа передается количество строк, записанных в приемник.

Важные особенности записи данных

Одно задание на перекачку данных является атомарным.

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

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

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

  1. MS SQL:
  • формируется запрос для массовой вставки INSERTBULK в целевую таблицу с признаком необходимости установки блокировки Tablock;
  • данные потоком отправляются на сервер СУБД;
  • после завершения чтения и записи всех данных выполняется фиксация общей транзакции;
  • сервер MS SQL должен находиться в одном часовом поясе с агентом. В противном случае, для колонок с датами любых типов, кроме DATETIMEOFFSET, возможно неверное определение часового пояса;
  • колонки с типом DATETIMEOFFSET не подвержены проблемам с часовыми поясами, т.к. содержат (и агент транслирует без потерь) информацию о них вне зависимости от часовых поясов сервера и агента; Рекомендуется использовать колонки такого типа для целевых таблиц.
  1. Postgresql:
  • формируется запрос для массовой вставки COPY в целевую таблицу;
  • данные потоком отправляются на сервер СУБД;
  • после завершения чтения и записи всех данных выполняется фиксация общей транзакции;
  • работа с часовыми поясами дат происходит без потери информации о часовом поясе.
  1. Oracle / ODBC:
  • в Oracle или ODBC-базе данных все данные вставляются одной транзакцией, без использования временных таблиц;
  • В настройках такой базы достаточно указать Type = "oracle" или "odbc" и полную строку соединения в параметре Database, остальные параметры (Address, Login, Password) не используются;
  • для Linux используется пакет «unixODBC», который должен быть установлен отдельно, так же как и необходимый ODBC-драйвер (в том числе и Oracle).
  • для Windows достаточно установить и настроить только ODBC драйвер (в том числе и Oracle).
  1. Vertica:
  • формируется запрос для массовой вставки COPY в целевую таблицу;
  • данные потоком отправляются на сервер СУБД;
  • данные вставляются несколькими запросами COPY. Количество строк в одном запросе устанавливается в параметре Bulksize файла «Settings.json»;
  • после завершения чтения и записи всех данных выполняется фиксация общей транзакции;
  • управлять процессом массовой вставки можно используя переменные среды:
    • VERTICA_ABORT_COPY_ON_ERROR — 0/1. Если установлено значение 0, тогда данные будут вставлены даже в случае ошибок разбора входных данных на стороне СУБД Vertica. Для других значений параметра (в том числе и если параметр отсутствует) будет выполнятся прерывание массовой вставки с записью причины в лог-файл;
    • VERTICA_COPY_AUTO_COMMIT — 0/1. Если установлено значение отличное от 1 (либо вообще не установлено), тогда к запросу будет добавлен параметр NO COMMIT. Данный параметр означает, что после выполнения запроса вставки COPY не будет автоматом выполнена фиксации транзакции (COMMIT выполняется один раз после вставки всех данных);
    • VERTICA_TABLE_WITH_REJECTED_DATA — имя таблицы для вставки «отбракованных» данных.
      Если используется режим NO COMMIT, то при отсутствии таблицы из VERTICA_TABLE_WITH_REJECTED_DATA она будет создана как LOCAL TEMP.
  1. ClickHouse:
  • вставка в таблицу приемник происходит посредством промежуточной таблицы. Вначале данные накапливаются в промежуточной таблице, затем копируются из промежуточной в целевую (приемник);
  • промежуточная таблица может быть как временной (Temporary), так и обычной. Зависит это от версии СУБД. Начиная с версии 23.3.0.0 используется временная (Temporary) таблица;
  • промежуточная таблица создается с движком «MergeTree»;
  • промежуточная таблица (обычная) удаляется после завершения задачи или в случае ошибки. Возможна ситуация при которой, в результате критических сбоев, промежуточная таблица удалена не будет. Для исключения подобных ситуаций желательно на версиях СУБД ниже 23.3.0.0 периодически запускать скрипт удаления промежуточных таблиц;
  • промежуточная таблица получает наименование на основании шаблона имени и отметки времени в наносекундах.

Шаблон: «etl_tmp_$timestamp_nano».

Пример: «etl_tmp_1683294532542734300».

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

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

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

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

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

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

Инструкции по настройке веб-серверов и способах публикации доступны в руководстве администратора на сайте Информационно-технологического сопровождения 1C.

См. также Инструкция публикации IIS на инфостарт.

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

  1. Зайти конфигуратором в базу ETL, запустив его от Администратора.
  2. В режиме конфигуратора перейти: «Администрирование» / «Публикация на веб. сервере…».
  3. В открывшемся окне выбрать вкладку http-сервисы и установить флаг напротив сервиса «хс_ДанныеОтАгентов».
  4. Сохранить настройки и перезагрузить веб-сервер.

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

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

  1. необходимо создать(если еще не создана) группу доступа для агентов ETL — «Администрирование» / «Настройка пользователей и прав» / «Группа доступа»:
  1. в группе доступа необходимо выбрать предустановленный профиль «Агент ETL»:
  1. Создать пользователя через «Администрирование» / «Настройка пользователей и прав» / «Пользователи» с привязкой к группе доступа из п. 1:

Настройка «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» Агента ETL (параметры Login, Password).
Для этого переходим по гиперссылке «Агенты ETL» в основных настройках и нажимаем кнопку «Создать».
Для проверки подключения доступна команда «Проверить доступность»:

6 - Установка адаптера ETL

Адаптер ETL предназначен для сбора данных Модус ETL из информационных систем на платформе 1С: Предприятие.
Адаптер поставляется в виде подсистемы в составе файла конфигурации «.cf» или расширения «.cfe».

Требования к информационным базам для установки Адаптера ETL

Для установки из файла конфигурации «.cf»:

  • нужна версия платформы 1С:Предприятия не ниже 8.3.5

Для установки из файла расширения «.cfe»:

  • нужна версия платформы 1С:Предприятия не ниже 8.3.9;
  • требуется режим совместимости конфигурации не ниже 8.3.9.

Установка Адаптера ETL в информационную базу

Добавление Адаптера при помощи расширения из «.cfe» файла (рекомендуется)

  1. Открыть информационную базу в режиме конфигуратора.

  2. Перейти «Конфигурация» / «Расширения конфигураций».

  3. В открывшемся окне нажать кнопку «Добавить». В открывшемся окне добавить установить назначение «Дополнение», нажать «Ок».

  4. Выбрать строку с вновь добавленным расширением снять флаг «безопасный режим», перейти в раздел «Конфигурация» / «Сравнить объединить с конфигурацией из файла».

  5. В открывшемся окне «Сравнение, объединение» снять все флажки. Для этого достаточно снять флаг с корня конфигурации.

  6. В открывшемся окне выбрать поставляемый в папке Адаптера файл «.cfe», нажать кнопку «Выбрать».

  7. Перейти: «Действия» / «Установить режим для всех». В открывшемся окне выбрать: режим объединения «из файла», порядок объектов «из файла», по подсистемам файла.

  8. Перейти: «Действия» / «Отметить по подсистемам файла», в открывшемся списке выбрать: «ХС_ETL_Адаптер».

  9. Проверить, если в конфигурации расширения остался объект «Основная роль», ее желательно удалить из расширения.

  10. Нажать «Выполнить». После выполнения объединения сохранить изменения «Конфигурация» / «Сохранить конфигурацию» и обновить конфигурацию базы данных «Конфигурация» / «Обновить конфигурацию базы данных».

    Добавить расширение можно из режима 1С предприятия подробнее читать здесь.

При добавлении Адаптера ETL в конфигурацию базы, из «.cf» файла

Такой способ является устаревшим и предназначен для конфигураций не поддерживающих работу расширений. После добавления изменений автоматическое обновление конфигурации станет недоступно.

  1. Открыть информационную базу в режиме конфигуратора.
  2. Включить возможность изменения корня конфигурации.
    1. В режиме конфигуратора перейти в пункт «Конфигурация» / «Поддержка конфигурации» / «Настройка поддержки».
    2. В открывшемся окне нажать кнопку «Включить возможность изменения конфигурации».
    3. Выбрать режим «Включить возможность изменения с сохранением поддержки».
    4. Нажать кнопку «Применить», сохранить изменения конфигурации.
  3. Загрузить изменения Адаптера ETL.
  4. В режиме конфигуратор перейти в пункт «Конфигурация» / «Сравнить объединить с конфигурацией из файла».
  5. В открывшемся окне выбрать поставляемый в папке Адаптера файл «.cf». Нажать кнопку «Выбрать».
  6. В появившемся окне о предложении постановки на поддержку нажать кнопку «Принять».
  7. В открывшемся окне «Сравнение, объединение» снять все флажки. Для этого достаточно снять флаг с корня конфигурации.
  8. Перейти: «Действия» / «Установить режим для всех». В открывшемся окне выбрать: режим объединения «из файла», порядок объектов «из файла», по подсистемам файла.
  9. Перейти: «Действия» / «Отметить по подсистемам файла», в открывшемся списке выбрать: «ХС_ETL_Адаптер».
  10. Нажать «Выполнить». После выполнения объединения сохранить изменения «Конфигурация» / «Сохранить конфигурацию» и обновить конфигурацию базы данных «Конфигурация» / «Обновить конфигурацию базы данных».

Публикация информационной базы на веб-сервере

Для работ Адаптера ETL необходимо выполнить публикацию http-сервиса «ХС_ПолучениеДанных» на веб-сервере.

При работе базы в инфраструктуре 1С:Fresh публикация должна быть внутренней для доступа к http-сервису в неразделенном режиме.

Инструкции по настройке веб-серверов и способах публикации доступны в руководстве администратора на сайте Информационно-технологического сопровождения 1C.

См. также Инструкция публикации IIS на инфостарт.

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

  1. В режиме конфигуратора перейти: «Администрирование» / «Публикация на веб. сервере…»;
  2. В открывшемся окне выбрать вкладку HTTP сервисы, и установить флаг «Публиковать http сервисы расширений по умолчанию»;
    Если данный флаг не устанавливать, то необходимо вручную внести записи о публикуемом http сервисе адаптера в файл default.vrd
  3. Сохранить настройки и перезагрузить веб-сервер.

Создание пользователя Адаптера ETL

Для доступа Модус ETL через HTTP сервис ему необходим специальный пользователь, обладающий правами, поставляемыми в расширении.

Для конфигураций:

  • «Управление торговлей» 11;
  • «Управление производственным предприятием (ERP)» ред. 2;
  • «Бухгалтерия предприятия» ред. 3;
  • «Управление нашей фирмой»;
  • «Зарплата и управление персоналом» ред. 2;
  • других конфигураций использующих «Библиотеку стандартных подсистем» ред. 2.4 и выше,

добавлять пользователя необходимо в режиме 1С Предприятия.

Для этого в режиме 1С Предприятия необходимо:

  1. Добавить профиль групп доступа с ролью: «Выполнение методов Адаптера ETL» или «Выполнение безопасных методов Адаптера ETL»;
  2. Добавить группу доступа с созданным профилем;
  3. Добавить пользователя (например Адаптер ETL), назначить пользователю созданный в п. 1 профиль.

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

Для этого надо в режиме конфигуратора:

  1. Перейти «Администрирование» / «Пользователи»;
  2. Нажать «Добавить», в открывшемся меню ввести имя пользователя, пароль и выбрать в списке необходимые роли адаптера;
  3. Сохранить пользователя.

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

Важно: Для 1С:Fresh — созданный пользователь должен быть неразделенный.
Выбор области, из которой получаются данные происходит после подключения.
Для переключения области пользователю должна быть дополнительно назначена роль «Базовые права БСП»

Настройка прав доступа пользователя для сбора данных

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

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

  1. «Использование методов http-адаптера ETL». При назначении данной роли пользователю, ему будет доступно:

    • Получение данных с помощью запросов, СКД, получение метаданных базы источника, выполнение вспомогательных сервисных методов Адаптера ETL
    • Выполнение запросов и получение данных будет выполняться в привилегированном режиме. Никаких дополнительных прав добавлять не требуется.
      Ответственность за доступ к данным контролируется только разработчиками ETL-процессов.
    • Доступ к работе с блоком модулей сбора данных не предоставляется.
  2. «Использование безопасных методов http-адаптера ETL». При назначении данной роли пользователю, ему будет доступно:

    • Получение данных с помощью запросов, СКД, получение метаданных базы источника, выполнение вспомогательных сервисных методов Адаптера ETL
    • Выполнение запросов и получение данных будет выполняться в обычном, не привилегированном режиме. Все методы получения данных на стороне адаптера выполняются в обычном, не привилегированном режиме. При отсутствии каких либо прав, сбор данных будет прерван. Подобная настройка позволяет ограничивать доступ к данным на стороне базы данных источника и не зависеть от разработчика ETL процессов.
      В настройках базы данных в ETL должен быть установлен признак «Использовать безопасные методы адаптера».
    • Доступ к работе с блоком модулей сбора данных не предоставляется.
  3. «Использование модулей получения данных». Вспомогательная роль, назначается в дополнение к ролям: «Использование методов http-адаптера ETL» или «Использование безопасных методов http-адаптера ETL». При назначении данной роли пользователю, ему будет доступно:

    • Работа с блоком модулей сбора данных. При наличии роли «Использование методов http-адаптера ETL» работа обработчиков модулей сбора данных будет выполняться в привилегированном режиме.

Важно: при использовании БСП в базе источнике назначать роль «Полные права» пользователю, который будет подключаться через Адаптер ETL, нельзя. Это связано с тем, что механизмы БСП для «полноправных пользователей» контролируют наличие дополнительных ролей. И «лишние» роли, в том числе из Адаптера ETL, будут автоматически удаляться.

7 - Обновление Modus ETL

Порядок обновления конфигурации ETL

Для обновления версии конфигурации следует использовать режим «Обновление конфигураций». Файл конфигурации 1cv8.cf находится в каталоге шаблонов (по умолчанию — подкаталог «tmplts\» каталога перемещаемых служебных файлов профиля пользователя), в подкаталоге «\BIPro\ETL\».

  1. Установите 1С:Предприятие 8.

    Внимание! Минимальная версия для работы с текущей версией конфигурации 8.3.17.

  2. Сделайте резервную копию вашей информационной базы.

    Резервную копию можно создать:

    • при использовании клиент-серверного варианта 1С:Предприятия 8 средствами СУБД.
    • режиме «Конфигуратор» в меню «Администрирование» выберите пункт «Выгрузить информационную базу».
  3. Запустите 1С:Предприятие 8 в режиме «Конфигуратор».

  4. Откройте конфигурацию, для этого в меню «Конфигурация» выберите пункт «Открыть конфигурацию».

  5. Вызовите режим «Обновление конфигураций», для этого в меню «Конфигурация», подменю «Поддержка», выберите пункт «Обновить конфигурацию».

  6. В диалоге выбора обновления в качестве источника обновления укажите «Доступные обновления», после чего выберите нужное обновление в соответствующем списке.

  7. Если в списке обновлений необходимое обновление отсутствует, то в диалоге выбора обновления в качестве источника обновления укажите «Файл обновления», после чего выберите нужный файл обновления (по умолчанию «1cv8.cfu»).

  8. В окне «Обновление конфигураций» нажмите кнопку «OK» для продолжения обновления конфигурации.

  9. После завершения будет открыто окно «Конфигурация», содержащее конфигурацию с внесенными изменениями. Выполните сохранение конфигурации.

  10. Запустите систему 1С:Предприятие в режиме «Предприятие».

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

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

Обновление Агента ETL

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

Обновление Адаптера ETL

  1. Запустите 1С:Предприятие 8 в режиме «Конфигуратор».
  2. Откройте конфигурацию, для этого в меню «Конфигурация» выберите пункт «Расширения».
  3. Выберите расширение «Адаптер ETL».
  4. В открывшемся окне в меню «Конфигурация» выберите пункт «Загрузить конфигурацию из файла».
  5. Выберите файл обновления с расширением «.cfe».
  6. Примите изменения и запустите информационную базу в режиме предприятие.

8 - Создание базы данных хранилища

Данные, получаемые из баз-источников, сохраняются в отдельную базу данных — хранилище.

База хранилища должна быть создана администратором баз данных вручную на сервере баз данных (далее — БД). Рекомендуемое название базы хранилища — DWH, но можно задать любое подходящее имя. Подключение базы хранилища к программному продукту: Модус: Управление корпоративным хранилищем данных (ETL) (далее — программный продукт или Modus ETL), происходит во время первого входа в систему во время работы мастера (помощника) первичной настройки». К этому моменту база хранилища должна быть создана.

Мастер (помощник) первичной настройки

В программном продукте создан специальный мастер настройки, который запускается автоматически при первом входе в систему. Этот мастер также можно запустить на любом этапе работы, использовав интерфейс «Главное» / «Сервис» / «Помощник первоначальной настройки»:

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

Начальная страница «Помощника первоначальной настройки» представлена на рисунке ниже:

Рекомендуется последовательно сделать настройки, распределенные по нескольким разделам, устанавливая отметки на завершенных разделах.

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

Раздел настроек 1. Основные настройки

Пункт меню 1.1. Помощник настройки лицензирования СЛК

Заполнение параметров связи с сервером СЛК:

Установка и обновление лицензий СЛК: для запуска процедур по установке и активации лицензий используется интерфейс, представленный на рисунке ниже:

Консоль сервера лицензирования выводит текущие параметры СЛК и служит для диагностики проблем:

Пункт меню 1.2. Настройки получения данных

Параметры подключения к базам-источникам: введенные логин и пароль будут использоваться для доступа к базам-источникам по умолчанию.

Примечание: при необходимости для каждой базы-источника возможно настроить свои (отличные от параметров по умолчанию) параметры доступа (логин-пароль) в справочнике «Базы данных».

Получение и обработка данных (настройки записи в базу-приемник): надо установить режим записи данных в таблицу-приемник.

Режимы:

  • «Добавить» — добавлять данные к уже имеющимся в таблице;
  • «Очистить и добавить» — удалить имеющиеся данные и загрузить полученные данные;
  • «Скопировать и добавить» — сделать копию имеющихся данных (создается новая таблица с тем же именем и постфиксом-датой_временем операции), очистить имеющиеся данные и загрузить заново.

Пример имени таблицы с поcтфиксом: «tech_20180202_0908».

Установка базы хранилища данных по умолчанию:

Настройки интерфейса «Контроль работы»:

Подключение подсистем:

  • «Использовать шаблоны шагов сценария» — включено по умолчанию. Шаблоны позволяют формировать скрипт трансформации данных для шага сценария, используя визуальный интерфейс.
  • «Использовать верификацию данных» — для включения механизмов проверки данных на соответствие стандарту, на соответствие эталонным значениям (по умолчанию — выключено).
  • «Верификация данных. Настроить имена SQL-таблиц» для журналов процессов и ошибок.
  • «Интерфейсные настройки»: следует выбирать только «Пользовательские типы» в поля выбора типов, например, в документах вида «Установить правила выгрузки».
  • «Агенты ETL»: включают возможность использовать Агента ETL для получения и записи данных.
  • «Обезличивание данных»: использовать обезличивание персональных данных при получнии данных
  • «Настройка моделей»: мспользование механизма трансформации таблиц в схему «звезда».
  • «Выгрузка и загрузка настроек»: использование пресетов.

Пункт меню 1.3. Ввод параметров баз данных (источников и приемников)

Ввод параметров источников данных. Регистрация наборов источников:

Чтобы добавить 1С-источник, надо выбрать «Способ доступа (тип подключения)»: «Адаптер для 1С» или «COM-Connector».

Для типа подключения с использованием «Адаптера для 1С» настроить:

  1. тип базы данных: 1C;
  2. способ доступа: Адаптер для 1С;
  3. адрес публикации ИС.

Для типа подключения с использованием «COM-Connector» следует заполнить:

  1. тип базы данных: 1C;
  2. способ доступа: COM-Connector;
  3. версию платформы 1C (8.3/8.2/8.1);
  4. описание;
  5. имя сервера 1С;
  6. имя пользователя;
  7. пароль.

Ограничение для типа подключения COM-Connector: версии платформы 1С для базы-источника и для программного продукта должны быть одинаковые. Поэтому если необходимо подключаться к источникам на разных платформах 1С, то предпочтительно использовать Адаптер 1С.

Чтобы добавить базу-источник (СУБД), требуется указать:

  1. наименование;
  2. тип базы данных выбрать из списка: Oracle / MSSQL / PostgreSQL;
  3. способ доступа: «ADODB»;
  4. описание;
  5. имя сервера 1С;
  6. имя пользователя;
  7. пароль.

Пункт меню 1.4. Настройка пользователей и прав (стандартный интерфейс 1С)

Раздел настроек 2. Экспертные настройки

Настройки параметров очередей, фоновых заданий, и очистки журнала событий:

Секция «Настройки очереди» (см. рисунок выше, 1) – предназначены для оптимизации процесса загрузки/выгрузки: рекомендуется использовать настройки по умолчанию. Описание настроек очереди:

  • «Максимальное количество потоков задания сбора данных» — количество параллельно запускаемых фоновых заданий при работе регламентного задания Сбора данных, при увеличении количества потоков увеличивается скорость получения данных, но до определенного предела, так как при исчерпании ресурсов (памяти и процессора) вместо увеличения скорости может произойти снижение производительности. Определение оптимального количества потоков – задача, которая решается экспериментально администратором программного продукта на основании анализа измененийвременных характеристик операций получения данных (по отчетам и регистрам документов «Факт выгрузки») истатистики изменения утилизации памяти и процессора при увеличении количества фоновых заданий (потоков) получения данных;
  • «Максимальное количество попыток обработки задания» — для настройки количества попыток выполнения задания несколько раз, что нужно для случая, если подключение к источнику данных не стабильно и однократное обращение может привести к ошибке;
  • «Номер попытки, с которой выполнять замену символов» — бывают ситуации, когда не удается записать полученные данные в базу данных хранилища, так как данные содержат символы, недопустимые для записи в БД. В системе настроена замена некоторых символов: апострофа «’» на «`», «?» — на пустое значениеи т.д. Операция замены делается построчно для каждого полученного строкового значения и потому — относительно медленно, поэтому имеет смысл задавать номер попытки получения-записи данных, с которой следует делать попытки замены символов;
  • «Количество источников для обработки» — это максимальное количество, которое фоновое задание может взять в обработку;
  • «Процент необработанных источников очереди» — это количество допустимых ошибок в очереди. Например, получаем данные из 100 источников, считаем, что если из 90 или более источников данные получены, то получение прошло успешно. Тогда устанавливаем процент — 10;
  • секция «Таймауты фоновых заданий» (см. рисунок выше, 2) задаёт время (в минутах) ожидания при выполнении фонового задания:
    • таймаут неактивного фонового задания;
    • таймаут работы фонового задания.
      При превышении таймаута фоновое задание считается «зависшим» и перезапускается.
      Рекомендуется использовать настройки по умолчанию;
  • секция «Прочее» (см. рисунок выше, 3):
    • «Глубина хранения журнала событий (в днях)» — количество дней, по прошествии которых будут автоматически очищены записи в журналах, относящиеся к фактам выгрузки, сценариям обработки данных. Периодическая очистка позволяет оптимизировать объем, занятый логами, и способствует быстрой работе отчетов по логам.

Настройка подключения к базе-источнику

Для указания источника данных нужно настроить подключение к базе-источнику данных. Возможно получать данные из нескольких баз-источников. Для удобства работы однотипные источники объединяются в наборы источников. В наборе может быть один или несколько источников данных.

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

  • для хранения объекта «Набор источников» служит справочник «Набор источников»;
  • для хранения объекта «Источник данных» служит справочник «Источники данных»;
  • источники данных объединяются в набор при помощи документа «Регистрация набора источников»:

Поддерживается выбор значения по показателям:

  • для одного набора источников может быть создан один документ «Регистрация набора источников»;
  • один источник данных может одновременно входить в несколько наборов данных.

Настройка подключения к источнику состоит из трёх этапов:

  1. установить настройку соединения с базой;
  2. создать элемент справочника «Источник данных»;
  3. создать элемент справочника «Набор источников».

Подробное описание настройки источника — ниже.

1. Установить настройку соединения с базой

Настроить список доступных баз данных можно в разделе меню: «Размещение данных» / «Базы данных».

Нажмите кнопку «Создать», в открывшемся окне заполните название базы данных (см. рисунок ниже, 1). Для базы 1С установить тип базы «1С» и тип подключения «COM-Connector» или «Адаптер для 1С»)(см. рисунок ниже, 2). Для типа подключения «COM-Connector» выберите версию платформы 1С (см. рисунок ниже, 3) и заполните имя сервера 1С (см. рисунок ниже, 4), и, при необходимости, имя дублирующего сервера, например, сервера с копией базы-источника (если имеется). Укажите имя пользователя и пароль (см. рисунок ниже, 5):

Для базы СУБД — надо выбрать тип базы (MS SQL / PostgreSQL / Oracle / Vertica / ClickHouse / …) и способ доступа («ADODB»). Заполните имя сервера, имя пользователя и пароль для подключения:

Сохраните настройки при помощи кнопки «Записать».

После заполнения настроек проверьте наличие подключения к базе при помощи кнопки «Проверить подключение» (см. предыдущий рисунок, 6).

2. Создать элемент справочника «Источник данных»

Для создания источника данных для настроенной базы данных, нажмите кнопку «Создать на основании».

В открывшемся окне укажите наименование источника (см. рисунок ниже, 1), ранее настроенная база данных уже заполнена (см. рисунок ниже, 2), укажите название организации (см. рисунок ниже, 3). Сохраните источник данных при помощи кнопки «Записать»:

3. Создать элемент справочника «Набор источников»

Для создания элемента используйте команды интерфейса: «Начальная страница» / «Сбор данных» / «Регистрация набора источников» или меню: «Размещение данных» / «Регистрация набора источников».

Далее, следует:

  • нажать кнопку «Создать»;
  • указать наименование «Набора источников»;
  • заполнить таблицу «Источники данных». По кнопке «Добавить» (см. рисунок выше) – добавляется 1 строка – элемент из справочника «Источники данных», выбрать ранее созданный источник данных из справочника;
  • нажать кнопку «Записать и закрыть», при проведении происходит запись в РегистрСведений.Набор_источников:

Настройка подключения к базе хранилища данных

Настроить список доступных баз данных можно в разделе меню: «Размещение данных» / «Базы данных».

Нажмите кнопку «Создать», в открывшемся окне (см. рисунок ниже) заполните название базы данных (см. рисунок ниже, 1), тип базы установите «MS_SQL» или «PostgreSQL» и тип подключения «ADODB», укажите сервер, где расположена база (см. рисунок ниже, 3). Укажите имя пользователя и пароль (см. рисунок ниже, 4). Сохраните настройки при помощи кнопки «Записать».

После заполнения настроек проверьте наличие подключения к базе при помощи кнопки «Проверить подключение» (см. рисунок ниже, 5).

Настройка профилей и групп пользователей

При первом запуске автоматически создаются следующие профили групп доступа («Администрирование» / «Настройки пользователей и прав» / «Группы доступа» / «Профили групп доступа»):

  • «Администраторы ETL» — Изменяют основные настройки ETL и подключают базы данных;
  • «Аналитики» — могут настраивать все процессы по получению и обработке данных, настраивать источники данных, правила получения данных, расписание запуска пакетов, просматривать журналы и лог-файлы процессов и ошибки;
  • «Наблюдатели» — могут запускать получение данных вручную, просматривать журналы и лог-файлы процессов и ошибки;
  • «Только просмотр» — может отслеживать протекание процессов, просматривать журналы и лог-файлы процессов и ошибки.

Необходимо перейти в «Администрирование» / «Настройки пользователей и прав» / «Группы доступа» и создать одноименные группы доступа с привязанными профилями в соответствии с таблицей соответствия:

Описание профилей пользователе по группам доступа

Группа доступа Профиль пользователей
Администраторы ETL Администраторы ETL
Аналитики Аналитики
Наблюдатели Наблюдатели
Только просмотр Только просмотр

Для добавления пользователей необходимо перейти в пункт «Администрирование» / «Настройки пользователей и прав» / «Пользователи»:

В списке пользователей нажать кнопку «Создать»:

В форме «Пользователь (создание)» заполнить параметры:

  • «Вход в программу»: «разрешен»;
  • полное наименование (согласно принятым правилам);
  • имя для вход» (согласно принятым правилам);
  • «Физ. лицо»;
  • пароль (необязательно для заполнения);
  • «Аутентификация операционной системы»: «Установлено»;
  • пользователя операционной системы (чтобы не устанавливать пароли);
  • режим запуска: «Авто».

Установить на соответствующих закладках:

  • E-mail;
  • профили (в соответствии с правами доступа):

9 - Подключение ClickHouse

Подключение баз ClickHouse в ОС Windows

Перед подключением баз данных СУБД ClickHouse, если Аналитический портал, Агент ETL развернуты в операционной системе Windows, необходимо настроить базу часовых поясов.

Для этого необходимо:

  1. cкачать файл zoneinfo.zip и переместить его в локальный каталог (например, «D:\bi-portal\zoneinfo».zip). Или в каталог с Аналитическим порталом/Агентом ETL;
  2. перейти в «Свойства системы» / «Дополнительно» / «Переменные среды»;
  3. создать новую системную переменную ZONEINFO в разделе системные переменные и указать в ней полный путь к файлу «zoneinfo.zip»:
  1. После необходимо перезапустить службу Агента ETL и / или Modus Аналитический портал.

Агент ETL и Modus Аналитический портал используют в работе ClickHouse TCP-protocol, поэтому при настройке подключения нового источника, следует указывать порт 9000 (по умолчанию).

10 - Разграничение доступа в разрезе проектов

В Модус ETL можно разграничить доступ к базам данных, источникам данных, составам выгрузки, правилам выгрузки, сценариям и пакетам обработки данных. Для этого реализовано разграничение доступа по проектам. Разграничение доступа работает для пользователей с правами аналитика.

Если пользователю назначены права администратора системы, разделение доступа по проектам игнорируется.

Для ограничения доступа вам необходимо:

  • включить учет в разрезе проектов;
  • включить ограничение доступа на уровне записей;
  • создать профиль доступа с разграничением доступа;
  • создать группу доступа;
  • назначить пользователя в выбранную группу доступа.

Включение учета в разрезе проектов

Для включения учета по проектам в Модус ETL необходимо осуществить ряд шагов.

Перейти в подсистему «Главное» / «Информация» / «Основные настройки», затем на вкладку «Проекты» и установите флажок «Использовать проекты», после нажать кнопку «Записать и закрыть».

Создайте нужные проекты, по которым необходимо разделять доступ «Главное» / «Настройки» / «Проекты».

Выйдите из Модус ETL.

Зайдите в форму выбора запуска информационной базы, выберите из списка информационную базу ETL и нажмите «Изменить»:

Перейдите с помощью вкладки далее до поля «Дополнительные параметры запуска», введите в поле текст:

/C ЗапуститьОбновлениеИнформационнойБазы

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

Ограничение доступа на уровне записей

Перейдите в «Администрирование» / «Настройки пользователей и прав»:

Установите флажок «Ограничивать доступ на уровне записей».

Создание группы пользователей с разграничением доступа

Перейдите в «Администрирование» / «Настройки пользователей и прав» / «Группы доступа» и нажмите «Создать».

В открывшейся форме заполните наименование группы, поле «Профиль» выберите профиль «Аналитики», перейдите на вкладку «Ограничения доступа» и в нижней табличной части установите пользователю доступные ему проекты, затем нажмите кнопку «Записать и закрыть».

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

Перейдите в подсистему «Администрирование» / «Настройки пользователей и прав» / «Пользователи». Нажмите кнопку создать и заполните учетные данные карточки. После перейдите на закладку «Права доступа» и выберите нужную группу пользователю.

Настройка учета по проектам в объектах ETL

В объектах «Базы данных», «Источники данных», «Установка правил выгрузки», «Наборы наборов источников», «Составы выгрузок», «Сценарии обработки данных», «Пакеты обработки данных» и некоторых других, реализованы разделения доступа по проектам. Информация о проектах настраивается в карточке доступа.

Особенности работы с проектами

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

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

11 - Запуск пакетов, составов, сценариев используя API

В Modus ETL реализован API в виде http-сервиса для запуска Составов выгрузки, Сценариев, Пакетов обработки данных.

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

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

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

См. также Инструкция публикации IIS на инфостарт.

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

  1. В режиме конфигуратора перейти: «Администрирование» / «Публикация на веб. сервере…».
  2. В открывшемся окне выбрать вкладку http-сервисы, и установить флаг напротив сервиса «хс_ЗапускОбъектов».
  3. Сохранить настройки и перезагрузить веб-сервер.

Запуск объектов

Для запуска объекта необходимо отправить http-запрос на адрес: «/object/run». Пользователь для подключения должен иметь роль «Запуск объектов».

В случае удачного запуска сервис вернет код состояния 200 и текстовое сообщение об успешном запуске. В противном случае сервис вернет текст ошибки.

Сервис логирует свои действия в журнал регистрации. Имя области: «Запуск объектов через сервис».

Пример JSON для запуска состава выгрузки

{
"object": "composition",
"uuid": "00000000-0000-0000-0000-000000000000",
"parameters": [
{
"parameterName": "name",
"parameterValue": "value",
"parameterType": "date",
"packageNumber": 1},
{
"parameterName": "name",
"parameterValue": "valule",
"packageNumber": 1},
]
}

Параметры object и uuid обязательны для заполнения. uuid выводится в форме состава выгрузки. Параметр parameterType должен принимать значение date, если передается параметра типа Дата.

Пример JSON для запуска сценария

{
"object": "scenario",
"uuid": "00000000-0000-0000-0000-000000000000",
"parameters": [
{
"parameterName": "name",
"parameterValue": "value",
"parameterType": "date",
}
]
}

Параметры object и uuid обязательны для заполнения. uuid выводится в форме сценария. Параметр parameterType должен принимать значение date, если передается параметра типа Дата.

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

{
"object": "package",
"uuid": "00000000-0000-0000-0000-000000000000"
}

Оба параметра обязательны. uuid выводится в форме пакета обработки данных.

12 - Технические настройки для подготовки к работе

1. Основные настройки

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

Расположение в меню: «Главное» / «Информация» / «Основные настройки».

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

Описание настроек:

  1. Закладка «Настройки получения данных» (см. рисунок выше) — устанавливаются правила, по которым обновляются данные.

Использовать менеджер сервиса 1С: Fresh — загрузка справочной информации из менеджера сервиса.

При загрузке справочных данных:

  • «Обновлять имеющиеся» — найти имеющиеся данные и, если нашли, обновить их, новые элементы не добавлять;
  • «Загружать отсутствующие» — проверить имеются ли данные, если нет — добавить, если есть — ничего не делать;
  • «Обновлять имеющиеся и загружать отсутствующие» — комбинация предыдущих пунктов: проверить имеются ли данные, если нет — добавить, если есть — обновить.

Остановить выполнение пакета при отсутствии лога — останавливает выполнение пакета при отсутствии документа «Факт выгрузки».

Режим записи данных во внешний приемник:

  • «Добавить» — дополнить уже имеющийся набор данных (данные могут дублироваться);
  • «Очистить и добавить» — удалить имеющиеся данные и загрузить заново;
  • «Скопировать и добавить» — сделать копию имеющихся данных (создается новая таблица тем же именем и постфиксом-датой операции), удалить имеющиеся данные и загрузить заново.

Использовать агентов — использовать агентов для сбора данных и / или выполнения запросов к СУБД

  • Агент для выполнения сценариев — агент, который используется для выполнения запросов к БД
  • Агенты ETL — переход к списку всех агентов
  • Максимальное количество заданий агентам — количество заданий по сбору данных из одного источника по одному правилу

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

Тип сериализации объектов при работе через Адаптер ETL:

  • «JSON»;
  • «JSONORIG»;
  • «XML»;
  • «INT».
  1. Закладка «Настройка пользователя ETL» (см. рисунок ниже) — параметры доступа (логин и пароль) к базам-источникам по умолчанию. При необходимости возможно для каждой базы-источника настроить свои параметры доступа в справочнике «Базы данных»:
  1. Закладка «Настройки очереди» — настройки, предназначенные для оптимизации процесса загрузки / выгрузки данных:
  • «Максимальное количество потоков задания сбора данных» — количество параллельно запускаемых фоновых заданий при работе регламентного задания сбора данных. При увеличении количества потоков увеличивается скорость получения данных, но когда потоков слишком много они начинают мешать друг другу и вместо увеличения скорости происходит задержка;
  • «Максимальное количество попыток обработки задания очереди» — позволяет пытаться выполнить задание несколько раз, это нужно из-за того, что подключение к источнику данных может быть нестабильно и однократное обращение может привести к ошибке;
  • «Номер попытки, с которой выполнять замену символов» — бывают ситуации, когда не удается записать полученные данные, так как они содержат спецсимволы. В системе настроена замена некоторых символов («’», «-», «>», «`», …), можно их искать и заменять в первой же, но тогда идет увеличение времени получения данных, поэтому устанавливаем номер попытки — т.е. если в первых попытках записать не получилось, то пробовать сделать замену символов;
  • «Настроить символы для замены» — замена символов в строках получаемых данных;
  • «Процент необработанных источников очереди» — это количество допустимых ошибок в очереди. Например, получаем данные из 100 источников, считаем, что если из 90 или более источников данные получены, то получение прошло успешно. Тогда устанавливаем процент — 10.
  • «Коэффициент понижения количества захватываемых в очереди» — влияет на количество заданий в очереди, захватываемых фоновым заданием при распределении.
  • «Ограничения количества источников порции» — минимальное и максимальное количество источников, которое фоновое задание может взять в обработку.
  1. Закладка «Таймауты» — настройки времени ожидания при выполнении фонового задания:
  1. Закладка «COM-connector» — для настройки COM-connector:
  1. Закладка «Верификация»:
  • «Использовать верификацию данных» — включение механизмов проверки данных на соответствие стандарту, на соответствие эталонным значениям.
  1. Закладка «Управление хранилищем» (см. рисунок ниже, «Основные настройки» / «Управление хранилищем»):
  • «БД SQL по умолчанию» — база данных — хранилище по умолчанию;
  • «Использовать трансформацию таблиц» — включает подсистему трансформации таблиц в схему звезда
  1. Закладка «Интерфейс» (см. рисунок ниже, «Основные настройки» / «Интерфейс»):
  • «Количество отображаемых пакетов виджетом контроля» — количество отображаемых пакетов виджетом контроля на начальной странице;
  • «Количество отображаемых прогрессов очередей виджета очередей» — количество отображаемых прогрессов очередей виджета очередей на начальной странице;
  • «Выбирать только пользовательские типы в полях выбора типов» — ограничивает выбор типа поля только пользовательским типом;
  • «Упрощенный ввод квалификаторов типов» — упрощенный режим ввода квалификаторов типа.
  1. Закладка «Пресеты»:
  • «Использовать пресеты» — включает подсистему «Пресеты», используемую для выгрузки и загрузки настроек.
  1. Закладка «Проекты»:
  • «Использовать проекты» — включает возможность указания проектов.
  1. Закладка «KPI» (см. рисунок ниже, «Основные настройки» / «KPI»):
  • «База данных для KPI» — база данных, в которой будут сформированы таблицы KPI;
  • «Использовать KPI» — создание и выполнение сценария формирования таблиц KPI в указанной базе данных.
  1. Закладка «НСИ»:
  • «Использовать НСИ» — включает модуль учета нормативно-справочной информации, предназначенный для хранения и использования объектов НСИ — справочников и маппингов (маппинг — соответствие / связь элементов первичных данных элементам справочников).
  1. Закладка «СЛК» (см. рисунок ниже, «Основные настройки» / «СЛК») — настройки системы лицензирования и защиты конфигурации:
  • «Параметры связи» – настройка параметров связи с сервером СЛК;
  • «Консоль сервера» – консоль сервера лицензирования выводит текущие параметры СЛК и служит для диагностики проблем;
  • «Установка/обновление лицензий» – интерфейс для запуска процедур по установке и активации лицензий.
  1. Закладка «Прочее» (см. рисунок ниже, «Основные настройки» / «Прочее»):
  • «Глубина хранения журнала событий (количество дней)» — количество дней, по прошествии которых будут автоматически очищены записи в журналах, относящиеся к фактам выгрузки, сценариям обработки данных. Периодическая очистка позволяет оптимизировать объем, занятый логами, и способствует быстрой работе отчетов по логам;
  • «Максимальное количество источников при очистке» — максимальное количество источников, по которым будут очищены записи в журнале событий сбора данных;
  • «Путь к comconnector оригинальной версии (версии сервера 1С)» — имя компьютера, на котором будет создан com объект;
  • «Использовать шаблоны шагов сценариев» — шаблоны позволяют формировать скрипт трансформации данных для шага сценария, используя визуальный интерфейс;
  • «Использовать интеграцию с OLAP-сервером» — для включения возможности интеграции с «Полиматикой»;
  • «Группа агрегатных функций» — агрегатные функции, доступные для выбора в мастере группировки данных;
  • «Режим заполнения служебных полей приемника по умолчанию» — режим заполнения служебных полей в правиле выгрузки по умолчанию;
  • «Постфикс для публикации адаптера» — постфикс базы данных источника;
  • «Использовать механизм распараллеливания записи в приемник» — признак доступности пакетной записи для базы данных;
  • «Взаимодействие с python» — использование предсказательной аналитики, если флаг установлен, то в сценарии доступны мастера «Кластеризация» и «Линейная регрессия»;
  • «Использовать WorkFlow» — визуальный интерфейс проектирования сценариев обработки данных.

2. Параметры администрирования

Для выполнения различных административных действий на кластере серверов 1С, необходимо установить параметры администрирования кластера. Расположение в меню: «Главное» / «Информация» / «Параметры администрирования»:

В открывшейся форме (см. рисунок ниже), заполнить требуемые поля:

  • логин / пароль администратора кластера;
  • «Порт кластера серверов» (менеджер кластера);
  • вариант «Подключения к кластеру серверов»;
  • «Адрес» (адрес сервера 1С);
  • «Порт» (порт агента сервер).

Важно! Если сервер 1С развернут на ОС Linux, в качестве способа подключения к кластеру серверов выбирать «Через сервер администрирования (ras)»
Предварительно на сервере приложений 1С должен быть установлен сервер администрирования кластера серверов (ras).
Инструкции по установке доступны в Руководстве администратора на сайте Информационно-технологического сопровождения 1C.

13 - Контрольные метрики

HTTP-сервис предназначен для получения контрольных метрик.

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

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

Инструкции для публикации информационной базы на веб-сервере доступны в Руководстве администратора на сайте Информационно-технологического сопровождения 1C.

Cм. также Инструкция публикации IIS на инфостарт.

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

  1. в режиме конфигуратора перейти: «Администрирование / «Публикация на веб. сервере…»;
  2. в открывшемся окне выбрать вкладку http-сервисы, и установить флаг напротив сервиса «хс_Метрики»;
  3. сохранить настройки и перезагрузить веб-сервер.

Настройка контрольной метрики

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

Список контрольных метрик находится: «Главное» / «Настройки» / «Контрольные метрики».

Для добавления/изменения контрольной метрики пользователь должен иметь роль Добавление изменение метрик.

Реквизиты контрольной метрики:

  1. «Наименование» — наименование контрольной метрики;
  2. «Ключ» — уникальный идентификатор контрольной метрики. Используется для поиска метрики;
  3. «Текст запроса» — текст запроса на языке запросов 1С. Запрос выполняется при получении метрики. Результатом запроса может быть:
    • Структура, если в результате выполнения запроса одна строка. Ключи структуры соответствуют полям выборки запроса;
    • Массив из Структура, если в результате запроса более одной строки. Ключи структуры соответствуют полям выборки запроса;
  4. «После выполнения запроса» — текст обработчика на языке 1С. Выполняется после выполнения запроса. Предназначен для обработки результата выполнения запроса.

Получение контрольной метрики

Для получения контрольной метрики необходимо отправить http-запрос на адрес: «/metrics/get_data».

Пользователь для подключения должен иметь одну из ролей «Добавление изменение метрик» или «Чтение метрик».

В случае удачного получения сервис вернет код состояния 200 и значение метрики. В противном случае сервис вернет текст ошибки.

Сервис логирует свои действия в журнал регистрации. Имя области: «Контрольные метрики».

Пример JSON для получения метрики

{
"КлючМетрики1": {
"Параметр1": "ЗначениеПараметра1"
},
"КлючМетрики2": null
}