Skip to content

Repository files navigation

BI Конструктор: собственное контейнерное окружение для BI Битрикс24

BI Конструктор представляет собой готовую сборку, предназначенную для развёртывания на вашем сервере. Она включает в себя все необходимые компоненты для работы BI Конструктора: Apache Superset, Trino, MySQL, Redis и Nginx.

Компоненты для работы BI Конструктора запускаются в контейнерах (Docker Containers). По шаблону из образов (Docker Images). Данные хранятся в томах (Docker Volumes). Связаны между собой посредством сети (Docker Network). И управляются (оркестрируются) используя compose (Docker Compose).

Проект поддерживается и развивается командой внутри компании 1С-Битрикс.

Оглавление

Требования к ресурсам сервера

BI Конструктор состоит из нескольких контейнеров. Для каждого из них в docker-compose.yml заданы лимиты по памяти (mem_limit) и процессору (cpus). Это верхние ограничения: в простое потребление ниже, но сервер должен располагать ресурсами для пиковой нагрузки.

Лимиты по умолчанию (постоянно работающие контейнеры):

Контейнер Память CPU Переменные в .env
bi_builder_nginx 256 МБ 0.5 NGINX_MEM_LIMIT, NGINX_CPUS
bi_builder_redis 256 МБ 0.5 REDIS_MEM_LIMIT, REDIS_CPUS
bi_builder_mysql 1 ГБ 1.0 DATABASE_MEM_LIMIT, DATABASE_CPUS
bi_builder_trino 4 ГБ 2.0 TRINO_MEM_LIMIT, TRINO_CPUS
bi_builder_superset 2 ГБ 1.0 SUPERSET_MEM_LIMIT, SUPERSET_CPUS
bi_builder_superset_worker 2 ГБ 1.0 SUPERSET_MEM_LIMIT, SUPERSET_CPUS
bi_builder_superset_worker_beat 2 ГБ 1.0 SUPERSET_MEM_LIMIT, SUPERSET_CPUS
Итого ~11.5 ГБ 7.0

Контейнер bi_builder_superset_init использует те же лимиты, что и bi_builder_superset (2 ГБ / 1.0 CPU), но работает только при первом запуске и обновлении, после чего завершается, поэтому в постоянное потребление не входит.

Рекомендации по серверу:

  • Минимум (системные отчёты, небольшие объёмы данных): 12 ГБ RAM и 8 ядер CPU с учётом запаса на ОС.
  • Рекомендуется (пользовательские отчёты, большие выгрузки): от 16 ГБ RAM и от 8 ядер CPU. Основной потребитель ресурсов — Trino; при увеличении TRINO_MEM_LIMIT/TRINO_CPUS (например, до 6 ГБ / 4.0) пересчитайте суммарные требования.

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

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

Постоянные данные BI Конструктора лежат в трёх томах Docker:

Том Что хранится Рост
bi_builder_mysql_data метаданные BI Конструктора: отчёты, датасеты, пользователи, подключения, кеш запросов основной, зависит от числа отчётов и объёма кеша
bi_builder_superset_home рабочий каталог: загрузки, миниатюры отчётов, временные файлы небольшой
bi_builder_redis_data очередь фоновых задач и кеш небольшой

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

Кроме данных место занимают образы - около 3.4 ГБ на одну версию сборки (Superset 1 ГБ, Trino 1.4 ГБ, MySQL 0.8 ГБ, Redis и Nginx 0.13 ГБ). При обновлении версии старые образы остаются на диске, пока их не удалить командой docker image prune -a. Логи контейнеров ограничены ротацией - в худшем случае около 1.8 ГБ на контейнер и порядка 12 ГБ на все, подробнее в разделе Логи: хранение, ротация и выгрузка.

Рекомендации по диску:

  • Минимум - 40 ГБ свободного места в том разделе, где Docker хранит свои данные (по умолчанию /var/lib/docker): текущая версия образов, запас на обновление и логи.
  • Рекомендуется - от 100 ГБ при работе с пользовательскими отчётами и большими выгрузками: основной рост даёт кеш запросов в метаданных.

