Администратору DCImanager

Структура DCImanager

ISPSystem

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

Контейнеры DCImanager


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

  • dci_dci_front_1 — основной контейнер фронтенда платформы;
  • dci_dci_back_1 — основной контейнер бэкенда платформы;
  • dci_eservice_1 — HTTP-сервис работы с оборудованием;
  • dci_ipmgr_1 — сервис управления IP-адресами;
  • dci_metric_collector_1 — сервис сбора метрик;
  • dci_journal_1 — сервис журналирования;
  • dci_ipmi_proxy_v2_client_1 — клиентская часть модуля проксирования BMC;
  • dci_plugin_1 — контейнер для работы с плагинами;
  • dci_msgsender_1 — сервис отправки email пользователям;
  • dci_updater_1 — сервис обновления DCImanager;
  • dci_notifier_1 — сервис отслеживания событий и отправки уведомлений;
  • dci_batch_1 — сервис выполнения последовательности запросов;
  • dci_validator_1 — сервис проверки содержимого POST-запроса;
  • dci_consumer_1 — сервис управления оборудованием;
  • dci_auth_back_1 — сервис регистрации и авторизации пользователей на стороне бэкенда;
  • dci_auth_front_1 — сервис регистрации и авторизации пользователей на стороне фронтенда;
  • dci_input_1 — сервер nginx для обработки запросов;
  • dci_registrator_1 — сервис регистрации новых контейнеров для nginx;
  • dci_dns_proxy_1 — контейнер для работы с модулем интеграции с PowerDNS;
  • dci_graphite_1 — сервис агрегации и хранения данных статистики;
  • dci_loki_1 — сервис сбора лог-файлов;
  • dci_eservice_msg_queue_1 — очередь сообщений для сервиса работы с оборудованием;
  • dci_grafana_1 — система визуализации данных статистики;
  • dci_mysql_1 — контейнер для работы СУБД MySQL;
  • dci_consul_1 — контейнер для работы с системой обнаружения сервисов Consul. Подробнее o Consul см. в официальной документации;

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

  • ipmi_proxy_v2_server — серверная часть модуля проксирования BMC.;
  • eservice_handler — сервис с обработчиками оборудования;
  • lweb — HTTP-сервер;
  • tftpd — TFTP-сервер;
  • smbd — SMB-сервер;
  • redis — база данных и система уведомлений;
  • nfsd — NFS-сервер;
  • kea_dhcp — DHCP-сервер.

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


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

docker ps

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

docker exec -it container_name sh

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

Логирование


Лог-файлы сервисов DCImanager хранятся в директориях /var/log докер-контейнеров. Имя лог-файла совпадает с названием сервиса. Например, лог-файл сервиса taskmgr называется taskmgr.log. 

dci_dci_back_1

 /var/log/dci_1_writer.log, /var/log/dci_1_reader.log — логи основного сервиса DCImanager.

 /var/log/dci_location_check_update.log — логи сервиса обновления контейнеров на локации. Сервис запускается при перезапуске контейнера и обновляет контейнеры на локации, если это необходимо.

dci_consumer_1

/var/log/worker_daemon.log — логи периодичных опросов оборудования и получения данных статистики.

eservice_handler

/var/log/dci_switch_{id}_handler.log — логи обработчиков коммутаторов.

id — ID коммутатора в DCImanager. Например, для коммутатора с ID 3, файл называется dci_switch_3_handler.log

Пример работы с лог-файлом:

Узнать когда выполнялся опрос коммутатора
cat /var/log/dci_switch_1_handler.log | grep 'Switch status start'

/var/log/dci_pdu_{id}_handler.log — логи обработчиков PDU.

id — ID PDU в DCImanager. Например, для PDU с ID 3, файл называется dci_pdu_3_handler.log

/var/log/dci_ipmi_{id}_handler.log — логи обработчиков BMC.

id — ID BMC в DCImanager. Например, для BMC с ID 3, файл называется dci_ipmi_3_handler.log

/var/log/dci_intel_amt_handler.log — логи обработчиков Intel AMT.

dci_ipmi_proxy_v2_client_1

/var/log/ipmi_proxy_goproxy.log — логи сервиса goproxy. Сервис передаёт данные в VNC-клиент и проксирует Websocket-запросы к VNC-серверу.

/var/log/ipmi_proxy_update_checker.log — обновление модуля проксирования BMC на локации. Сервис запускается каждый раз при перезапуске контейнера и обновляет модуль, если это необходимо.

Спасибо за ваш отзыв!
Была ли полезна статья?
Уточните, почему:

статья не соответствует названию

статью сложно понять

в статье нет ответа на мой вопрос

рекомендации из статьи не помогли

другая причина

Расскажите, что вам не понравилось в статье: