Лог-файлы платформы
VMmanager сохраняет информацию о работе сервисов в лог-файлы. Данные из лог-файлов могут быть использованы для диагностики работы платформы.
Перечень лог-файлов
Основные лог-файлы
Основные лог-файлы сервисов VMmanager хранятся в контейнере vm_box в директории /var/log/. Обычно имя лог-файла совпадает с названием сервиса. Например, лог-файл сервиса vmwatch называется vmwatch.log.
Имя файла | Содержимое |
---|---|
Общие сервисы | |
vm_1_writer.log |
|
vm_1_reader.log | API-запросы, выполненные методом GET |
batch.log | выполнение последовательностей запросов |
monitor.log | сервис мониторинга ВМ и узлов кластера |
run_script.log | запуск скриптов |
vmctl.log |
|
vmwatch.log | события libvirt, синхронизация состояния ВМ |
Операции с ВМ | |
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_source_copy.log | загрузка и копирование образов ВМ и шаблонов ОС |
image_relocate.log | перемещение образов ВМ |
iso.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_info.log | сбор информации об узле кластера (данные об ОС, диске и т.д.) |
Установка платформы
Лог установки платформы сохраняется в файл /opt/ispsystem/vm/install.log.
Различные сервисы
Функция | Контейнер | Путь к файлу |
---|---|---|
Лицензирование | vm_auth_back_1 | /var/log/licupdate.log /var/log/instancectl.log |
Сервис уведомлений | vm_msgsender_1 | /var/log/msgsender_1_reader.1.log /var/log/msgsender_1_writer.1.log |
Почтовые уведомления о создании, переустановке ОС, смене пароля ВМ | vm_msgsender_1 | /var/log/email.log |
Работа Telegram-бота. Подробнее см. в статье Отправка уведомлений в Telegram | vm_msgsender_1 | /var/log/telegram.log |
Cбор информации об аптайме узла кластера, версиях QEMU, libvirt | nodewatch | /var/log/nodewatch.log |
Миграция из VMmanager 5 | importer | /var/log/importer.log |
Миграция адресного пространства | vm_ipmgr_1 | /var/log/ip_ipmgr5_proxy.log |
Лог-файлы на узле кластера
Функция | Путь к файлу |
---|---|
Сбор метрик для статистики | /var/log/gomon.log |
Сервис ha-agent. Подробнее см. в статье Принцип работы отказоустойчивых кластеров | /var/log/ha-agent.log |
Работа с логами
Для просмотра логов в докер-контейнере перейдите в нужный контейнер. Например, vm_box:
docker exec -it vm_box sh
Логи конкретной задачи можно найти по её request_id. Для этого:
- Перейдите в Задачи → выберите задачу → скопируйте значение request_id.
Выполните команду:
grep <request_id> /var/log/*
CODEПояснения к команде<request_id> — значение request_id
Для некоторых сервисов не создаются отдельные лог-файлы. Логи этих сервисов можно посмотреть через stdout. Пример команды:
Посмотреть последние 100 строк лога, созданные за последние 60 минут
docker logs -f vm_box --tail 100 --since 60m
Сбор логов платформы
Чтобы собрать все лог-файлы платформы в одной директории:
- Подключитесь к серверу с платформой по 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 .
BASHЗапустите скрипт:
sh logs_collect.sh
BASH
Лог-файлы будут сохранены в директорию /home/logs/, архив с логами — в директорию /home/.