Фактическое потребление показывает docker system df -v: строки образов и томов сборки.

Docker и Docker Compose

Для собственного развёртывания BI Конструктора понадобится Docker, для управления контейнерами - Docker Compose.

Способ развертывания зависит от вашей операционной системы, используемой на хосте.

Для взаимодействия с Docker в графическом режиме будем использовать продукт Docker Desktop, который возможно запустить на ОС Windows, Linux, MacOS.

Ознакомьтесь с документацией и разверните Docker Desktop в зависимости от используемой вами ОС:

Для взаимодействия с Docker в режиме командной строки (без графической среды) будем использовать продукт Docker Engine, который возможно запустить на ОС Linux.

Ознакомьтесь с документацией и разверните Docker Engine в зависимости от используемой вами ОС Linux:

В современных версиях продуктов Docker обычно в их состав уже включен Docker Compose.

Ознакомьтесь с документацией и разверните Docker Compose, если это требуется отдельно:

Основной файл проекта - docker-compose.yml. В нём описаны все сервисы, их конфигурация и взаимодействие друг с другом. Он находится в корневой папке сборки.

Команды для управления контейнерами выполняются в терминале, находясь в папке с docker-compose.yml.

При выполнении команд docker compose *** умолчанию используется файл docker-compose.yml. Вы можете создать отдельный файл docker-compose-test.yml и модифицировать сборку под свои потребности. Тогда команды будут выглядеть как docker compose -f docker-compose-test.yml ***.

Размещение файлов

Скопируйте содержимое сборки на сервер.

Итоговая структура:

bi-builder/
├── docker-compose.yml        # Compose-файл со всеми сервисами
├── docker-init.sh            # Скрипт инициализации БД
├── .env.example              # Шаблон конфигурации
├── generate-env.sh           # Генерация ключей и секретов для .env
├── generate-ssl.sh           # Генерация SSL-сертификатов
├── nginx.conf                # Конфигурация reverse proxy
└── superset_config.py        # Конфигурация Superset

Предварительная настройка

Конфигурация сборки

Подключение к порталу, ключи и пароли

Конфигурация хранится в файле .env. Для создания .env с автоматической генерацией нужных паролей и ключей запустите скрипт:

./generate-env.sh

Во время генерации .env вам будет предложено ввести параметры вашего портала Битрикс24. Эти данные необходимы для получения данных из портала и отображения их в BI Конструкторе:

  • Протокол подключения к порталу (http или https)
  • URL вашего портала Битрикс24

Далее скрипт создаст готовый .env файл с заданными настройками и сгенерированными паролями и секретными ключами.

Внимание! Пароли и ключи, указанные в .env.example не предназначены для работы в production. Сгенерируйте свои, используя скрипт генерации generate-env.sh, или вручную замените значения на уникальные и сложные.


Настройки сети

Отдельный сервер (рекомендуемый вариант)

При развёртывании BI Конструктора на отдельном от портала сервере дополнительная сетевая настройка обычно не требуется. Контейнер Trino обращается к порталу по адресу BX_PORTAL_URL.

Один сервер

Если BI Конструктор и портал работают на одном сервере, контейнеры общаются через сеть хоста. Убедитесь, что в /etc/hosts сервера прописаны имена хостов портала и BI Конструктора, например:

127.0.0.1 b24.local.bx
127.0.0.1 superset.bi.local.bx
Общая Docker-сеть (опционально)

Если вы хотите организовать прямую связь между контейнерами портала и BI Конструктора через Docker-сеть (например, на одном сервере), раскомментируйте и настройте в .env:

Параметр Описание
BX_NETWORK_NAME Имя Docker-сети портала (например, b24_bitrix)
BX_NETWORK_EXTERNAL true, если сеть портала создана через docker compose
SUPERSET_URL_ALIAS Алиас контейнера Superset в Docker-сети (по умолчанию superset.bi.local.bx)

Настройки производительности Trino

Данные настройки влияют на производительность и стабильность работы BI Конструктора при больших объёмах данных и сложных запросах.

