Ваш опыт = наш роадмап!
Расскажите, как мы можем усилить платформы
ISPsystem для вашего бизнеса. Опрос займет 5 минут.
Пройти опрос
Режим фокусировки

Лог-файлы платформы

Это документация VMmanager 6 для редакций Hosting и Infrastructure. Документация VMmanager для редакции ФСТЭК находится в разделе VMmanager 6 ФСТЭК.

VMmanager сохраняет информацию о работе сервисов в логи (лог-файлы, журнальные файлы, журналы). Данные из логов могут быть использованы для диагностики работы платформы. Сервисы используют разные способы хранения логов:

  • файлы внутри контейнера Docker;
  • stdout контейнера Docker;
  • журналы системной службы journald.
При пересоздании контейнера логи внутри него удаляются.

Перечень логов

Основные логи

Большинство логов основного контейнера vm_back сохраняются в journald.

ИдентификаторСодержимое
Общие сервисы
vm_writer
  • задачи, создаваемые платформой;
  • API-запросы, выполненные методами POST и DELETE;
  • операции с базой данных, выполненные с помощью команд INSERT и UPDATE
vm_readerAPI-запросы, выполненные методом GET
run_scriptзапуск скриптов
vmctl
  • параметры и результат запуска скриптов:
    • операций с виртуальными машинами (ВМ);
    • отправки почты;
    • сбора информации об узле кластера;
    • загрузки и копирования образов ВМ и шаблонов ОС;
  • логи системы управления конфигурациями Ansible
Операции с ВМ
check_storageпроверка хранилищ ВМ
connect_storagesподключение хранилищ ВМ
disk_resizeоперации по изменению дисков ВМ
host_actionзапуск, остановка, перезапуск ВМ
host_change_passwordсмена root-пароля для ВМ
host_firewallнастройка файрвола
host_image_createсоздание образов ВМ
host_image_deleteудаление образов ВМ
host_migrationмиграция ВМ
host_redefineизменение параметров ВМ, установка пароля VNC

host_snapshot

операции со снимками ВМ
host_source_copyзагрузка и копирование образов ВМ и шаблонов ОС
image_relocateперемещение образов ВМ
host_iso_actionзагрузка и подключение ISO-образов
Операции с LXD-контейнерами
lxd_initсоздание LXD-контейнеров
Операции с узлами кластера
node_infoсбор информации об узлах кластера

configure

node_network_almalinux_10

node_network_astra_1.8

конфигурация сети на узле кластера
node_frr

установка ПО FRR на узлы кластера IP-fabric

node_infoсбор информации об узле кластера (данные об ОС, диске и т.д.)

Часть логов хранятся в контейнере vm_back в директории /var/log/. Обычно имя лог-файла совпадает с названием сервиса. Например, лог-файл сервиса vmwatch называется vmwatch.log

Имя файлаСодержимое
Общие сервисы
monitor.logсервис мониторинга ВМ и узлов кластера
vmwatch.logсобытия libvirt, синхронизация состояния ВМ
Операции с узлами кластера
hawatch.logмикросервис hawatch. Подробнее см. в статье Принцип работы отказоустойчивых кластеров

Установка платформы

Лог установки платформы сохраняется в файл /opt/ispsystem/vm/install.log на сервере с платформой.

Сервисы с сохранением в journald

В journald сохраняются логи контейнеров:

  • alert;
  • auth_back4;
  • back_v4;
  • batch;
  • customizer;
  • dr;
  • ipmgr;
  • license;
  • metric_collector;
  • msgsender;
  • nodewarden;
  • notifier_v4;
  • plugin_v4;
  • san;
  • taskmgr;
  • updater;
  • vault;
  • vm_back;
  • vmr.

Идентификатор логов совпадает с именем контейнера. Подробнее о назначении контейнеров см. Структура VMmanager.

Различные сервисы

ФункцияКонтейнерПуть к файлу
Cбор информации об аптайме узла кластера, версиях QEMU, libvirtnodewatch/var/log/nodewatch.log
Миграция из VMmanager 5importer/var/log/importer.log
Выдача SSL-сертификатов

input

/var/log/nginxctl.log
Балансировщик

balancer

/var/log/balancer.log

Подробнее см. в статье Балансировщик

Проблемы с подключением LDAP

auth

stdout контейнера

Загрузка ISO-образовvm_box

/var/log/uploader.log

Сервис доступа к ВМ по VNCvm_box

/var/log/gosockify.log

Перенос платформы на ВМ

файлы /opt/ispsystem/vm-mover/vm_mover_*.log на сервере с платформой

Лог-файлы на узле кластера

ФункцияПуть к файлу
Сбор метрик для статистики/var/log/gomon.log
Сервис ha-agent. Подробнее см. в статье Принцип работы отказоустойчивых кластеров/var/log/ha-agent.log
Сервис vm-agent. Подробнее см. в статье Перенос платформы на ВМ/var/log/vm-agent.log

