VMmanager structure
VMmanager has three docker containers:
- vm_box — the main container with the services for the platform;
- input — container with nginx web server. Provides access to all platform services;
- auth_back — service for user registration and authorization in VMmanager. It processes profile settings and SSH-keys;
- validator — POST query content check service;
- graphite — the container with the VM and cluster node usage statistics;
- mysql — the container for the database management system MySQL;
- vm_ipmgr_1 — IPmanager service container;
- plugin — plugins container;
- registrator — the container for dynamic creation of new containers for nginx;
- consul — the container for Consul service detection system. Read more about Consul in the official documentation;
- grafana — grafana monitoring visualization container;
- vm_dns_proxy_1 — PowerDNS integration plugin container;
- alert — container for platform notifications settings service;
scheduler — container for VMs backup schedule.
Container management
To view the list of running containers connect to the server with VMmanager via SSH and enter:
docker ps
To go to the container, enter:
docker exec -it containerID bash
Services of the vm_box containers
Services
The main services of the vm_box container:
- supervisord — the service management system. It restarts the services automatically when they fail. For more information please refer to the official documentation;
- consul — the service discovery system. Learn more in the official documentation;
- nginx — the webserver for displaying the web interface;
- novnc — this service supports VNC of virtual machines;
- vm6 — this service supports the operation of VMmanager;
- ip — manages IP addresses of virtual machines;
- msgsender — sends emails to VMmanager users. E.g., after the virtual machine is successfully created or the operating system is reinstalled;
- notifier — monitors running events and shows pop-up notifications when their statuses are changed;
- taskmgr — tasks processing service that collects, keeps, and outputs information in the Tasks section;
- monitor — collects and displays the current status of the virtual machine and cluster nodes;
- gostat — VM usage statistics processing service. It receives information from the graphite container and displays it in Virtual machines → VM card → Statistics;
- collector — collects VMmanager usage and error statistics and sends them to the metrics server;
- alert-wrapper — this service monitors notifications and transmits them to the notice_center service;
- grafana_proxy — this is the service for proxying platform requests to grafana;
- notice_center — this service sends notifications to the platform interface.
To display a full list of running services:
Go to the container vm_box:
docker exec -it vm_box_ID bash
Open the list of active services:
ps ax
Logs
The log files of all VMmanager services are kept in the vm_box container in the directory /var/log. The name of the log file matches the service name. E.g., the name of the log file of the taskmgr service is taskmgr.log.