При больших объёмах данных и сложных запросах рекомендуется увеличить значение TRINO_MEM_LIMIT, TRINO_JVM_XMX и TRINO_CPUS в файле .env.

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

Параметр По умолчанию Минимальное Рекомендуемое Описание
TRINO_JVM_XMX 4G 4G 6G Максимальная память JVM Trino
TRINO_CPUS 2.0 2.0 4.0 Количество ядер процессора, доступных для JVM Trino
TRINO_MAX_REQUESTS_QUEUED 100 Максимальное количество запросов в очереди

Для оценки необходимых ресурсов изучите раздел "Примерные ориентиры по настройке памяти и CPU для Trino" ниже.

Ресуров, выделямых по умолчанию, достаточно для работы с системными отчётами и небольшими объёмами данных.

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

Изучите раздел "Примерные ориентиры по настройке памяти и CPU для Trino" ниже для оценки необходимых ресурсов.

SSL-сертификаты

Для боевого использования скопируйте файлы вашего доверенного сертификата cert.pem и key.pem в папку ssl/. Используйте сертификат, выданный доверенным центром сертификации (CA) для домена, по которому будет доступен BI Конструктор.

Для production-окружения используйте именно доверенный сертификат. Self-signed (самоподписанные) сертификаты не подходят для боевого использования: браузеры будут считать соединение небезопасным.

Для тестирования можно сгенерировать самоподписанный сертификат с помощью скрипта:

./generate-ssl.sh

Запуск

docker compose up -d

Первый запуск займёт некоторое время:

  • Скачиваются Docker-образы
  • Инициализируется база данных
  • Настраивается подключение к Trino

Дождитесь завершения процесса - контейнер bi_builder_superset_init перейдёт в статус Exited.

Проверка

Откройте в браузере штатный адрес BI Конструктора:

https://<адрес-сервера>/

Вы увидите страницу с предложением привязать BI Конструктор к своему порталу. Это нормальное состояние новой установки. Перейдите к разделу Подключение портала к BI Конструктору - после привязки конструктора к порталу интерфейс откроется штатно.

Если вы используете самоподписанный сертификат (в тестовом режиме), браузер покажет предупреждение о небезопасном соединении. Для боевого использования установите доверенный сертификат - см. раздел SSL-сертификаты.

Для диагностики можно временно обратиться напрямую к контейнеру bi_builder_superset по адресу http://<адрес-сервера>:8088/login/?form=y (порт SUPERSET_PORT). Это вспомогательный способ - для боевого использования обращайтесь к BI Конструктору с использованием https и без указания порта.

Подключение портала к BI Конструктору

Для работы с отчётами установите на портале модули BI-коннектор (biconnector) версии 26.1050.0 или выше, BI Конструктор (superset) версии 26.400.0 или выше и Главный модуль (main) версии 26.750.0 или выше.

В настройках модуля BI-коннектор (biconnector) появится вкладка BI Конструктор. В ней укажите адрес BI Конструктора - IP или доменное имя сервера, на котором он развёрнут.

Укажите пароль администратора из BI_BUILDER_ADMIN_PASSWORD в файле .env.

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

Если сохранение не удалось, проверьте правильность указанных данных и убедитесь, что BI Конструктор доступен по сети с сервера портала.

После сохранения BI Конструктор откроется. Для авторизации под администратором перейдите по адресу:

https://<адрес-сервера>/login/?form=y

И войдите с использованием учётных данных:

  • Логин: admin
  • Пароль: значение BI_BUILDER_ADMIN_PASSWORD из вашего .env

Пользователь admin является системным и должен использоваться только для подключения к порталу. Не используйте его для ручного создания графиков и отчётов. После подключения BI Конструктора к порталу перейдите к редактированию отчётов - вы будете авторизованы в BI Конструкторе под своим именем.

Управление контейнерами

cd ~/bi-builder

# Остановить
docker compose down

# Запустить
docker compose up -d

# Перезапустить
docker compose restart

# Посмотреть статус
docker compose ps

# Логи сервиса (здесь сервис superset, контейнер bi_builder_superset)
docker compose logs -f superset