Работа с логами в контейнерах

Скопировать лог-файл из контейнера

Чтобы скопировать лог-файл из контейнера в текущую директорию, выполните команду: 

docker cp <container_name>:<path_to_log> ./
Пояснения к команде
Пример команды
docker cp auth:/var/log/licupdate.log ./

Просмотр лог-файлов в контейнере

  1. Перейдите в нужный контейнер: 

    docker exec -it <container_name> sh
    Пояснения к команде
    Пример команды
    docker exec -it vm_back sh
  2. Просмотрите лог-файл стандартными утилитами Linux. Например, cat, tail, less и т.д. 

    Пример команды
    less /var/log/host.log

    Чтобы просмотреть логи конкретной задачи:

    1. В интерфейсе платформы перейдите в Задачи → выберите задачу → скопируйте значение request_id.
    2. Выполните команду:

      grep <request_id> /var/log/*
      Пояснения к команде
  3. Выйдите из контейнера: 

    exit

Просмотр лог-файлов через stdout

Для некоторых сервисов не создаются отдельные лог-файлы. Логи этих сервисов записываются в stdout. Чтобы просмотреть такие логи, выполните команду: 

docker logs <container_name> --tail <lines> --since <period>
Пояснения к команде
Пример команды: Посмотреть последние 100 строк лога контейнера vm_box, созданные за последние 60 минут
docker logs vm_back --tail 100 --since 60m

Работа с логами в journald

Чтобы вывести логи journald, введите команду: 

journalctl

В параметрах команды вы можете указать условия фильтрации:

  • COMPANY=isp — вывести логи всех контейнеров;
  • CONTAINER_NAME=<имя_контейнера> — вывести логи определённого контейнера;
  • SYSLOG_IDENTIFIER=<идентификатор> — вывести логи определённого сервиса;
  • REQUEST_ID=<id_задачи> — вывести логи по определённой задаче;
  • --since "<дата>" — начало периода. Например, --since "2026-09-30 10:00:00", --since yesterday, --since "1 hour ago";
  • --until "<дата>" — конец периода. Например, --since "2026-09-30 10:00:00", --since yesterday, --since "1 hour ago";
  • -o json — вывести в формате JSON;
  • -o verbose — подробный вывод;
  • -n — количество строк;
  • -p — уровень важности. Возможные варианты:
    • 0 — система неработоспособна;
    • 1 — требуется немедленное вмешательство;
    • 2 — критическое состояние;
    • 3 — ошибка;
    • 4 — предупреждение;
    • 5 — уведомление;
    • 6 — информация;
    • 7 — отладка.

Подробнее о параметрах команды см. в официальной документации.

Примеры команд:

Вывести все логи платформы за вчерашний день
journalctl COMPANY=isp --since yesterday
Вывести все логи vm_back об ошибках и более серьёзных состояниях
journalctl CONTAINER_NAME=vm_back -p 3
Вывести последние 100 строк лога vm_reader
journalctl SYSLOG_IDENTIFIER=vm_reader -n 100
Вывести все логи по задаче 1234 в формате JSON
journalctl REQUEST_ID=1234 -o json

Сбор логов платформы

Сбор с помощью встроенного сервиса

Возможность поддерживается с версии 2026.02.1.

Чтобы собрать все лог-файлы в одной директории:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье  Настройка рабочего места .
  2. Выполните одну из команд: 

    Сбор логов с платформы и всех узлов
    export SKIP_NODES_LOGS=0 && vm collect-logs
    Сбор логов только с платформы
    export SKIP_NODES_LOGS=1 && vm collect-logs
    Операция сбора логов для инсталляций с большим количеством узлов занимает большой объём RAM. Поэтому, если логи узлов в данный момент не нужны, рекомендуем запустить сбор логов только с платформы.

    Вы можете собирать логи с определённой даты. Для этого укажите параметр -s

    vm collect-logs -s <date>

    Пояснения к команде:

    • <date> — дата начала лога в формате YYYY-MM-DD (например, 2025-12-30) или 'YYYY-MM-DD HH:MM:SS' (например, '2025-12-30 23:45:55')

Лог-файлы будут сохранены в директорию /home/logs/, архив с логами — в файл /home/logs_YYYY_MM_DD_HH_MM_SS.tar.gz.

Собранные логи включают:

  • содержимое журналов Docker для всех запущенных контейнеров;
  • все записи journald с сервера платформы, которые содержат атрибут COMPANY=isp;
  • журналы установки платформы /opt/ispsystem/vm/install.log.

Сбор с помощью собственного скрипта

Чтобы собрать все лог-файлы платформы в одной директории:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Создайте 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 COMPANY=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 .
  3. Запустите скрипт:

    bash logs_collect.sh

Лог-файлы будут сохранены в директорию /home/logs/, архив с логами — в директорию /home/.


Может быть полезно
Связанные статьи: