VMmanager сохраняет информацию о работе сервисов в лог-файлы (журнальные файлы, журналы). Данные из лог-файлов могут быть использованы для диагностики работы платформы.
Перечень лог-файлов
Основные лог-файлы
Основные лог-файлы сервисов VMmanager хранятся в контейнере vm_back в директории /var/log/. Обычно имя лог-файла совпадает с названием сервиса. Например, лог-файл сервиса vmwatch называется vmwatch.log.
Установка платформы
Лог установки платформы сохраняется в файл /opt/ispsystem/vm/install.log.
Различные сервисы
Лог-файлы на узле кластера
Работа с логами
Скопировать лог-файл из контейнера
Чтобы скопировать лог-файл из контейнера в текущую директорию, выполните команду:
docker cp <container_name>:<path_to_log> ./docker cp auth:/var/log/licupdate.log ./Просмотр лог-файлов в контейнере
-
Перейдите в нужный контейнер:
docker exec -it <container_name> shПояснения к командеПример командыdocker exec -it vm_back sh -
Просмотрите лог-файл стандартными утилитами Linux. Например, cat, tail, less и т.д.
Пример командыless /var/log/host.logЧтобы просмотреть логи конкретной задачи:
- В интерфейсе платформы перейдите в Задачи → выберите задачу → скопируйте значение request_id.
-
Выполните команду:
grep <request_id> /var/log/*Пояснения к команде
-
Выйдите из контейнера:
exit
Просмотр лог-файлов через stdout
Для некоторых сервисов не создаются отдельные лог-файлы. Логи этих сервисов записываются в stdout. Чтобы просмотреть такие логи, выполните команду:
docker logs <container_name> --tail <lines> --since <period>docker logs vm_back --tail 100 --since 60mСбор логов платформы
Сбор с помощью встроенного сервиса
Чтобы собрать все лог-файлы платформы в одной директории:
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Выполните одну из команд:
Сбор всех логовvm collect-logsСбор всех логов с указанной датыvm collect-logs -s <date>
Пояснения к команде:- <date> — дата начала лога в формате YYYY-MM-DD (например,
2025-12-30) или 'YYYY-MM-DD HH:MM:SS' (например,'2025-12-30 23:45:55')
- <date> — дата начала лога в формате YYYY-MM-DD (например,
Лог-файлы будут сохранены в директорию /home/logs/, архив с логами — в файл /home/logs_YYYY_MM_DD_HH_MM_SS.tar.gz.
Собранные логи включают:
- содержимое журналов Docker для всех запущенных контейнеров;
- все записи journal с сервера платформы, которые содержат атрибут
PRODUCT=isp; - журналы установки платформы /opt/ispsystem/vm/install.log.
Сбор с помощью собственного скрипта
Чтобы собрать все лог-файлы платформы в одной директории:
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Создайте bash-скрипт logs_collect.sh следующего содержания:
#!/bin/bash rm /home/logs -fr DOCKER_CONTAINER_NAMES=`docker ps --format '{{.Names}}'` SERVICES=($DOCKER_CONTAINER_NAMES) cd /home mkdir -p logs cd logs for service in ${SERVICES[@]} do echo -e "----\033[0;31mCopying logs from $service\033[0m----\n" mkdir -p $service docker cp $service:/var/log/. $service/. docker logs $service > $service/${service}_stdout.log 2>&1 done journalctl PRODUCT=isp > journal_isp.log 2>&1 cp -r /opt/ispsystem/*/install.log install.log ARCHIVE_NAME="logs_$(date +'%Y_%m_%d_%H_%M_%S').tar.gz" tar -cvzf /home/$ARCHIVE_NAME -C /home/logs . -
Запустите скрипт:
bash logs_collect.sh
Лог-файлы будут сохранены в директорию /home/logs/, архив с логами — в директорию /home/.
Логирование в journald
По умолчанию в платформе отключено логирование в системной службе journald. Чтобы включить логирование:
- Подключитесь к серверу с платформой по SSH.
-
Создайте файл патча /opt/ispsystem/vm/journald.yaml с содержимым:
version: "3.5" services: auth_back4: volumes: - /var/run/systemd/journal/:/var/run/systemd/journal/ vm_box: volumes: - /opt/ispsystem/vm/backup:/opt/ispsystem/vm/backup - /opt/ispsystem/license:/opt/ispsystem/license - /opt/ispsystem/vm/socket/:/opt/ispsystem/vm/vmbox/ - /var/run/systemd/journal/:/var/run/systemd/journal/ vm_back: volumes: - /opt/ispsystem/vm/backup:/opt/ispsystem/vm/backup - /opt/ispsystem/license:/opt/ispsystem/license - /var/run/systemd/journal/:/var/run/systemd/journal/ -
Примените патч:
vm add-patch -p journald -f /opt/ispsystem/vm/journald.yaml