Архитектура DCImanager 6 построена с использованием Docker (докер). Технология Docker позволяет создавать и управлять контейнерами. Докер-контейнер (docker container) — изолированная среда, в которой запущено приложение. Для управления всеми докер-контейнерами в DCImanager 6 используется сервис docker-compose. В файле /opt/ispsystem/dci/docker-compose.yaml настроено необходимое окружение.

Контейнеры DCImanager 6


На сервере с DCImanager 6 запускаются докер-контейнеры: 

  • alert — сервис настройки уведомлений в платформе;
  • clickhouse_server — сервис хранения статистики — база данных Clickhouse;
  • dci_auth_back_1, dci_auth_back4_1 — сервисы регистрации и авторизации пользователей на стороне бэкенда;
  • dci_auth_front_1 — сервис регистрации и авторизации пользователей на стороне фронтенда;
  • dci_back — основной контейнер бэкенда платформы;
  • dci_batch_1 — сервис выполнения последовательности запросов;
  • dci_carbon_clickhouse_1 — агрегатор данных статистики;
  • dci_consul_1 — контейнер для работы с системой обнаружения сервисов Consul. Подробнее o Consul см. в официальной документации;
  • dci_consumer_1 — сервис управления оборудованием;
  • dci_customizer_1 — управление настройками клиентского сервиса;
  • dci_dci_alert_wrapper_1 — сервис слежения за уведомлениями;
  • dci_dci_backup_1 — сервис резервного копирования платформы;
  • dci_dci_front_1 — основной контейнер фронтенда платформы;
  • dci_dns_proxy_1 — контейнер для работы с модулем "Интеграции с DNSmanager 6";
  • dci_eservice_1 — HTTP-сервис работы с оборудованием;
  • dci_eservice_msg_queue_1 — очередь сообщений для сервиса работы с оборудованием;
  • dci_grafana_1 — система визуализации данных статистики;
  • dci_grafana_user_1 — система визуализации данных статистики по серверам пользователей;
  • dci_input_1 — сервер nginx для обработки запросов;
  • dci_ipmgr_1 — сервис управления IP-адресами;
  • dci_ipmi_proxy_v2_client_1 — клиентская часть модуля проксирования BMC;
  • dci_journal_1 — сервис журналирования;
  • dci_ldap_1 — контейнер для синхронизации с каталогом LDAP;
  • dci_license_1 — cервис, отвечающий за получение, обновление и хранение лицензий платформы;
  • dci_metric_collector_1 — сервис сбора метрик;
  • dci_msgsender_1 — сервис отправки email пользователям;
  • dci_notice-center_1 — сервис отправки уведомлений в интерфейс платформы;
  • dci_notifier_v4_1 — сервис отслеживания событий и отправки уведомлений;
  • dci_plugin_1 — контейнер для работы с плагинами;
  • dci_registrator_1 — сервис регистрации новых контейнеров для nginx;
  • dci_report_1 — сервис формирования отчётов;
  • dci_search_1 — сервис глобального поиска;
  • dci_taskmgr_1 — сервис менеджера задач;
  • dci_updater_1 — сервис обновления DCImanager 6;
  • dci_validator_1 — сервис проверки содержимого POST-запроса;
  • dci_vault_1 — хранилище секретных данных платформы (лицензия, SSH-ключи, ключ БД);
  • graphite_carbonapi — API-сервис для передачи метрик в Grafana и интерфейс платформы;
  • graphite_clickhouse — сервис преобразования данных статистики в формат graphite;
  • migrator — сервис миграции с DCImanager 5;
  • mysql — контейнер для работы СУБД MySQL;
  • swagger — сервис интерактивной оболочки Swagger;
  • vector_master — сервис, отвечающий за передачу логов с BMC Redfish в Grafana.

На сервере-локации запускаются докер-контейнеры:

  • bird — сервис маршрутизации для модуля VPU;
  • eservice_handler — сервис с обработчиками оборудования;
  • etc_goflow_1 — контейнер для сбора данных статистики NetFlow;
  • flow_msg_queue — временное хранилище очереди сообщений для статистики NetFlow;
  • ipmi_proxy_v2_server — серверная часть модуля проксирования BMC;
  • kea_dhcp — DHCP-сервер;
  • lweb — HTTP-сервер;
  • nfsd — NFS-сервер;
  • redis — база данных и система уведомлений;
  • smbd — SMB-сервер;
  • tftpd — TFTP-сервер;
  • vector_location — сервис, отвечающий за передачу логов с BMC Redfish в Grafana.


Схема работы продукта


Как работать с контейнерами


Для просмотра списка запущенных контейнеров подключитесь к серверу с DCImanager 6 по SSH и введите:

docker ps
CODE

Чтобы перейти в контейнер, введите: 

docker exec -it container_name sh
CODE

container_name — имя контейнера.