# Пересоздать конкретный сервис (например, после изменения конфигурации) - здесь сервис superset
docker compose up -d --force-recreate superset

Команды docker compose принимают имена сервисов, а не контейнеров: nginx, redis, mysql, trino, superset, superset-worker, superset-worker-beat, superset-init. Контейнеры называются иначе - bi_builder_superset, bi_builder_mysql и так далее, - эти имена нужны командам docker без compose, например docker exec или docker inspect. Список сервисов сборки всегда покажет docker compose config --services.

Действия для обновления версии BI Конструктора

cd ~/bi-builder

# Остановить
docker compose down

# Скачать новые образы
docker compose pull

# Запустить (superset-init автоматически применит миграции базы данных)
docker compose up -d

После обновления версии перейдите в настройки модуля BI-коннектор (biconnector) на портале и во вкладке BI Конструктор проверьте текущую версию.

Примерные ориентиры по настройке памяти и CPU для Trino

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

Замерялось время выгрузки заданий бизнес-процессов (запрос select count(*) from bizproc_task в SQL Lab) и потребление памяти при разных значениях TRINO_MEM_LIMIT и TRINO_JVM_XMX.

При условии, что выгрузка данных с портала занимает 8-9 секунд (включены в общее время выполнения). TRINO_CPUS = 4.0.

Параметры TRINO_MEM_LIMIT, TRINO_JVM_XMX и TRINO_CPUS указываются в файле .env.

Выгрузка 1 млн строк и 17 колонок:

TRINO_MEM_LIMIT TRINO_JVM_XMX Время выполнения Максимальное потребление памяти
1G 1G упало по памяти 1 ГБ
2G 2G упало по памяти 2 ГБ
3G 3G 52 сек 3 ГБ
4G 4G 51 сек 4 ГБ
6G 6G 38 сек 6 ГБ
8G 8G 36 сек 6.8 ГБ

Выгрузка 2 млн строк и 17 колонок. TRINO_CPUS = 4.0. Время отдачи данных с портала такое же - 8-9 секунд.

TRINO_MEM_LIMIT TRINO_JVM_XMX Время выполнения Потребление памяти
3G 3G упало по памяти 3 ГБ
4G 4G упало по памяти 4 ГБ
6G 6G 56 сек 6 ГБ
8G 8G 49 сек 8 ГБ
12G 12G 48 сек 12 ГБ
16G 16G 48 сек 12 ГБ

При увеличении количества строк требуется больше памяти.

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

Рекомендуется начать с 4G - 6G и при необходимости увеличивать.

Если выделить мало памяти (1-2 ГБ), то при больших объёмах данных Trino будет падать с ошибкой OutOfMemoryError. Варианты решения описаны в секции "Решение проблем".

Если запрашивать меньше колонок, то при том же объеме памяти Trino сможет обработать больше строк. Поэтому рекомендуется запрашивать только нужные колонки и фильтровать данные.

Проверка выгрузки 1 млн строк и 17 колонок на 6G памяти и разных TRINO_CPUS.

TRINO_CPUS Макс. нагрузка CPU Время выполнения
1.0 107% 63 сек
2.0 202% 38 сек
3.0 301% 33 сек
4.0 368% 28 сек
6.0 476% 27 сек
8.0 382% 26 сек

Рекомендуется выделять не менее 2 CPU для Trino, а при больших объёмах данных и сложных запросах - 4-6 CPU.

Если выделить мало CPU, то время выполнения запросов будет увеличиваться, и запросы могут не укладываться в таймаут. Варианты решения описаны в секции "Решение проблем".

Обновление ключей и паролей

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

  • Пароль администратора BI Конструктора: BI_BUILDER_ADMIN_PASSWORD. Генерируется при запуске generate-env.sh.

Используется для подключения портала к BI Конструктору.

Для изменения пароля зайдите в sh консоль контейнера bi_builder_superset:

docker compose exec superset sh

и выполните:

superset fab reset-password --username admin --password <new_password>

Новый пароль укажите также в настройках модуля BI-коннектор (biconnector) на портале во вкладке BI Конструктор.

