Архитектура DCImanager 6 построена с использованием Docker (докер). Технология Docker позволяет создавать и управлять контейнерами. Докер-контейнер (docker container) — изолированная среда, в которой запущено приложение. Для управления всеми докер-контейнерами в DCImanager 6 используется сервис docker-compose. В файле /opt/ispsystem/dci/docker-compose.yaml настроено необходимое окружение.
Контейнеры DCImanager 6
Имена контейнеров могут отличаться в зависимости от используемой версии Docker Compose. Вместо символа подчёркивания в именах контейнеров может использоваться дефис.
Чтобы узнать точные имена контейнеров, выполните команду:
docker ps -a
На сервере с DCImanager 6 запускаются контейнеры:
- alert — сервис настройки уведомлений в платформе;
- alert_wrapper — сервис слежения за уведомлениями;
- auth_back — сервис регистрации и авторизации пользователей на стороне бэкенда;
- auth_front — сервис регистрации и авторизации пользователей на стороне фронтенда;
- backup — сервис резервного копирования;
- batch — сервис выполнения последовательности запросов;
- carbon_clickhouse — агрегатор данных статистики;
- clickhouse_server — сервис хранения статистики — база данных Clickhouse;
- consul — контейнер для работы с системой обнаружения сервисов Consul. Подробнее o Consul см. в официальной документации;
- customizer — управление настройками клиентского сервиса;
- dci_back — основной контейнер бэкенда платформы;
- dci_front — основной контейнер фронтенда платформы;
- dns_proxy — контейнер для работы с модулем "Интеграции с DNSmanager 6";
- eservice — HTTP-сервис работы с оборудованием;
- eservice_consumer — сервис управления оборудованием;
- graphite_carbonapi — API-сервис для передачи метрик в Grafana и интерфейс платформы;
- graphite_clickhouse — сервис преобразования данных статистики в формат graphite;
- grafana — система визуализации данных статистики;
- grafana_user — система визуализации данных статистики по серверам пользователей;
- input — сервер nginx для обработки запросов;
- ipmgr — сервис управления IP-адресами;
- ipmi_proxy_client — клиентская часть модуля проксирования BMC;
- journal — сервис журналирования;
- ldap — контейнер для синхронизации с каталогом LDAP;
- license — сервис, отвечающий за получение, обновление и хранение лицензий платформы;
- metric_collector — сервис сбора метрик;
- migrator — служба миграции с DCImanager 5;
- msgsender — сервис отправки email пользователям;
- msg_queue — очередь сообщений для сервиса работы с оборудованием;
- mysql или pgsql — контейнер для работы СУБД;
- notifier — сервис отслеживания событий и отправки уведомлений;
- notice_center — сервис отправки уведомлений в интерфейс платформы;
- plugin — контейнер для работы с плагинами;
- report — сервис формирования отчётов;
- search — сервис глобального поиска;
- swagger — сервис интерактивной оболочки Swagger;
- taskmgr — сервис менеджера задач;
- telegram_srv — сервис отправки сообщений в Telegram;
- updater — сервис обновления DCImanager 6;
- vault — хранилище секретных данных платформы (лицензия, SSH-ключи, ключ БД);
- vector_master — сервис, отвечающий за передачу логов с BMC Redfish в Grafana;
- victoria_metrics — сервис, который позволяет агрегировать и хранить метрики, полученные от агента OS.
На сервере-локации запускаются докер-контейнеры:
- bird — сервис маршрутизации для модуля VPU;
- eservice_handler — сервис с обработчиками оборудования;
- flow_msg_queue — временное хранилище очереди сообщений для статистики NetFlow;
- goflow-1 — контейнер для сбора данных статистики NetFlow;
- ipmi_proxy_v2_server — серверная часть модуля проксирования BMC;
- kea_dhcp — DHCP-сервер;
- lweb — HTTP-сервер;
- nfsd — NFS-сервер;
- redis — база данных и система уведомлений;
- smbd — SMB-сервер;
- tftpd — TFTP-сервер;
- vector_location — сервис, отвечающий за передачу логов с BMC Redfish в Grafana;
- vmagent — сервис сбора и передачи метрик в хранилище victoria_metrics.
Схема работы продукта

Как работать с контейнерами
Для просмотра списка запущенных контейнеров подключитесь к серверу с DCImanager 6 по SSH и введите:
docker ps
Чтобы перейти в контейнер, введите:
docker exec -it container_name sh