VMmanager saves information about the operation of services in logs. The data from logs can be used to diagnose the platform operation. Services use various methods for storing logs:
- files inside a Docker container;
- Docker container's stdout;
- logs from the journald system service.
Logs list
Main log files
Most of the logs for the main container vm_back are stored in journald.
Some of the logs are stored in the vm_back container in the /var/log/ directory. Usually the name of the log file is the same as the service name. For example, the log file of the vmwatch service is called vmwatch.log.
Platform installation
The platform installation log is saved in the file /opt/ispsystem/vm/install.log on the platform server.
Services logged in journald
The following container logs are stored in 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.
The log identifier matches the container name. For more information on the purpose of containers, see VMmanager structure.
Various services
Log files on the cluster node
Working with logs in containers
Copy log file from a container
To copy a log file from the container to the current directory, run the command:
docker cp <container_name>:<path_to_log> ./docker cp auth:/var/log/licupdate.log ./View log files in a container
-
Enter the required container:
docker exec -it <container_name> shComments to the commandExample commanddocker exec -it vm_back sh -
View the log file using standard Linux utilities. For example, cat, tail, less, etc.
Example commandless /var/log/host.logTo view the logs of a specific task:
- In the platform interface go to the Tasks → select the task → copy the request_id value.
-
Run the command:
grep <request_id> /var/log/*Comments to the command
-
Exit the container:
exit
Viewing log files via stdout
Separate log files are not created for some services. Logs of these services are written to stdout. To view such logs, run the command:
docker logs <container_name> --tail <lines> --since <period>docker logs vm_back --tail 100 --since 60mWorking with logs in journald
To view the journald logs, enter the following command:
journalctlIn the command options, you can specify filter criteria:
COMPANY=isp— display the logs for all containers;CONTAINER_NAME=<имя_контейнера>— display the logs for a specific container;SYSLOG_IDENTIFIER=<идентификатор>— display the logs for a specific service;REQUEST_ID=<id_задачи>— display the logs for a specific task;--since "<дата>" — start of the period. For example,--since "2026-09-30 10:00:00",--since yesterday,--since "1 hour ago";--until "<дата>"— end of the period. For example,--since "2026-09-30 10:00:00",--since yesterday,--since "1 hour ago";-o json— display in JSON format;-o verbose— detailed output;-n— number of lines;-p— priority. Possible options:- 0 — System is down;
- 1 — Immediate action required;
- 2 — Critical condition;
- 3 — Error;
- 4 — Warning;
- 5 — Notification;
- 6 — Info;
- 7 — Debug.
Read more about command parameters in the official documentation.
Example commands:
journalctl COMPANY=isp --since yesterdayjournalctl CONTAINER_NAME=vm_back -p 3journalctl SYSLOG_IDENTIFIER=vm_reader -n 100journalctl REQUEST_ID=1234 -o jsonCollecting platform logs
Collecting with the built-in service
To collect all the log files in one directory:
- Connect to the server with the platform via SSH. For more information about connecting via SSH, see Workstation setup.
-
Run one of the following commands:
Collect logs from the platform and all nodesexport SKIP_NODES_LOGS=0 && vm collect-logsCollect logs from the platform onlyexport SKIP_NODES_LOGS=1 && vm collect-logsThe log collection process for installations with a large number of nodes consumes a significant amount of RAM. Therefore, if you do not currently need the node logs, we recommend running the log collection only from the platform.You can collect logs from a specific date. To do this, specify the
-soption:vm collect-logs -s <date>Comments:
<date>— log start date in the format YYYY-MM-DD (for example,2025-12-30) or ‘YYYY-MM-DD HH:MM:SS’ (for example, ‘2025-12-30 23:45:55’)
The log files will be saved in the /home/logs/ directory, the log archive will be saved in the /home/logs_YYYY_MM_DD_HH_MM_SS.tar.gz file.
The collected logs include:
- the contents of Docker logs for all running containers;
- all journal entries from the platform server that contain the
COMPANY=ispattribute; - platform installation logs /opt/ispsystem/vm/install.log.
Collecting with your own script
To collect all the log files of the platform in one directory:
- Connect to the server with the platform via SSH.
-
Create the bash script logs_collect.sh with the following content:
#!/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 . -
Run the script:
bash logs_collect.sh
The log files will be saved in the /home/logs/ directory, the log archive will be saved in the /home/ directory.
En
Es