Изменение пароля в файле .env не изменит пароль в контейнере bi_builder_superset, его нужно менять отдельно через команду выше.

  • Пароли для базы данных: MYSQL_ROOT_PASSWORD, DATABASE_PASSWORD. Генерируются при запуске generate-env.sh.

Если нужно изменить, то используйте ALTER USER для пользователей root и superset соответственно в контейнере bi_builder_mysql.

После изменения укажите значение DATABASE_PASSWORD в файле .env и перезапустите контейнеры.

Изменение паролей в файле .env не изменит пароли в контейнере bi_builder_mysql, их нужно менять отдельно через SQL-команды.

  • Ключи Trino: TRINO_CLIENT_KEY, TRINO_PASS, TRINO_INTERNAL_SECRET. Генерируются при запуске generate-env.sh.

Если нужно изменить, то отредактируйте эти значения в .env и перезапустите контейнеры.

После изменения ключа TRINO_CLIENT_KEY в BI Конструкторе откройте верхнее правое меню, выберите "Подключения" (адрес страницы /databaseview/list/), найдите Trino.

Нажмите на иконку карандаша для редактирования и в строчке trino://client:XXXXXXXXXX@nginx:443 замените XXXXXXXXXX на новое значение TRINO_CLIENT_KEY из вашего .env.

Не рекомендуется менять эти ключи без необходимости, так как это может привести к проблемам с подключением BI Конструктора к Trino и с получением данных из портала.

  • Ключи безопасности: SYMMETRIC_CRYPTO_KEY, BI_BUILDER_SECRET_KEY. Генерируются при запуске generate-env.sh.

Если нужно изменить, то отредактируйте эти значения в .env и перезапустите контейнеры.

Эти ключи используются для шифрования данных в BI Конструкторе. При изменении этих ключей текущие пользовательские сессии инвалидируются, пользователей разлогинит.

Бесшовная авторизация при редактировании отчета перестанет работать, в этом случае требуется обновить публичный ключ JWT на портале в настройках модуля BI-коннектор (superset) на вкладке BI Конструктор.

Не рекомендуется менять эти ключи без необходимости.

Эксплуатация

Резервное копирование и восстановление

В копию входят метаданные BI Конструктора, рабочий каталог Superset и файлы настройки сборки.

# Метаданные: логический дамп базы (согласованный снимок, останавливать сборку не нужно)
docker exec bi_builder_mysql sh -c 'mysqldump --single-transaction --routines --triggers -u root -p"$MYSQL_ROOT_PASSWORD" superset' > superset-$(date +%F).sql

# Рабочий каталог Superset
docker run --rm -v bi_builder_superset_home:/data:ro -v "$PWD":/backup alpine tar czf /backup/superset_home-$(date +%F).tgz -C /data .

Вместе с ними сохраните файлы .env, docker-compose.yml, superset_config.py и каталог ssl/.

Без файла .env от той же установки дамп бесполезен. Ключи SYMMETRIC_CRYPTO_KEY и BI_BUILDER_SECRET_KEY шифруют пароли подключений и авторизационные ключи.

Восстановление на подготовленном сервере с теми же файлами настройки:

# Поднять только базу и залить дамп
docker compose up -d mysql
docker exec -i bi_builder_mysql sh -c 'mysql -u root -p"$MYSQL_ROOT_PASSWORD" superset' < superset-2026-08-24.sql

# Вернуть рабочий каталог
docker run --rm -v bi_builder_superset_home:/data -v "$PWD":/backup alpine \
  sh -c 'cd /data && tar xzf /backup/superset_home-2026-08-24.tgz'

# Поднять остальное (superset-init применит миграции, если версия сборки новее)
docker compose up -d

Мониторинг состояния контейнеров

У контейнеров bi_builder_mysql, bi_builder_trino, bi_builder_superset, bi_builder_superset_worker и bi_builder_superset_beat есть встроенная проверка работоспособности, а политика перезапуска unless-stopped возвращает упавший контейнер в работу автоматически.

# Состояние и результат проверки работоспособности
docker compose ps

