Лог-файлы платформы
VMmanager сохраняет информацию о работе сервисов в лог-файлы (журнальные файлы, журналы). Данные из лог-файлов могут быть использованы для диагностики работы платформы.
Перечень лог-файлов Основные лог-файлы Основные лог-файлы сервисов VMmanager хранятся в контейнере vm_box в директории /var/log/ . Обычно имя лог-файла совпадает с названием сервиса. Например, лог-файл сервиса vmwatch называется vmwatch.log.
Имя файла Содержимое Общие сервисы vm_writer.log задачи, создаваемые платформой; API-запросы, выполненные методами POST и DELETE; операции с базой данных, выполненные с помощью команд INSERT и UPDATE vm_reader.log API-запросы, выполненные методом GET monitor.log сервис мониторинга ВМ и узлов кластера run_script.log запуск скриптов vmctl.log параметры и результат запуска скриптов:операций с виртуальными машинами (ВМ); отправки почты; сбора информации об узле кластера; загрузки и копирования образов ВМ и шаблонов ОС; логи системы управления конфигурациями Ansible vmwatch.log события libvirt, состояния ВМ vm_mover_*.log сервис переноса платформы на ВМ Операции с ВМ check_storage.log проверка хранилищ ВМ connect_storages.log подключение хранилищ ВМ disk_resize.log операции по изменению дисков ВМ gosockify.log сервис проксирования доступа к ВМ по VNC host.log создание и удаление ВМ host_action.log запуск, остановка, перезапуск ВМ host_change_password.log смена root-пароля для ВМ host_firewall.log настройка файрвола host_image_create.log создание образов ВМ host_image_delete.log удаление образов ВМ host_migration.log миграция ВМ host_redefine.log изменение параметров ВМ, установка пароля VNC host_snapshot.log
операции со снимками ВМ host_source_copy.log загрузка и копирование образов ВМ и шаблонов ОС image_relocate.log перемещение образов ВМ iso.log загрузка и подключение ISO-образов uploader.log загрузка ISO-образов websockify.log сервис доступа к ВМ по VNC Операции с LXD-контейнерами lxdconsole.log клонирование LXD-контейнеров lxd_init.log создание LXD-контейнеров Операции с узлами кластера hawatch.log микросервис hawatch. Подробнее см. в статье Принцип работы отказоустойчивых кластеров lxd_node_info.log сбор об узлах LXD-кластера network_configure.log
node_network.log
конфигурация сети на узле кластера node_create/node_{node_id}.log сбор информации о добавлении узлов кластера и ошибках добавления
node_info.log сбор информации об узле кластера (данные об ОС, диске и т.д.)
Установка платформы Лог установки платформы сохраняется в файл /opt/ispsystem/vm/install.log .
Различные сервисы Функция Контейнер Путь к файлу Лицензирование license stdout контейнера Сервис уведомлений msgsender /var/log/msgsender_reader.log /var/log/msgsender_writer.log Почтовые уведомления о создании, переустановке ОС, смене пароля ВМ msgsender /var/log/email.log Работа Telegram-бота. Подробнее см. в статье Отправка уведомлений в Telegram msgsender /var/log/telegram.log Cбор информации об аптайме узла кластера, версиях QEMU, libvirt nodewatch /var/log/nodewatch.log Миграция из VMmanager 5 importer /var/log/importer.log Миграция адресного пространства ipmgr /var/log/ip_ipmgr5_proxy.log Выполнение последовательностей запросов batch
stdout контейнера Выдача SSL-сертификатов input
/var/log/nginxctl.log Балансировщик balancer
/var/log/balancer.log
Подробнее см. в статье Балансировщик
Проблемы с подключением LDAP auth
stdout контейнера
Синхронизация с LDAP vm_box
/var/log/vm_user_syncer.log
Лог-файлы на узле кластера Работа с логами Скопировать лог-файл из контейнера Чтобы скопировать лог-файл из контейнера в текущую директорию, выполните команду:
docker cp <container_name>:<path_to_log> ./
Пояснения к команде
<container_name> — имя контейнера
<path_to_log> — путь и имя лог-файла
Пример команды
docker cp auth:/var/log/licupdate.log ./
Просмотр лог-файлов в контейнере Перейдите в нужный контейнер:
docker exec -it <container_name> sh
Пояснения к команде
<container_name> — имя контейнера
Пример команды
docker exec -it vm_box sh
Просмотрите лог-файл стандартными утилитами Linux. Например, cat , tail , less и т.д.
Пример команды
less /var/log/host.log
Чтобы просмотреть логи конкретной задачи:
В интерфейсе платформы перейдите в Задачи → выберите задачу → скопируйте значение request_id . Выполните команду:
grep <request_id> /var/log/*
Пояснения к команде
<request_id> — значение request_id
Выйдите из контейнера:
Просмотр лог-файлов через stdout Для некоторых сервисов не создаются отдельные лог-файлы. Логи этих сервисов записываются в stdout. Чтобы просмотреть такие логи, выполните команду:
docker logs <container_name> --tail <lines> --since <period>
Пояснения к команде
<container_name> — имя контейнера
<lines> — количество строк
<period> — период сбора логов
Пример команды: Посмотреть последние 100 строк лога контейнера vm_box, созданные за последние 60 минут
docker logs vm_box --tail 100 --since 60m
Сбор логов платформы Чтобы собрать все лог-файлы платформы в одной директории:
Подключитесь к серверу с платформой по 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
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 .
Запустите скрипт:
Лог-файлы будут сохранены в директорию /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 add-patch -p journald -f /opt/ispsystem/vm/journald.yaml
Дата последнего обновления статьи: 26.05.2025. Статья подготовлена техническими писателями ISPsystem.