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

Проверка работы контейнеров и журналы ошибок

JumpServer устанавливается в виде набора контейнеров Docker, выполняющих различные функции.

f6decb207af1db1f1c454d5a004b4d36.png

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

# docker ps -a

Все контейнеры в списке должны быть со статусом Healthy

Список контейнеров
jms_panda
jms_magnus
jms_celery
jms_chen
jms_koko
jms_lion
jms_razor
jms_video
jms_web
jms_redis
jms_kael
jms_xrdp
jms_mysql
jms_core

Для просмотра журнала ошибок того или иного модуля, введите команду

docker logs -f #ИМЯ_КОНТЕЙНЕРА --tail 200

Например:
Журнал ошибок веб-интерфейса:

docker logs -f jms_web --tail 200

Журнал ошибок Panda:

docker logs -f jms_panda --tail 200

Решение проблем с публикацией приложений RemoteApp

В этой статье я подробно опишу, как взаимодействуют JumpServer, RDS Server и Tinker, чтобы можно было выяснить, в чем проблема.

Описание процесса интеграции RDS и JumpServer.

1. JumpServer подключается по SSH к серверу RDS:

Важно: группа "Remote Desktop Users" может называться по-другому в Windows, название может зависеть от языка ОС, если эти УЗ не присутствуют в группе, нужно будет добавить их вручную.

2. Tinker связывается с JumpServer по заданному адресу (параметр Core API) 

Описание Tinker:

Tinker - вспомогательное приложение для интеграции с JumpServer, участвует в поддержке связи между RDS и JS, устанавливает нужные для публикации приложения(апплеты), а также управляет публикацией приложений RemoteApp при запуске сессий.

По умолчанию устанавливается в папку C:\Users\[ACCOUNT]\AppData\Local\Programs\Tinker\ ([ACCOUNT] - это УЗ, которая использовалась для интеграции JS и RDS)
Устанавливает сервис JumpServer Tinker Service - он всегда должен быть запущен
Подробный лог работы и ошибок Tinker доступен в папке
C:\Users\[ACCOUNT]\AppData\Local\Programs\Tinker\data\logs

Апплеты Tinker
Аплеты - это набор из приложения и скриптов автоматизации для управления приложением, по умолчанию апплеты устанавливаются в папку
C:\Program Files\JumpServer
Именно в этой папке находятся запускаемые приложения и python скрипты с параметрами запуска, вы их можете изменять, если нужно.


Итоговый чек-лист:

Скриншоты стенда JS:

76d855ca9bc4889c6907b4266d9ba0de.png

073d5d8fa0f4ff95cdcab4f634613aeb.png

85937cb6e01264524ca4436c5216695c.png



Чек-лист для решения проблем с Panda

1. Проверка успешности развертывания приложения.

Просмотр ошибок в логах:

    cat /data/jumpserver/panda/data/logs/panda.log
    cat /data/jumpserver/lion/data/logs/lion.log

 

- Проверка регистрации Panda в JumpServer (System settings - RemoteApp - Application providers - Panda).
- Проверка токена BOOTSTRAP_TOKEN.
- Проверка параметров в конфигурационном файле.
- Проверка соединения Panda - Lion.
- Ресурсы машины — минимум 4 ядра / 8 ГБ RAM.
- Конфликт портов в контейнерах.

2. Типовые ошибки

Ошибка: API таймаут
Причина: невозможность загрузки образа.
Решение: смена зеркала Docker-репозитория, предварительная загрузка:
Открыть файл конфигурации:

sudo nano /etc/docker/daemon.json


Добавить в него адрес зеркала репозитария:

"registry-mirrors": ["https://your-mirror.example.com"]


И перезапустить докер с применением настроек:

sudo systemctl daemon-reload
sudo systemctl restart docker
docker pull 2970298425/docker-chrome-app:v0.1.0
docker pull 2970298425/docker-dbeaver-app:v0.1.0

 

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

Error 9001: access denied
Причина: ошибка соединения.
Решение: проверить конфигурацию:

PANDA_ENABLED=1  
VIRTUAL_APP_ENABLED=1  
PANDA_HOST_IP=10.1.12.20  
PANDA_HOST=http://panda:9001  

Избыточное использование памяти файловым кэшем
Решение: очистка кэша после инициализации:

sync
echo 3 > /proc/sys/vm/drop_caches