# Проверка работоспособности одного контейнера
docker inspect -f '{{.State.Health.Status}}' bi_builder_superset

# Текущее потребление памяти и CPU - насколько близко к лимитам из .env
docker stats --no-stream

# Свободное место под образы, тома и логи
docker system df

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

docker events --filter event=health_status --filter event=oom --filter event=die

Такую команду запускают под управлением systemd или в скрипте, который отправляет уведомление принятым у вас способом. Если у вас уже развёрнута система мониторинга (Zabbix, Prometheus), метрики контейнеров собирают её штатными агентами - отдельной настройки в сборке для этого не требуется.

Перенос установки на другой сервер

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

  1. На новом сервере установите Docker и Docker Compose, создайте каталог сборки.
  2. Скопируйте туда .env, docker-compose.yml, superset_config.py, nginx.conf и каталог ssl/ со старого сервера без изменений: ключи в .env менять нельзя, иначе потеряются пароли подключений и перестанет работать авторизация пользователей.
  3. Остановите сборку на старом сервере: docker compose down.
  4. Снимите дамп базы и архив рабочего каталога, как описано выше, и перенесите их на новый сервер.
  5. Восстановите данные и запустите сборку.
  6. Если адрес BI Конструктора изменился, укажите новый адрес в настройках модуля BI-коннектор (biconnector) на портале, во вкладке BI Конструктор, и проверьте, что сертификат в ssl/ выдан на этот адрес.

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

Логи: хранение, ротация и выгрузка

Все контейнеры пишут логи в стандартный вывод, а Docker хранит их в файлах на сервере. Ротация задана в docker-compose.yml и настраивается в .env:

Переменная По умолчанию Что задаёт
LOG_MAX_SIZE 256m размер одного файла лога, после которого начинается новый
LOG_MAX_FILE 7 сколько файлов хранится, старые удаляются

То есть на каждый контейнер приходится не больше LOG_MAX_SIZE × LOG_MAX_FILE места, причём старые файлы сжимаются. Новые значения применяются при пересоздании контейнеров: docker compose up -d --force-recreate.

Выгрузка логов для разработчиков:

# Все контейнеры за сутки
docker compose logs --no-color --timestamps --since 24h > bi-builder-logs-$(date +%F).log

# Отдельные сервисы за два часа
docker compose logs --no-color --timestamps --since 2h superset trino > bi-builder-superset-trino.log

Имена сервисов для этих команд перечислены в разделе Управление контейнерами.

Подробность логов Superset задаёт переменная SUPERSET_LOG_LEVEL в .env (info по умолчанию, debug для разбора проблем). После её изменения пересоздайте контейнеры Superset.

Решение проблем

BI Конструктор не запускается

Проверить логи init-контейнера:

docker compose logs superset-init

Проверить, что БД поднялась:

docker compose logs mysql

Проверить адрес BI Конструктора в контейнере bi_builder_superset:

docker compose logs superset | grep "Listening at:"

Попробуйте открыть его по указанному адресу.

Ошибка подключения HTTP_ERROR при запросе данных с портала (в отчёте, графике или SQL Lab)

Проверьте, что BX_PORTAL_URL в .env задан верно.

Отдельные серверы: проверьте, что портал доступен с сервера BI Конструктора.

Один сервер: проверьте, что имя хоста портала прописано в /etc/hosts и порт портала доступен.

Ошибка WRONG_KEY при запросе данных с портала

Обновите ключ шифрования в настройках раздела BI Конструктор на портале.

Не прогружаются некоторые данные в графиках

Сначала посмотреть подробности ошибки в графике.

Возможные решения ошибок, связанных с таймаутами:

  1. Недостаточно ресурсов CPU для Trino. Увеличить TRINO_CPUS в .env и перезапустить контейнеры.
  2. Большой объём выгружаемых данных. Добавить фильтры в запрос или в дашборд.

Возможные решения ошибок, связанных с памятью (502 Gateway после долгой загрузки):

  1. Ошибка может быть связана с вылетом Trino по памяти.

Проверьте логи trino:

