The architecture of DCImanager 6 is based on the use of Docker. The Docker technology allows to create and manage containers. A docker container is an isolated environment in which the application is running. DCImanager 6 uses the docker-compose service to manage all docker containers. The required environment is configured in the /opt/ispsystem/dci/docker-compose.yaml file.

DCImanager 6 containers

Container names may differ depending on the used version of Docker Compose. A hyphen may be used instead of the underscore character in container names.

To get the exact names of the containers, run the command: 

docker ps -a

The following docker containers are started on the DCImanager 6 server: 

  • alert — container for platform notifications settings service;
  • clickhouse_server — statistics storage service — Clickhouse database;
  • dci_auth_back_1, dci_auth_back4_1 — backend user registration and authorization services;
  • dci_auth_front_1 — frontend user registration and authorization service;
  • dci_back — main container of platform backend;
  • dci_batch_1 — request sequence execution service;
  • dci_carbon_clickhouse_1 — statistics aggregator;
  • dci_consul_1 — container for Consul service detection system. Read more about Consul in the official documentation;
  • dci_consumer_1 — equipment management service;
  • dci_customizer_1 — management of client service settings;
  • dci_dci_alert_wrapper_1 — notification tracking service;
  • dci_dci_backup_1 — platform backup service;
  • dci_dci_front_1 — main container of platform frontend;
  • dci_dns_proxy_1 — container for working with Integration with DNSmanager 6 module;
  • dci_eservice_1 — HTTP service for managing equipment;
  • dci_eservice_msg_queue_1 — message queue for equipment management service;
  • dci_grafana_1 — statistics visualization system;
  • dci_grafana_1 — statistics visualization system for user servers;
  • dci_input_1 — nginx server for request processing;
  • dci_ipmgr_1 — IP addresses management service;
  • dci_ipmi_proxy_v2_client_1 — client part of BMC proxy module;
  • dci_journal_1 — logging service;
  • dci_ldap_1 — container for synchronization with the LDAP directory;
  • dci_license_1 — service responsible for receiving, updating and storing platform licenses;
  • dci_metric_collector_1 — metrics collection service;
  • dci_msgsender_1 — service for email sending to users;
  • dci_notice-center_1 — service for sending notifications to the platform interface;
  • dci_notifier_v4_1 — event tracking and notifications service;
  • dci_plugin_1 — plugin management container;
  • dci_registrator_1 — new nginx containers registration service;
  • dci_report_1 — report generating service;
  • dci_search_1 — global search service;
  • dci_taskmgr_1 — task manager service;
  • dci_updater_1 — DCImanager 6 update service;
  • dci_validator_1 — POST query content check service;
  • dci_vault_1 — storage of platform secret data (license, SSH keys, database key);
  • graphite_carbonapi — API service for transferring metrics to Grafana and the platform interface;
  • graphite_clickhouse — service converting statistics data into graphite format;
  • migrator — DCImanager 5 migration service;
  • mysql — container for working with MySQL;
  • swagger — Swagger interactive shell.

The following docker containers are started on the location server:

  • bird — routing service for the VPU module;
  • eservice_handler — service containing equipment handlers;
  • etc_goflow_1 — container for collecting NetFlow statistics;
  • flow_msg_queue — temporary message queue storage for NetFlow statistics;
  • ipmi_proxy_v2_server — server part of BMC proxy module;
  • kea_dhcp — DHCP server;
  • lweb — HTTP server;
  • nfsd — NFS server;
  • redis — database and notifications system;
  • smbd — SMB server;
  • tftpd — TFTP server.

Product operation logic

How to manage containers

Connect to the DCImanager 6 server via SSH and enter the command to view the list of running containers:

docker ps

To enter the required container, enter:

docker exec -it container_name sh

container_name — name of the running container