Устранение неполадок
Диагностика проблем с установкой, доступом, мультимедиа, записью и выпуском без потери текущего состояния.
На этой странице
Начните с проверки статуса и установленной версии.
Запишите имя хоста, время и часовой пояс, в которых произошел сбой, установленную версию и коммит, а также действие, при выполнении которого произошел сбой, и укажите, затрагивает ли это одного пользователя или всех. Перед перезапуском службы проверьте ее последние логи.
Для установки в каталоге по умолчанию используйте приведенные ниже команды. Замените /opt/meetspace, если вы выбрали другой каталог. Для развертывания под управлением оператора используйте соответствующий проект, файл окружения и компоновку Compose.
sudo /opt/meetspace/manage.sh status
sudo /opt/meetspace/manage.sh logs api
sudo /opt/meetspace/manage.sh logs media-worker
sudo /opt/meetspace/manage.sh logs worker
curl --fail --silent --show-error https://meet.example.com/version
curl --fail --silent --show-error https://meet.example.com/version.jsonУстановщик остановился перед развертыванием
Прерванная исходная сборка сохраняется в папке /var/tmp/meetspace-source-build.*. Используйте точную команду для возобновления сборки, выведенную при ее выполнении после устранения причины. Завершенные этапы проверяются повторно. Не удаляйте установочный каталог или тома Docker в качестве быстрого решения проблемы.
- Ошибка root-доступа или терминала: запустите сохраненный скрипт через sudo в интерактивном терминале Linux; неинтерактивного канала недостаточно.
- Отсутствуют зависимости: установите указанные инструменты. Для Ubuntu и Debian доступна автоматическая установка с помощью apt, для других дистрибутивов требуется ручная настройка.
- Ошибка контекста Docker или root-доступа: выберите локальный root-доступный Docker Engine и удалите удаленные переопределения DOCKER_HOST или DOCKER_CONTEXT.
- Ошибка Compose или хранилища образов: проверьте версию Compose 2.24.4 или более позднюю, Buildx, архитектуру и требования к хранилищу образов OCI. Любые изменения в существующем хранилище образов Docker планируйте отдельно.
- Недостаточно места или ресурсов: освободите или добавьте место в /var/tmp и в хранилище Docker. Для новой сборки требуется 35 ГиБ свободного места; сохраненные исходные сборки и кэши образов также занимают место.
- Ошибка при проверке исходного кода или уязвимостей: проверьте результаты проверки, контрольные суммы или результаты сканирования. Не редактируйте манифест выпуска, чтобы пометить неудачную проверку как пройденную.
Мастер создал конфигурацию, но не завершил ее
Если файл installation.json был сохранен, но установка не завершена, возобновите ее, чтобы сохранить сгенерированные секреты и идентификационные данные проекта. Используйте путь, указанный мастером; приведенная ниже команда применима только к каталогу по умолчанию.
Если мастер сообщает, что установка завершена, проверьте ее с помощью manage.sh. Возобновление - это не команда обновления. Если после установки сервера не удалось создать учетную запись, попробуйте выполнить manage.sh create-account вместо переустановки сервера.
sudo python3 -I \
/opt/meetspace/bundle/deployment/scripts/install/wizard.py \
--resume /opt/meetspaceНе удалось выполнить проверку DNS, порта или HTTPS
- Убедитесь, что у имени хоста есть ровно одна A-запись с целевым адресом и что это общедоступный IPv4-адрес, назначенный непосредственно этому серверу. Мастер отклоняет AAAA-записи и проксирование через CDN.
- Убедитесь, что другой процесс или контейнер не использует порты HTTPS, TURN, SFU или локальные порты мониторинга. Не останавливайте несвязанные службы, предварительно не выбрав совместимую топологию развертывания.
- Для Let’s Encrypt проверьте внешний доступ к TCP-порту 80 и правильность записи в DNS. Установщик не изменяет настройки брандмауэра провайдера или хоста.
- Для существующего сертификата проверьте имя хоста, цепочку доверенных сертификатов, срок действия, соответствие закрытого ключа и права доступа на чтение в контейнере.
- Если значения /version и /version.json не совпадают, проверьте идентификаторы образов API и фронтенда, а также настройки кэширования или прокси, прежде чем объявлять о завершении релиза.
Страница открывается, но вход в систему или обновление в реальном времени не работают
Проверьте готовность API, доступность PostgreSQL и Redis, источник HTTPS для приложения и обработку WebSocket прокси-сервером. Значения PUBLIC_FRONTEND_URL, WS_ALLOWED_ORIGINS и фактический источник браузера должны совпадать. Изучите соответствующий лог API, относящийся ко времени сбоя.
Ответ HTTP 429 означает, что достигнуто ограничение на количество запросов. Дождитесь окончания периода ограничения, а не повторяйте попытки. Не отключайте ограничение на количество запросов в рабочей среде, так как это стандартный ответ на проблемы с аутентификацией.
Если были изменены секретные данные, убедитесь, что все использующие их сервисы получили совместимые значения. При смене JWT_SECRET существующие JWT становятся недействительными. Изменение пароля для доступа к базе данных, RabbitMQ или хранилищу в файле конфигурации не приводит к автоматическому изменению учётных данных в уже инициализированном хранилище данных.
Совещание открывается, но звук и видео не работают
Если сервер находится за NAT или прокси-сервером, который не распознается мастером настройки, не пытайтесь обойти проверку, введя посторонний IP-адрес. Настройте объявленные кандидаты для развертывания и маршрутизацию TURN для этой топологии.
- Убедитесь, что браузер и операционная система разрешают доступ к микрофону и камере, а также что выбранные устройства работают.
- Убедитесь, что сайт использует защищенный протокол HTTPS, и протестируйте его в другом браузере или на другом устройстве, чтобы понять, в чем проблема - в устройстве или в сервере.
- Проверьте соответствие объявленных значений MEDIA_NAT_IPS, портов SFU, TURN_PUBLIC_IP, TURN_URLS, TURN_REALM и сертификата TLS реальной сети.
- Проверьте правила брандмауэра для протоколов TCP и UDP, в том числе для всего диапазона ретрансляторов TURN. Протестируйте подключение из другой сети и проверьте возможность подключения к ретранслятору/TURNS.
- Проверьте журналы media-worker и Coturn и внутренние проверки готовности. Работающий API или открытый HTTPS-порт сами по себе не подтверждают работоспособность медиаканала.
Запись не удается выполнить, она продолжает обрабатываться или не открывается
Проверьте работу модуля записи, RabbitMQ, PostgreSQL и хранилища, совместимого с S3. Проверьте доступное дисковое пространство, права доступа и владельца каталога с записями 1000:1000, ограничения на запись и логи FFmpeg. Запрос на остановку запускает процесс финализации, но это не означает, что финальный файл уже загружен.
Если завершённая запись не открывается, проверьте сохранённый объект и URL общедоступного хранилища через источник HTTPS-приложения. MINIO_PUBLIC_ENDPOINT не должен перенаправлять удалённого пользователя на localhost или небезопасную HTTP-конечную точку.
Не удаляйте локальные рабочие файлы с записями, пока идёт процесс финализации или загрузки. Сохраните идентификатор записи, временные метки и отредактированные сообщения об ошибках сервиса для дальнейшего изучения.
Электронная почта, календарь, транскрибация или искусственный интеллект недоступны
Проверьте, включена ли соответствующая функция и настроен ли реальный провайдер. Провайдеры по умолчанию намеренно не выполняют внешнюю доставку или обработку данных. Наличие функции в исходном коде или интерфейсе не означает, что её провайдер активен в вашем экземпляре.
Проверьте product-worker для фоновых интеграционных заданий и live-worker для распознавания речи в реальном времени. Убедитесь в доступности провайдера, корректности учётных данных, таймаутов и, при необходимости, ключа шифрования токенов провайдера. Перед повторной обработкой изучите ошибку провайдера и настроенные ограничения повторных попыток.
Миграция или выпуск заблокированы
После частичного развертывания запишите фактический образ, используемый для каждого сервиса. Не думайте, что все сервисы переключаются одновременно. Возобновление происходит для той же установленной версии; при откате используется предыдущий неизменяемый пакет, только если он совместим с текущей схемой базы данных.
Если после прерванной операции осталась заблокированная версия, сначала убедитесь, что над тем же проектом не работает другой оператор или задача непрерывной интеграции. Удалите только подтвержденную заблокированную версию, а не все каталоги с заблокированными версиями.
- Несоответствие манифеста или образа: используйте именно тот пакет, который прошел проверку, и проверьте его контрольные суммы, коммит, архитектуру и идентичность образа.
- Несоответствие проекта или макета: проверьте, идет ли речь об установке с помощью мастера или об управляемой оператором среде. Их команды выпуска не взаимозаменяемы.
- Несоответствие реестра миграций: не редактируйте и не переименовывайте примененные SQL-файлы. Перед повторной попыткой проверьте исходную ревизию и историю базы данных.
- Истекло время drain: проверьте активные встречи, обработку записей и задания в очереди. Сервис остаётся в режиме ожидания завершения активной работы; скрипт не выполнял принудительный перезапуск.
- Изменен образ инфраструктуры: планируйте обслуживание и резервное копирование этой зависимости отдельно, не обходя систему защиты.
- Производственные данные отклонены: предоставьте данные о фактически выполненных проверках для выбранного выпуска; не отмечайте невыполненные проверки как успешные.