docker compose logs trino | grep -i "OutOfMemoryError"

Если в логах есть OutOfMemoryError, надо увеличить память для Trino. См. раздел "Примерные ориентиры по настройке памяти и CPU для Trino".

  1. Большой объём выгружаемых данных. Добавить фильтры в запрос или в дашборд. Уменьшить количество колонок в запросе (не использовать select * там, где нужны всего пара колонок).

На установленных по умолчанию 4G памяти при выгрузке 17 колонок заданий бизнес-процессов Trino может обработать около 1 млн строк. Но если запрашивать всего 1 колонку, то Trino сможет обработать 10 млн строк. Поэтому при больших объёмах данных рекомендуется фильтровать данные и запрашивать только нужные колонки.

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

Перезапустить контейнер:

docker compose up -d --force-recreate trino

Ошибка SQL: error 401: b'Access Denied: Invalid credentials'

В BI Конструкторе откройте верхнее правое меню, выберите "Подключения", найдите Trino, нажмите на иконку карандаша для редактирования.

В начале строки SQLAlchemy URI trino://client:XXXXXXXXXX@nginx замените XXXXXXXXXX на значение TRINO_CLIENT_KEY из вашего .env.

Подключение к Trino является системным. Не нужно менять его настройки.

Ошибка Max requests queued per destination xxx exceeded

Увеличьте TRINO_MAX_REQUESTS_QUEUED в .env и перезапустите контейнеры.

Ошибка при редактировании отчета "Доступ закрыт. Для восстановления доступа откройте раздел BI Конструктор в Битрикс24"

В настройках модуля BI-коннектор (biconnector) на портале во вкладке BI Конструктор обновите публичный ключ JWT.

Вместо интерфейса открывается страница с предложением привязать BI Конструктор к порталу

Так выглядит BI Конструктор, который ещё не привязан к порталу, у которого истёк срок действия расширения или у портала которого закончилась лицензия Битрикс24 Энтерпрайз. Причину называет заголовок страницы. Контейнеры при этом работают штатно - перезапускать их не нужно.

Что делать:

  • если это новая установка и страница предлагает привязать BI Конструктор к порталу - выполните Подключение портала к BI Конструктору; срок портал передаст сам после успешной привязки;
  • если на странице сказано, что лицензия закончилась - проверьте на портале, что срок действия расширения BI Конструктор не истёк, и что портал видит BI Конструктор по сети: продление приходит с портала автоматически;
  • если на странице сказано, что не продлена лицензия Битрикс24 Энтерпрайз - продлите лицензию самой коробки. Расширение BI Конструктор продаётся к ней, поэтому его действующего срока для работы недостаточно; после продления портал передаст новый срок сам.

Ошибка небезопасного соединения (SSL)

Если BI Конструктор не открывается по https://<адрес-сервера>, проверьте адрес http://<адрес-сервера>:8088.

Если по порту 8088 открывается, проверьте наличие и правильность расположения SSL сертификата.

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

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

Порт 8088 предназначен только для диагностики. Для боевого использования обращайтесь адресу https://<адрес-сервера>.

# Проверить наличие сертификатов
ls -la ssl/

# Проверить логи nginx
docker compose logs nginx

Сброс к начальному состоянию

Внимание: это удалит все данные BI Конструктора (отчёты, датасеты, графики) без возможности восстановления.

# Остановить и удалить контейнеры вместе с данными
docker compose down -v

# Запустить заново
docker compose up -d

После сброса перейдите в настройки модуля BI-коннектор (biconnector) на портале и во вкладке "BI Конструктор" переключите режим на облачный.

Если требуется привязать портал к другой инсталляции BI Конструктора, в настройках модуля BI-коннектор (biconnector) на портале во вкладке "BI Конструктор" переключите режим на облачный, сохраните, затем переключите обратно на локальный и укажите новый адрес BI Конструктора.

В противном случае данные на портале и в BI Конструкторе будут рассинхронизированы, и работа с отчётами будет некорректной.


1С-Битрикс: Разработчикам

About

Контейнерное окружение для BI Конструктора Битрикс24

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages