В этом руководстве описан пошаговый процесс сбора логов с сервера Ринго.
ssh support@remote_host
root, чтобы иметь возможность выполнять команды Docker:sudo -i
Если у пользователя уже есть права на выполнение Docker-команд без root, этот шаг можно пропустить.
docker container ls
Вы получите приблизительно такой вывод:
| CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
| 6b12efdf771d cr.yandex/crpg3tf7upgva1qt5a2v/ringo-backend/amd64:latest "docker-entrypoint.s…" 2 days ago Up 2 days 0.0.0.0:80->5000/tcp, :::80->5000/tcp roll-deploy-backend
| 949a42eea0b6 3cf1eee232f3 "docker-entrypoint.s…" 4 weeks ago Up 4 weeks 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp roll-deploy-db
В данном примере:
backend = roll-deploy-backendbackend, используйте следующую команду:docker exec -t -i roll-deploy-backend sh -c "ls /logs"
docker exec — позволяет выполнить команду внутри уже запущенного контейнера.
-t -i — опции для интерактивного режима:
-t — выделяет псевдотерминал (TTY), нужен для форматированного вывода.-i — удерживает поток ввода открытым.roll-deploy-backend — имя контейнера, в котором выполняется команда.sh -c "ls /logs" — команда, которая запускает оболочку sh и выполняет команду ls /logs, то есть показывает содержимое папки /logs внутри контейнера.Пример вывода команды:
backend.log.2023-11-14
backend.log.2023-11-15
backend.log.2023-11-16
mkdir ~/logs
docker cp roll-deploy-backend:/logs/. ~/logs
Эта команда копирует все файлы логов из папки /logs/ контейнера roll-deploy-backend в локальную папку ~/logs.
docker cp roll-deploy-backend:/logs/backend.log.2023-11-14 ~/logs
Обычно для анализа требуется только та часть логов, которая относится к периоду воспроизведения инцидента. Поэтому копирование всех логов за всё время может быть избыточным.
~/logs/ вместе с их размерами в удобном для восприятия формате (КБ, МБ и т.д.):du -h ~/logs/*
du — утилита для оценки размера файлов и папок.-h (human-readable) — выводит размер в читаемом формате: KB, MB, GB и т.д.~/logs/* — отображает размер всех файлов внутри папки ~/logs.Вы увидите, сколько места занимают логи, например:
1.2M /home/user/logs/backend.log.2023-11-14
968K /home/user/logs/backend.log.2023-11-15
scp:scp -r user@remote_host:/home/user/logs ~/Downloads/
-r означает «рекурсивно», то есть копировать всю папку со всем содержимым.user@remote_host — учётные данные в формате, как при подключении по SSH./home/user/logs — путь до папки с логами на сервере.zip -r ringo-logs.zip ~/Downloads/logs
Или создайте архив любым доступным вам архиватором.
support@ringomdm.ru, если логи были запрошены.