BI Конструктор представляет собой готовую сборку, предназначенную для развёртывания на вашем сервере. Она включает в себя все необходимые компоненты для работы BI Конструктора: Apache Superset, Trino, MySQL, Redis и Nginx.
Компоненты для работы BI Конструктора запускаются в контейнерах (Docker Containers). По шаблону из образов (Docker Images). Данные хранятся в томах (Docker Volumes). Связаны между собой посредством сети (Docker Network). И управляются (оркестрируются) используя compose (Docker Compose).
Проект поддерживается и развивается командой внутри компании 1С-Битрикс.
- Требования к ресурсам сервера
- Docker и Docker Compose
- Размещение файлов
- Предварительная настройка
- Запуск
- Проверка
- Подключение портала к BI Конструктору
- Управление контейнерами
- Действия для обновления версии BI Конструктора
- Примерные ориентиры по настройке памяти и CPU для Trino
- Обновление ключей и паролей
- Эксплуатация
- Решение проблем
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: строки образов и томов сборки.
Для собственного развёртывания BI Конструктора понадобится Docker, для управления контейнерами - Docker Compose.
Способ развертывания зависит от вашей операционной системы, используемой на хосте.
Для взаимодействия с Docker в графическом режиме будем использовать продукт Docker Desktop, который возможно запустить на ОС Windows, Linux, MacOS.
Ознакомьтесь с документацией и разверните Docker Desktop в зависимости от используемой вами ОС:
Docker Desktop on Windows: https://docs.docker.com/desktop/setup/install/windows-install/Docker Desktop on Linux: https://docs.docker.com/desktop/setup/install/linux/Docker Desktop on Mac: https://docs.docker.com/desktop/setup/install/mac-install/
Для взаимодействия с Docker в режиме командной строки (без графической среды) будем использовать продукт Docker Engine, который возможно запустить на ОС Linux.
Ознакомьтесь с документацией и разверните Docker Engine в зависимости от используемой вами ОС Linux:
Docker Engine: https://docs.docker.com/engine/install/
В современных версиях продуктов Docker обычно в их состав уже включен Docker Compose.
Ознакомьтесь с документацией и разверните Docker Compose, если это требуется отдельно:
Docker Compose: https://docs.docker.com/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
Если вы хотите организовать прямую связь между контейнерами портала и BI Конструктора через Docker-сеть (например, на одном сервере), раскомментируйте и настройте в .env:
| Параметр | Описание |
|---|---|
BX_NETWORK_NAME |
Имя Docker-сети портала (например, b24_bitrix) |
BX_NETWORK_EXTERNAL |
true, если сеть портала создана через docker compose |
SUPERSET_URL_ALIAS |
Алиас контейнера Superset в Docker-сети (по умолчанию superset.bi.local.bx) |
Данные настройки влияют на производительность и стабильность работы 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" ниже для оценки необходимых ресурсов.
Для боевого использования скопируйте файлы вашего доверенного сертификата cert.pem и key.pem в папку ssl/.
Используйте сертификат, выданный доверенным центром сертификации (CA) для домена, по которому будет доступен BI Конструктор.
Для production-окружения используйте именно доверенный сертификат. Self-signed (самоподписанные) сертификаты не подходят для боевого использования: браузеры будут считать соединение небезопасным.
Для тестирования можно сгенерировать самоподписанный сертификат с помощью скрипта:
./generate-ssl.shdocker 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-коннектор (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.
cd ~/bi-builder
# Остановить
docker compose down
# Скачать новые образы
docker compose pull
# Запустить (superset-init автоматически применит миграции базы данных)
docker compose up -dПосле обновления версии перейдите в настройки модуля BI-коннектор (biconnector) на портале и во вкладке BI Конструктор проверьте текущую версию.
Для того, чтобы определить, какие настройки потребуются для оптимальной работы 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.
- На новом сервере установите Docker и Docker Compose, создайте каталог сборки.
- Скопируйте туда
.env,docker-compose.yml,superset_config.py,nginx.confи каталогssl/со старого сервера без изменений: ключи в.envменять нельзя, иначе потеряются пароли подключений и перестанет работать авторизация пользователей. - Остановите сборку на старом сервере:
docker compose down. - Снимите дамп базы и архив рабочего каталога, как описано выше, и перенесите их на новый сервер.
- Восстановите данные и запустите сборку.
- Если адрес 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.
Проверить логи init-контейнера:
docker compose logs superset-initПроверить, что БД поднялась:
docker compose logs mysqlПроверить адрес BI Конструктора в контейнере bi_builder_superset:
docker compose logs superset | grep "Listening at:"Попробуйте открыть его по указанному адресу.
Проверьте, что BX_PORTAL_URL в .env задан верно.
Отдельные серверы: проверьте, что портал доступен с сервера BI Конструктора.
Один сервер: проверьте, что имя хоста портала прописано в /etc/hosts и порт портала доступен.
Обновите ключ шифрования в настройках раздела BI Конструктор на портале.
Сначала посмотреть подробности ошибки в графике.
Возможные решения ошибок, связанных с таймаутами:
- Недостаточно ресурсов CPU для Trino. Увеличить
TRINO_CPUSв.envи перезапустить контейнеры. - Большой объём выгружаемых данных. Добавить фильтры в запрос или в дашборд.
Возможные решения ошибок, связанных с памятью (502 Gateway после долгой загрузки):
- Ошибка может быть связана с вылетом Trino по памяти.
Проверьте логи trino:
docker compose logs trino | grep -i "OutOfMemoryError"Если в логах есть OutOfMemoryError, надо увеличить память для Trino. См. раздел "Примерные ориентиры по настройке памяти и CPU для Trino".
- Большой объём выгружаемых данных. Добавить фильтры в запрос или в дашборд. Уменьшить количество колонок в запросе (не использовать
select *там, где нужны всего пара колонок).
На установленных по умолчанию 4G памяти при выгрузке 17 колонок заданий бизнес-процессов Trino может обработать около 1 млн строк. Но если запрашивать всего 1 колонку, то Trino сможет обработать 10 млн строк. Поэтому при больших объёмах данных рекомендуется фильтровать данные и запрашивать только нужные колонки.
Перед увеличением выделяемой памяти убедитесь, что на сервере достаточно ресурсов.
Перезапустить контейнер:
docker compose up -d --force-recreate trinoВ BI Конструкторе откройте верхнее правое меню, выберите "Подключения", найдите Trino, нажмите на иконку карандаша для редактирования.
В начале строки SQLAlchemy URI trino://client:XXXXXXXXXX@nginx замените XXXXXXXXXX на значение TRINO_CLIENT_KEY из вашего .env.
Подключение к Trino является системным. Не нужно менять его настройки.
Увеличьте TRINO_MAX_REQUESTS_QUEUED в .env и перезапустите контейнеры.
Ошибка при редактировании отчета "Доступ закрыт. Для восстановления доступа откройте раздел BI Конструктор в Битрикс24"
В настройках модуля BI-коннектор (biconnector) на портале во вкладке BI Конструктор обновите публичный ключ JWT.
Так выглядит BI Конструктор, который ещё не привязан к порталу, у которого истёк срок действия расширения или у портала которого закончилась лицензия Битрикс24 Энтерпрайз. Причину называет заголовок страницы. Контейнеры при этом работают штатно - перезапускать их не нужно.
Что делать:
- если это новая установка и страница предлагает привязать BI Конструктор к порталу - выполните Подключение портала к BI Конструктору; срок портал передаст сам после успешной привязки;
- если на странице сказано, что лицензия закончилась - проверьте на портале, что срок действия расширения
BI Конструкторне истёк, и что портал видит BI Конструктор по сети: продление приходит с портала автоматически; - если на странице сказано, что не продлена лицензия Битрикс24 Энтерпрайз - продлите лицензию самой коробки. Расширение
BI Конструкторпродаётся к ней, поэтому его действующего срока для работы недостаточно; после продления портал передаст новый срок сам.
Если 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 Конструкторе будут рассинхронизированы, и работа с отчётами будет некорректной.