"Element Management System" ("Система управления объектами инфраструктуры") (далее – Система, EMS) – геораспределенная система мониторинга и управления объектами инфраструктуры.
Документ содержит информацию, необходимую для обновления ПО EMS с версии 4.2.2 до версии 4.3.0.
Настоящий документ является составной частью комплекта технической документации на систему EMS и разработан в соответствии с требованиями ГОСТ 2.105-95 «Единая система конструкторской документации. Общие требования к текстовым документам».
Система EMS предназначена для решения следующих бизнес-задач в IT-инфраструктуре компании:
- Снижение расходов на использование нескольких систем, за счет централизованного мониторинга аппаратных и программных (виртуальные машины, гипервизоры, сервисы) ОМиУ (объектов мониторинга и управления) в системе;
- Снижение времени на выполнение задач по обновлению и установке операционных систем и прошивок, за счет централизованной панели управления и возможности массового запуска операций на ОМиУ;
- Снижение времени реагирования на инциденты, за счет формирования необходимого представления инфраструктуры, выделения ОМиУ, требующих более пристального внимания и возможности настройки разных способов оповещения о событиях.
Система EMS предназначена для:
- Автоматизации задач управления серверным оборудованием;
- Автоматизации задач управления сетевым оборудованием;
- Мониторинга в режиме реального времени доступности серверов, устройств хранения и сетевых коммутаторов;
- Мониторинга виртуальных машин, гипервизоров, систем и сервисов;
- SMART мониторинга дисков;
- Автоматизации развертывания операционных систем и программного обеспечения;
- Предоставления информации для планирования модернизации оборудования ИТ-инфраструктуры.
Система представляет собой композицию docker-контейнеров. В качестве оркестратора контейнеров используется docker-compose.
Bergen EMS
| Наименование | Описание |
|---|---|
| EMS, Система | Element Management System (EMS) - система управления и мониторинга оборудования |
| Docker | Программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений |
| Docker compose | Средство для определения и запуска приложений Docker с несколькими контейнерами |
| single-node | ВМ для размещения EMS |
| master | Группа сервисов EMS уровней middle и frontend |
| tool | Группа сервисов EMS уровня бэк-энд |
| transport | Группа инфраструктурных сервисов. (До EMS 3.3.0 storage) |
Общие термины и определения
| Наименование | Описание |
|---|---|
| bash | (англ. Bourne again shell) - усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки. |
| firewall | (англ. firewall «брандмауэр») Персональный межсетевой экран — программное обеспечение, осуществляющее контроль сетевой активности компьютера, на котором он установлен, а также фильтрацию трафика в соответствии с заданными правилами. |
| FirewallD | Инструмент управления брандмауэром для операционных систем Linux. Он предоставляет функции брандмауэра, выступая в качестве интерфейса для сетевой фильтрации ядра Linux. |
| hostname | (англ. hostname - имя хоста) - метка, которая присваивается устройству, подключенному к компьютерной сети, и используется для идентификации устройства в различных формах электронной связи. |
| HTTPS | (англ. HyperText Transfer Protocol Secure) - расширение протокола HTTP, для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. |
| IPMI | Интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. |
| ISO | (англ. International Organization for Standardization) Термин для обозначения образа оптического диска, содержащего файловую систему стандарта ISO 9660. |
| LDAP | (англ. Lightweight Directory Access Protocol) - протокол прикладного уровня для доступа к службе каталогов. |
| localhost | Стандартное, официально зарезервированное доменное имя для частных IP-адресов. |
| MinIO | Серверное программное хранилище, совместимый с Amazon S3, он может обрабатывать неструктурированные данные, такие как фотографии, видео, файлы журналов, резервные копии и образы контейнеров с максимальным поддерживаемым размером объекта 5 ТБ. |
| NATS.io | Система обмена сообщениями с открытым исходным кодом. |
| OpenSearch | Распределённый, управляемый сообществом, лицензированный Apache 2.0, со 100 % открытым исходным кодом комплект поисковых и аналитических ресурсов для различных примеров использования, таких как мониторинг приложений в режиме реального времени, анализ журналов и поиск по веб-сайтам. |
| PostgreSQL | Свободная объектно-реляционная система управления базами данных (СУБД). |
| RPM-based | (рекурсивный акроним RPM Package Manager — RPM — менеджер пакетов; ранее раскрывался как Red Hat Package Manager — менеджер пакетов Red Hat) — формат пакетов программного обеспечения, а также программа, созданная для управления этими пакетами, используемые в ряде Linux-дистрибутивов; является основным форматом пакетов в LSB. |
| sh | (англ. Shell script) Сценарий командной строки, или сценарий командной оболочки, — программа, выполняемая командной оболочкой операционной системы. Наиболее часто термин применяется к скриптам, написанным для Bourne shell — программной оболочки систем UNIX. |
| SMTP | (англ. Simple Mail Transfer Protocol) - сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. |
| SNMP | (англ. Simple Network Management Protocol) - протокол, который используется для управления сетевыми устройствами. С помощью протокола SNMP, программное обеспечение для управления сетевыми устройствами может получать доступ к информации, которая хранится на управляемых устройствах. |
| SSH | (англ. Secure Shell ) - сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений. |
| SWAP | Механизм виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ во вторичное хранилище (отдельный раздел или файл), освобождая ОЗУ для загрузки других активных фрагментов памяти. |
| TCP/IP | (англ. Transmission Control Protocol и Internet Protocol) — сетевая модель передачи данных, представленных в цифровом виде. Модель описывает способ передачи данных от источника информации к получателю |
| Telegram | Кроссплатформенная система мгновенного обмена сообщениями с функциями обмениваться текстовыми, голосовыми и видеосообщениями, стикерами и фотографиями, файлами многих форматов. |
| TLS | (англ. Transport Layer Security-защищённый транспортный узел) - протокол безопасности, обеспечивающий защищённую передачу данных между узлами в сети Интернет. |
| UFW | Uncomplicated Firewall — это утилита для конфигурирования межсетевого экрана Netfilter. Она использует интерфейс командной строки, состоящий из небольшого числа простых команд. |
| UEFI | (англ. Unified Extensible Firmware Interface - единый интерфейс расширяемой прошивки) - интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику или непосредственно ядру операционной системы. |
| volume | В терминологии docker - хранилище данных, используемое контейнером в процессе работы. |
| АРМ | Автоматизированное рабочее место - рабочее место специалиста, оснащенное персональным компьютером, программным обеспечением и совокупностью информационных ресурсов индивидуального или коллективного пользования. |
| Бакет | Чтобы разместить файл в объектном хранилище S3, его необходимо поместить в бакет, сущность для организации хранения в хранилище. |
| ВМ | Виртуальная машина - абстрактный вычислительный экземпляр, созданные программой, работающей на другой машине (физической), и который физически не существует, но работает, как настоящий компьютер. |
| Гипервизор | Программа или аппаратная схема, обеспечивающая или позволяющая одновременное, параллельное выполнение нескольких операционных систем на одном и том же хост-компьютере. Гипервизор также обеспечивает изоляцию операционных систем друг от друга, защиту и безопасность, разделение ресурсов между различными запущенными ОС и управление ресурсами |
| ИС | Информационная система |
| ОМиУ | Оборудование мониторинга и управления. |
| ОС | Операционная система |
| ЦОД | Центр обработки данных |
Действия по обновлению Системы выполняет эксплуатационный персонал заказчика в соответствии с ролью:
- Системный администратор - отвечает за следующие процессы:
- Подготовка инфраструктуры для установки Системы;
- Установка Системы;
- Первичное конфигурирование Системы;
- Установка первой лицензии на Систему;
- Эксплуатационное сопровождение и конфигурирование Системы;
- Эксплуатационная установка лицензий на Систему;
- Подготовка инфраструктуры для обновления Системы;
- Обновление Системы.
Для функционирования Системы, необходимо выполнение следующих общих требований:
- Протокол канала связи - IPv4;
- Пропускная способность каналов связи между серверами в пределах ЦОД - 1 Гбит/сек;
- Целевые ОМиУ должны находиться в одной сети с развернутым tool-кластером;
- Должна быть обеспечена сетевая доступность между transport-кластером и tool-кластером;
- Должна быть обеспечена сетевая доступность между АРМ оператора и master-кластером;
- Для выполнения процесса обновления необходимо подключиться к ВМ, на которой производится обновление по протоколу SSH;
- Все команды выполняются в консоли от имени пользователя root;
- Процесс обновления возможен только для установленной работоспособной Системы EMS соответствующей версии;
- Обновление Системы может быть выполнено как в открытом, так и закрытом контуре; процесс обновления Системы универсален для обоих случаев.
Внимание: Перед началом установки необходимо удостовериться, что ВМ соответствуют системным требованиям EMS. Несоответствие требованиям приведёт к невозможности установить систему или неработоспособности системы после завершения процесса установки!
Рекомендованные системные требования к аппаратному обеспечению приведены ниже.
В виду того, что EMS использует высокопроизводительные системы хранения данных, к дисковой подсистеме предъявляются строгие требования:
- Дисковая подсистема должна обеспечивать производительность не менее 15000 IOPS (количество операций ввода-вывода в секунду);
- Для обеспечения оптимальной производительности и стабильности Системы, настоятельно рекомендуется избегать использования сетевых файловых систем в качестве основного хранилища узлов. Применение сетевых файловых систем может привести к снижению производительности кластера, вплоть до потери функциональности;
- Для хранения узлов рекомендуется использовать локальные твердотельные накопители (SSD), установленные непосредственно на физический хост. Это гарантирует повышение эффективности работы Системы и уменьшение вероятности возникновения технических проблем, связанных с хранением данных;
- Рекомендованный необходимый объем дискового пространства для Системы, без учета пространства занимаемого ОС и прикладным ПО составляет не менее 200 GB;
- Для корректной работы Системы рекомендуется использовать разметку, при которой все пространство выделено под корневой раздел
/; - При наличии особой разметки дисков следует удостовериться что:
- В каталоге установки Системы
/optдоступно не менее 15 GB. Dockerдля хранения данных, по умолчанию/var/lib/dockerдоступно не менее 175 GB.- В каталоге первоначального размещения инсталляционного пакета
/rootдоступно не менее 10 GB.
- В каталоге установки Системы
К CPU предъявляются строгие требования:
- На каждой ноде должно быть не менее 20 vCPU;
- 64-разрядный процессор с тактовой частотой не менее 2000 Hz.
К RAM предъявляются строгие требования:
- На каждой ноде должно быть доступно не менее 20 Gb;
- Версия - не ниже DDR4;
- Тип ECC (код исправления ошибок) или аналогичная технология.
Между нодами кластера должно быть обеспечено сетевое соединение со скоростью не менее 1 гигабит в секунду.
Внимание: Обновление Системы производится с помощью инсталляционного пакета новой версии (4.3.0).
- Инсталляционный пакет для обновления состоит из:
├── bin
│ ├── docker-compose
│ └── emssyscheck
├── config
│ ├── ca.crt
│ ├── ems.config
│ └── emssyscheck
│ └── requirements.json
├── emsinstaller
├── executable
│ ├── composer
│ │ ├── destroy.sh
│ │ ├── destroy_tool.sh
│ │ ├── seed_node.sh
│ │ ├── stop.sh
│ │ ├── stop_tool.sh
│ │ ├── up.sh
│ │ └── up_tool.sh
│ ├── docker-compose
│ ├── seed_opt.sh
│ └── swarmer
│ ├── check_nodes.sh
│ ├── destroy.sh
│ ├── mark_nodes.sh
│ ├── seed_node.sh
│ ├── stop_role.sh
│ ├── stop.sh
│ ├── stop_tool.sh
│ ├── tool_build.sh
│ ├── up_role.sh
│ ├── up.sh
│ └── up_tool.sh
├── images.tar.gz
├── master
│ ├── compose.composer.yaml
│ ├── compose.swarmer.yaml
│ ├── compose.yaml
│ └── config
│ ├── excel_templates
│ │ ├── availability_export_template.xlsx
│ │ ├── devices_event_export_template.xlsx
│ │ └── resources_export_template.xlsx
│ ├── generators
│ │ └── generate_nats_config.sh
│ ├── keys
│ │ ├── iv
│ │ └── key
│ ├── kv
│ │ ├── composer_kv.conf
│ │ ├── kv_1.conf
│ │ ├── kv_2.conf
│ │ ├── kv_3.conf
│ │ ├── kv_4.conf
│ │ ├── kv_5.conf
│ │ └── kv.creds
│ ├── leaf.creds
│ ├── opensearch_proxy
│ │ └── opensearch_proxy.json
│ ├── otelcol
│ │ ├── data-prepper-config.yaml
│ │ └── pipelines.yaml
│ ├── patroni.yaml
│ ├── restic_password
│ └── step_password
├── tool
│ ├── compose.composer.yaml
│ ├── compose.runner.yaml
│ ├── compose.swarmer.yaml
│ ├── compose.yaml
│ ├── config
│ │ ├── keys
│ │ │ ├── iv
│ │ │ └── key
│ │ ├── leaf.creds
│ │ ├── restic_password
│ │ ├── sftp-proxy.json
│ │ └── step_password
│ └── runner
│ ├── Dockerfile
│ └── entry.sh
└── transport
├── compose.composer.yaml
├── compose.swarmer.yaml
├── compose.yaml
├── config
│ ├── acme_config
│ │ ├── ca.crt
│ │ └── ca.key
│ ├── leaf_config
│ │ ├── composer_leaf.conf
│ │ ├── leaf_1.conf
│ │ ├── leaf_2.conf
│ │ ├── leaf_3.conf
│ │ ├── leaf_4.conf
│ │ ├── leaf_5.conf
│ │ └── leaf.creds
│ ├── otel_collector
│ │ └── otel_collector_config.yaml
│ ├── restic_password
│ ├── reverse_proxy
│ │ ├── reverse_proxy.composer.json
│ │ └── reverse_proxy.swarmer.json
│ └── step_password
└── generators
└── generate_nats_config.sh
- Использование файла лицензии:
-
Если срок действия текущей лицензии не окончен, то необходимо использовать файл текущей лицензии при обновлении;
-
Если окончен срок старого файла лицензий, то новый файл лицензии необходимо получать отдельно.
Внимание: Файл лицензии необходимо разместить в директории инсталляционного пакета:
~/ems-4.3.0/master/config/license.json.
Поддерживаемые ОС для функционирования серверной части Системы EMS:
- Oracle 8.9 Server Minimal;
- Ubuntu 22.04.1 LTS Server;
- Astra Linux Common Edition 1.7_x86-64;
- RedOS 7.3.
При этом, необходимо обеспечить:
- Строгое соответствие по версиям ОС;
- Использование одинаковых ОС для всех ВМ кластера.
Версии инфраструктурных компонентов входящих в инсталляционный пакет (строгое соответствие по версиям) (Таблица 3):
Таблица 3. Версии инфраструктурных компонентов
| № | Сервис | Версия |
|---|---|---|
| 1 | Nats | 2.10.14-alpine3.19 |
| 2 | PostgreSQL | 14.6 |
| 3 | Opensearch | 2.8.0 |
| 4 | Opensearch Dashboards | 2.6.0 |
| 5 | Minio | RELEASE.2021-04-22T15-44-28Z.hotfix.8c654a725 |
| 6 | smallstep/step-ca | 0.25.2 |
| 7 | opentelemetry-collector-contrib | 0.88.0 |
| 8 | sftp | 5.1.5 |
| 9 | data-prepper | 2.5.0 |
Внимание: Обязательно использование инфраструктурных компонентов из состава инсталляционного пакета.
Перед началом установки на ВМ кластера должно быть развернуто прикладное ПО (строгое соответствие по версии):
- docker 26.1.3.
Внимание: Функционирование гарантировано при использовании конфигурации docker по умолчанию. Если в компании приняты какие-либо стандарты конфигурирования ПО docker, в случае возникновения проблем с запуском EMS, исправьте настройки docker для обеспечения работоспособности EMS или верните настройки docker по умолчанию. В случае наличия корпоративных политик по обновлению используемых программных продуктов и их компонентов, необходимо поставить данное ПО как исключение для ограничения обновлений
Нестандартная конфигурация Docker должна удовлетворять следующим требованиям:
- Запуск и работа 52 контейнеров EMS.
Внимание: Настройки docker должны позволять выделить IP-адреса по количеству контейнеров внутри docker-сети.
Вспомогательное ПО представляет из себя утилиты в GNU/Linux (версии соответствуют доступным ОС):
tar- архиватор для файлов формата .tar;vi- текстовый редактор (можно использовать любой доступный в системе, напримерnanoилиvim).
Под АРМ оператора в текущем документе подразумевается рабочее место администратора, выполняющего обновление Системы EMS.
Общие требования к АРМ оператора:
- Для обеспечения функционирования клиентской части ПО EMS, рабочий компьютер пользователя должен удовлетворять следующим минимальным требованиям:
- Процессор производительностью не ниже i5 9400+;
- Минимум 8 Гб памяти;
- Минимум 20 Гб свободного места на HDD или SSD;
- Минимальное разрешение экрана пользователя не менее 1920x1080 пикселей;
- Пропускная способность сетевого канала связи между компьютером пользователя и сервером должно составлять не менее 20 Мбит/сек, время прохождения пакетов не более 100 мс.
-
Операционная система должна обладать GUI.
-
Для обеспечения корректного функционирования ПО EMS, программное обеспечение АРМ должно использовать следующие настройки по умолчанию:
- Масштаб в web-браузере 100%;
- Размер шрифтов в ОС без масштабирования (100%).
- ПО для взаимодействия с интерфейсом системы:
- SSH клиент;
- Яндекс Браузер Версия 24.1.5.803+ (64-bit);
- (Опционально) Браузер Google Chrome, Версия 124.0.6367.62+ (64 бит).
Для выполнения шагов, описанных в документе, пользователь должен обладать практическими знаниями в области администрирования ОС Linux.
В процессе установки Системы, о данной инсталляции будут собраны и отправлены в компанию GAGAR>N (на адрес 5.188.138.95) следующие данные: Перечень информации:
- Название организации, на которое выдана лицензия
- Версия устанавливаемой системы
- Имя пользователя
- Доменные имена кластеров Системы
- IP адреса кластеров Системы
- MAC адреса кластеров Системы
Данные будут отправлены в виде файла json. Ниже представлен пример содержимого данного файла:
{"date":"2023-8-18","license_ids":["inst_lic"],"ems_version":"3.4.0","installer_version":"development","installer_usernames":["support"],"installer_domain_names":["installer.s3.domain.net","installer.domain.net"],"installer_ips":["192.168.1.2","192.168.1.1"],"installer_macs":["00:15:5d:44:59:51"]}
Этот сбор информации необходим для обеспечения соблюдения политик лицензирования и распространения продуктов компании GAGAR>N.
Перед началом обновления необходимо подготовить инфраструктуру, соответствующую системным требованиям, перечисленным в разделах 2.2 и 2.3 текущей инструкции.
Внимание: Актуально только для Astra Linux - перед установкой EMS необходимо обновить ядро ОС до версии 5.10 (см. раздел приложение Обновления ядра ОС Astra linux)
Перед началом обновления необходимо создать резервные копии ВМ, в которых функционирует обновляемая версия Системы EMS. Это обеспечит возможность быстрого восстановления в случае возникновения проблем в процессе обновления.
Внимание: Резервное копирование ВМ может выполняться средствами гипервизора или специализированного ПО, если такое используется.
Алгоритм использования резервных копий:
- В случае нарушения последовательности обновления, необходимо:
- Восстановить ВМ из резервных копий;
- Повторить попытку обновления, начиная с раздела 3.3.
- В случае возникновения проблем, необходимо:
- Выполнить проверку ВМ на соответствие перечисленным требованиям;
- Проанализировать системные журналы на предмет наличия ошибок, относящихся к процессу обновления Системы EMS;
- Восстановить ВМ из резервных копий;
- Внести корректировки в настройки ОС, согласно выявленным проблемам;
- Создать резервную копию исправленного состояния ВМ;
- Повторить попытку установки, начиная с раздела 3.3.
Перед непосредственным обновлением следует подготовить АРМ оператора:
- Разместить на АРМ оператора инсталляционный пакет в рабочий каталог;
- Разместить на АРМ оператора файл лицензий в рабочий каталог;
- Установить на АРМ оператора клиент ssh;
- Установить на АРМ оператора web-браузер согласно требованиям.
Предполагается, что файл полученного инсталляционного пакета называется ems-4.3.0.tar.gz, если в используемом пакете используется другое имя файла - переименуйте его (или измените имя файла во всех последующих командах копирования):
- Пример выполнения переименования файла инсталляционного пакета с названием
ems.tar.gzв названиеems-4.3.0.tar.gz:
mv -f ems.tar.gz ems-4.3.0.tar.gzПереименование так же может быть произведено с помощью проводника Windows или любого другого привычного инструмента.
Необходимо разместить пакеты установки на соответствующих виртуальных машинах любым доступным способом.
В текущей инструкции приводится алгоритм размещения с помощью утилиты scp из поставки Linux.
Выполнение команд scp необходимо производить из рабочего каталога, в котором размещён инсталляционный пакет EMS (каталог содержащий
ems-4.3.0).
Для размещения инсталляционного пакета на сервере single-node с помощью утилиты scp, выполните команду:
Замените {{ SINGLE_NODE_IP }} на IP адрес ВМ
single-node.
scp -r ./ems-4.3.0.tar.gz root@{{ SINGLE_NODE_IP }}:~/ems-4.3.0.tar.gzПример рабочего вывода в процессе выполнения:
$ scp -r ./ems-4.3.0.tar.gz root@192.168.1.125:~/ems-4.3.0.tar.gz
192.168.1.125 Password: ***После того как инсталляционный пакет на ВМ single-node скопирован, выполните копирование файла лицензий:
Замените {{ SINGLE_NODE_IP }} на IP адрес ВМ
single-node.
scp ./license.json root@{{ SINGLE_NODE_IP }}:~/license.jsonПример рабочего вывода в процессе выполнения:
$ scp ./license.json root@192.168.1.125:~/license.json
192.168.1.125 Password: ***Выполнить проверку системы на соответствие требованиям можно с помощью пакета emsinstaller, из пакета поставки.
Подключитесь к single-node с помощью SSH-клиента:
Замените {{ SINGLE_NODE_IP }} на IP адрес ВМ
single-node:
ssh root@{{ SINGLE_NODE_IP }}Внимание: Перед выполнением проверки пакет должен быть размещён на проверяемой ноде (выполнены действия раздела 4.2.1 настоящей инструкции).
Для того, чтобы выполнить проверку ВМ single-node выполните команды:
tar -xzvf ~/ems-4.3.0.tgz
mv -f ~/license.json ~/ems-4.3.0/master/config/license.json
cd ~/ems-4.3.0
chmod +x -R bin/* executable/*
chmod 0700 ~/ems-4.3.0/emsinstaller
rm -f /opt/config/emssyscheck/* || true
rm -f /opt/ems/config/emssyscheck/* || true
~/ems-4.3.0/emsinstaller --mode checkПример рабочего вывода в процессе выполнения:
Выполняется проверка системы.
/root/ems-4.3.0/bin/emssyscheck --config /root/ems-4.3.0/config/emssyscheck/requirements.json --cluster single
✅ Файл лицензий (Доступно: license.json) обнаружен
✅ Операционная система (Доступно: Oracle Linux Server 8.8) соответствует требованиям
✅ Количество доступных CPU (Доступно: 20; требуется: 20) соответствует требованиям
⚡ Количество RAM (Доступно: 19.24 Gb; требуется: 20.00 Gb) не соответствует требованиям, но находится в допустимых пределах
⚡ Доступное дисковое пространство (Доступно: bdev: /dev/mapper/ol-root; mp: /; 187.00 Gb; требуется: 200.00 Gb) не соответствует требованиям, но находится в допустимых пределах
✅ Версия Docker (Доступно: 26.1.3) соответствует требованиям
✅ Версия Docker-compose (Доступно: 2.27) соответствует требованиям
✅ Система соответствует требованиям /root/ems-4.3.0/config/emssyscheck/requirements.json, для установки EMS!
Внимание: Дальнейшие действия вариативны и возможен выбор только одного из путей по разделам 3.6.1 или 3.6.2.
EMS поставляется с собственным самоподписанным корневым сертификатом, служащим для защиты сетевого взаимодействия компонентов Системы. Cамоподписанный корневой сертификат устанавливается автоматически в процессе установки.
В случе необходимости, возможно использование собственного корневого сертификата.
Настройка инсталлятора для использования Клиентского корневого сертификата описана в разделе Справочная информация, подразделе Использование собственного корневого сертификата текущего документа.
Для правильной работы Системы, настройки сети должны быть удовлетворены следующие требования (Таблица 4):
Внимание: Для правильной работы EMS на ВМ должен быть отключен системный firewall. Для ОС Ubuntu
ufw disable. Для ОС Oraclesystemctl disable --now firewalld.
Внимание: Актуально только для Рэд ОС - Очистить все правила пользовательских цепочек и разрешить исходящие, входящие и пересылаемые пакеты в IP Tables. (см. раздел приложение Очистка всех правил пользовательских цепочек и разрешение исходящих, входящих и пересылаемых пакетов в IP Tables)
После выключения фаервола требуется перезапустить службу Docker командой systemctl restart docker
Таблица 4. Настройки сети
| № | Роль кластера | Открытые сетевые соединения для работы сервиса | Разрешение на доступ EMS к ИС заказчика | Требования к firewalld/ufw |
|---|---|---|---|---|
| 1 | Single-node | 443/tcp, 52004/tcp, 21890/tcp, 389/tcp, 636/tcp, 514/udp, 601/tcp, 6514/udp, 6514/tcp, 80/tcp, 80/udp, 67/udp, 69/udp, 5101/tcp, 9000/tcp, 2222/tcp, 9333/tcp, 5333/tcp, 44222/tcp, 7071/tcp, 4317/tcp, 52003/tcp, 52002/tcp, 52005/tcp, 7091/tcp, 25/tcp, 22/tcp, 53/tcp, необходимо обеспечить доступ от BMC сервера до ВМ по портам | AD/LDAP, SMTP, DNS, DHCP, Docker Registry (в случае установки docker и docker compose из корпоративного реестра), SMPP, IPMI, Redfish, SSH | Отключены |
Перед началом установки необходимо заполнить конфигурацию инсталлятора EMS на основе окружения, созданного для развёртывания (см. раздел 2.2). Ниже представлено подробное описание параметров конфигурации.
Файл ems.config расположен в каталоге config в корне каталога инсталляционного пакета EMS и должен удовлетворять следующим требованиям:
- Если значение переменной содержит пробелы, оно должно быть обрамлено кавычками;
- В строке не должно быть символов после значения переменной;
- Допускаются комментарии начинающиеся со знака
#(решетка) с новой строки.
Файл может быть отредактирован любым текстовым редактором, доступным в системе, например vi. Файл должен иметь следующее содержимое (описание значений переменных приведено в таблице 5):
vi ~/ems-4.3.0/config/ems.configEMS_HOSTNAME=
NODE_IP=
TRANSPORT_IP=
CLIENT_NAME=
ACME_FINGERPRINT=22ed5de355d118ea440338e94f4d3b05903d526f8090636fa52c39b8b57c40ad
CLUSTER=Core
COMPOSE_ENV_FILES=".env"
COMPOSE_FILE="compose.yaml, compose.composer.yaml"
Таблица 5. Описание значений
| № | Название переменной | Значение по умолчанию | Описание |
|---|---|---|---|
| 1 | EMS_HOSTNAME | Необходимо указать DNS-имя сервера Master, по которому будет доступен интерфейс системы. В случае отсутствия DNS вписать ненастоящий hostname или IP адрес ноды. | |
| 2 | NODE_IP | Необходимо указать IP адрес ВМ, где производится инсталляции | |
| 3 | TRANSPORT_IP | Необходимо указать IP адрес ВМ, где производится инсталляция | |
| 4 | CLIENT_NAME | Имя, на которое выдана лицензия (поле 'client_name' в json-файле) | |
| 5 | CLUSTER | Core | Необходимо указать имя tool-кластера в системе EMS, при необходимости можно оставить стандартное значение. Допускаются символы [A-z] и [0-9] |
| 6 | ACME_FINGERPRINT | 22ed5de355d118ea440338e94f4d3b05903d526f8090636fa52c39b8b57c40ad | Отпечаток сертификата, при установке со стандартным сертификатом не меняется |
| 7 | COMPOSE_ENV_FILES | ".env" | Файл переменных для EMS |
| 8 | INSTDIR | "compose.yaml, compose.composer.yaml" | Файлы описания сервисов EMS |
Определение значения переменных CLIENT_NAME, ACME_FINGERPRINT описано в разделе Справочная информация данной инструкции.
Для обеспечения работоспособности функционала по выполнению операции по установке ОС необходимо выполнить подготовительные работы на ВМ single-node.
Внимание: Данный шаг актуален только для tool-кластеров под управлением ОС Oracle Linux и RedOS.
На ВМ single-node необходимо выполнить следующие команды:
mknod /dev/loop0 b 7 0Если в прошлой установке данный шаг выполнялся, вывод будет
mknod: /dev/loop0: File existsЭто нормальное поведение, дальнейшая настройка не требуется.
Для того, чтобы изменения сохранялись после перезагрузки ВМ необходимо выполнить следующие команды:
- Создать и открыть следующий файл:
vi /etc/tmpfiles.d/loop.conf- Добавить в файл такое содержимое:
b! /dev/loop0 0660 root disk - 7:0- Для сохранения изменений и выхода из редактора нажмите
<ESC>; редактор переведется в режим команд, после чего введите:wq, и нажмите<Enter>(для редакторовviиvim).
Для настройки отправки уведомлений в мессенджер Telegram необходимо выполнить следующие шаги:
- Перейдите по ссылке
https://t.me/BotFather. В мессенджере откроется специальный пользователь для создания бота; - Отправьте команду:
/newbot, для создания нового бота; - Отправьте имя бота:
ems-bot-${MY_NAME}, ${MY_NAME} необходимо заменить на название компании; - При необходимости установите аватар бота
/setuserpic,ems-bot-${MY_NAME}; - В ответ будет отправлен токен доступа бота. Необходимо его скопировать.
- Подключитесь к
single-nodeс помощью ssh-клиента:
Замените {{ SINGLE_NODE_IP }} на IP адрес ВМ
single-node.
ssh root@{{ SINGLE_NODE_IP }}- Измените конфигурацию EMS в файле
master/.env
Файл .env расположен в каталоге master инсталляционного пакета EMS.
Файл может быть отредактирован любым текстовым редактором. Пример с использованием текстового редактора vi:
cd ~/ems-4.3.0/
vi master/.env-
В значение переменной
TELEGRAM_KEYвведите токен доступа бота полученный на шаге 5; -
Для сохранения изменений и выхода из редактора нажмите
<ESC>; редактор переведется в режим команд, после чего введите:wq, и нажмите<Enter>(для редакторовviиvim).
Настройка EMS для использования бота описана в Руководстве пользователя.
Для настройки отправки SMS уведомлений необходимо выполнить следующие шаги:
- Получить услугу у провайдера SMS-рассылки. Провайдер должен предоставить следующие данные (Таблица 6):
Таблица 6. Данные по SMS-рассылке
| № | Параметр конфигурации | Описание |
|---|---|---|
| 1 | SMPP_HOST | URL для подключения к сервису sms рассылки |
| 2 | SMPP_PORT | Порт для подключения к сервису sms рассылки |
| 3 | SMPP_TIMEOUT | Таймаут получения ответа от сервиса sms рассылки |
| 4 | SMPP_SYSTEM_ID | ID аккаунта для подключения к сервису sms рассылки |
| 5 | SMPP_PASSWORD | Пароль аккаунта для подключения к сервису sms рассылки |
| 6 | SMPP_PHONE_NUMBER | Номер телефона, от которого будут приходить оповещения |
- Подключитесь к
single-nodeс помощью ssh-клиента:
Замените {{ SINGLE_NODE_IP }} на IP адрес ВМ
single-node.
ssh root@{{ SINGLE_NODE_IP }}- Измените конфигурацию EMS в файле
master/.env
Файл .env расположен в каталоге master инсталляционного пакета EMS.
Файл может быть отредактирован любым текстовым редактором. Пример с использованием текстового редактора vi:
cd ~/ems-4.3.0/
vi master/.env- Найдите и укажите значения следующих переменных:
SMPP_HOST=<Задайте_значение_выданное_провайдером>
SMPP_PORT=<Задайте_значение_выданное_провайдером>
SMPP_TIMEOUT=<Задайте_значение_выданное_провайдером>
SMPP_SYSTEM_ID=<Задайте_значение_выданное_провайдером>
SMPP_PASSWORD=<Задайте_значение_выданное_провайдером>
SMPP_PHONE_NUMBER=<Задайте_значение_выданное_провайдером>
- Для сохранения изменений и выхода из редактора нажмите
<ESC>; редактор переведется в режим команд, после чего введите:wq, и нажмите<Enter>(для редакторовviиvim).
Внимание: При обновлении ПО EMS с версии приложения 3.Х.Х до версии 4.Х.Х, все статистические данные (метрики) будут удалены; все сущности системы (пользователи, справочные данные, файлы репозитория, здания, помещения, стойки и оборудование и пр. будут автоматически мигрированы в новую версию)
Внимание: Прежде чем приступать к обновлению EMS, необходимо по контрольному списку успешно пройти проверку готовности инфраструктуры к началу обновления ЕМС
- Требования к пользователю
- Пользователь ознакомился с сопутствующей документацией:
- Руководство по обновлению Системы EMS v4.3.0 в режиме одной ноды;
- Руководство администратора Системы EMS v4.3.0.
- Пользователь ознакомился с сопутствующей документацией:
- Требования к аппаратному обеспечению:
- Характеристики сервера соответствуют системным требованиям:
- Процессоры 64-разрядные с тактовой частотой не менее 2 Ггц;
- Память как минимум DDR4 или выше, тип ECC (код исправления ошибок) или аналогичная технология;
- Дисковая система построена на SSD и обеспечивает производительность не менее 15000 IOPS (количество операций ввода-вывода в секунду);
- Разметка разделов дисковой системы для однонодовой конфигурации EMS:
- Раздел "/opt" имеет объем не менее 15 Гб;
- Раздел "/var" имеет объем не менее 175 Гб;
- Раздел "/root" имеет объем не менее 10 Гб.
- Характеристики виртуальных машин сервера соответствуют системным требованиям:
- Для однонодовой конфигурации EMS:
- Для single-node:
- Выделено не менее 20 vCPU на ноду;
- Выделено не менее 20 Гб памяти на ноду;
- Выделено не менее 200 Гб (значение должно быть доступно
Системеи приложениюdocker; объем пространства необходимого ОС не учитывается в заданном значении).
- Для single-node:
- Для однонодовой конфигурации EMS:
- Характеристики сервера соответствуют системным требованиям:
- Требования к сетевой инфраструктуре:
- Между нодами кластера обеспечено сетевое соединение со скоростью не менее 1 гигабит в секунду;
- Сетевые порты, необходимые для работы ЕМС, свободны:
- Для однонодовой конфигурации EMS:
- Открыт порт 443/tcp;
- Открыт порт 52004/tcp;
- Открыт порт 21890/tcp;
- Открыт порт 389/tcp;
- Открыт порт 636/tcp;
- Открыт порт 514/udp;
- Открыт порт 601/tcp;
- Открыт порт 6514/udp;
- Открыт порт 6514/tcp;
- Открыт порт 80/tcp;
- Открыт порт 80/udp;
- Открыт порт 67/udp;
- Открыт порт 69/udp;
- Открыт порт 5101/tcp;
- Открыт порт 9000/tcp;
- Открыт порт 2222/tcp;
- Открыт порт 9333/tcp;
- Открыт порт 5333/tcp;
- Открыт порт 44222/tcp;
- Открыт порт 7071/tcp;
- Открыт порт 4317/tcp;
- Открыт порт 52003/tcp;
- Открыт порт 52002/tcp;
- Открыт порт 52005/tcp;
- Открыт порт 7091/tcp;
- Открыт порт 25/tcp;
- Открыт порт 22/tcp;
- Открыт порт 53/tcp.
- Для однонодовой конфигурации EMS:
- Требования к программному обеспечению:
- ПО сервера соответствуют системным требованиям:
- Версия ОС соответствует требованиям (для текущего пункта достаточно одного проставленного чекбокса);
- Для однонодовой конфигурации EMS:
- Oracle 8.9 Server Minimal;
- Ubuntu 22.04.1 LTS Server;
- Astra Linux Common Edition 1.7_x86-64;
- RedOS 7.3.
- Версия Docker соответствует требованиям;
- Для однонодовой конфигурации EMS:
- Версия Docker 26.1.3.
- Для однонодовой конфигурации EMS:
- Отключен фаервол;
- Создано блочное устройство(для RedHat-based дистрибутивов);
- Версия ядра соответствует документации (Astra Linux).
- Лицензия соответствует требованиям по подготовке к инсталляции:
- Актуальная лицензия получена;
- CLIENT_NAME в ems.config соответствует лицензии;
- Срок истечения лицензии не вышел.
- ПО сервера соответствуют системным требованиям:
Подготовка к обновлению включает в себя следующие шаги:
- Подключитесь к
single-nodeс помощью SSH-клиента:
Замените {{ SINGLE_NODE_IP }} на IP адрес ВМ
single-node.
ssh root@{{ SINGLE_NODE_IP }}- Заполните конфигурацию EMS на основе окружения, созданного для развёртывания (см. раздел 2.2). Ниже представлено подробное описание параметров конфигурации.
Файл ems.config расположен в каталоге config в корне каталога инсталляционного пакета EMS.
Подробное описание параметров конфигурации описано в разделе 3.8 Конфигурирование инсталлятора текущего документа.
Файл может быть отредактирован любым текстовым редактором, доступным в системе, например vi. Внести в файл ems.config информацию для настройки EMS. Пример с использованием текстового редактора vi:
cd ~/ems-4.3.0/
vi config/ems.config- Для сохранения изменений и выхода из редактора нажмите
<ESC>; редактор переведется в режим команд, после чего введите:wq, и нажмите<Enter>(для редакторовviиvim).
Файл ems.config должен иметь следующее содержимое (описание значений переменных приведено в таблице 5):
EMS_HOSTNAME=<Задайте_значение_согласно_инфраструктуре>
NODE_IP=<Задайте_значение_согласно_инфраструктуре>
TRANSPORT_IP=<Задайте_значение_согласно_инфраструктуре>
CLIENT_NAME=<Задайте_значение_согласно_инфраструктуре>
ACME_FINGERPRINT=22ed5de355d118ea440338e94f4d3b05903d526f8090636fa52c39b8b57c40ad
CLUSTER=Core
COMPOSE_ENV_FILES=".env"
COMPOSE_FILE="compose.yaml, compose.composer.yaml"
- Выполните непосредственно обновление EMS:
cd /root/ems-4.3.0
chmod 0700 ./emsinstaller
chmod 0700 ./bin/*
./emsinstaller --mode updateПример рабочего вывода в процессе выполнения обновления:
Запуск установки EMS.
Выполняется проверка системы.
/root/ems-4.3.0/bin/emssyscheck --config /root/ems-4.3.0/config/emssyscheck/requirements.json --cluster single
✅ Файл лицензий (Доступно: license.json) обнаружен
✅ Операционная система (Доступно: Oracle Linux Server 8.8) соответствует требованиям
✅ Количество доступных CPU (Доступно: 20; требуется: 20) соответствует требованиям
⚡ Количество RAM (Доступно: 19.24 Gb; требуется: 20.00 Gb) не соответствует требованиям, но находится в допустимых пределах
⚡ Доступное дисковое пространство (Доступно: bdev: /dev/mapper/ol-root; mp: /; 160.00 Gb; требуется: 200.00 Gb) не соответствует требованиям, но находится в допустимых пределах
✅ Версия Docker (Доступно: 26.1.3) соответствует требованиям
✅ Версия Docker-compose (Доступно: 2.27) соответствует требованиям
✅ Система соответствует требованиям /root/ems-4.3.0/config/emssyscheck/requirements.json, для установки EMS!
Выполняется подготовка файлов.
Выполняется распаковка архива /opt/ems/images.tar.gz...
Выполняется загрузка Docker образов из архива /opt/ems/images.tar...
Running before scripts
Конфигурирование compose проекта.
Выполняется настройка кластера transport
time="2024-05-16T07:12:12-04:00" level=warning msg="The \"UPTRACE_DSN\" variable is not set. Defaulting to a blank string."
time="2024-05-16T07:12:12-04:00" level=warning msg="/opt/ems/transport/compose.yaml: `version` is obsolete"
time="2024-05-16T07:12:12-04:00" level=warning msg="/opt/ems/transport/compose.composer.yaml: `version` is obsolete"
Network ems Creating
Network ems Created
Volume "transport_leaf-nats" Creating
Volume "transport_leaf-nats" Created
time="2024-05-16T07:12:12-04:00" level=warning msg="volume \"transport_minio\" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume"
Container transport-cluster-manager-1 Creating
Container transport-minio-1 Creating
Container transport-reverse-proxy-1 Creating
Container transport-socket-hub-1 Creating
Container transport-acme-1 Creating
Container transport-backuper-transport-1 Creating
Container transport-otel-collector-1 Creating
Container transport-reverse-proxy-1 Created
Container transport-otel-collector-1 Created
Container transport-acme-1 Created
Container transport-socket-hub-1 Created
Container transport-leaf-nats-1 Creating
Container transport-backuper-transport-1 Created
Container transport-cluster-manager-1 Created
Container transport-minio-1 Created
Container transport-leaf-nats-1 Created
Container transport-backuper-transport-1 Starting
Container transport-socket-hub-1 Starting
Container transport-otel-collector-1 Starting
Container transport-reverse-proxy-1 Starting
Container transport-acme-1 Starting
Container transport-cluster-manager-1 Starting
Container transport-minio-1 Starting
Container transport-otel-collector-1 Started
Container transport-cluster-manager-1 Started
Container transport-acme-1 Started
Container transport-leaf-nats-1 Starting
Container transport-minio-1 Started
Container transport-socket-hub-1 Started
Container transport-backuper-transport-1 Started
Container transport-reverse-proxy-1 Started
Container transport-leaf-nats-1 Started
Ожидаем запуска transport ...
Running transport scripts
Выполняется настройка кластера master
time="2024-05-16T07:14:26-04:00" level=warning msg="The \"DNS\" variable is not set. Defaulting to a blank string."
time="2024-05-16T07:14:26-04:00" level=warning msg="The \"DNS\" variable is not set. Defaulting to a blank string."
Volume "master_logs" Creating
Volume "master_logs" Created
time="2024-05-16T07:14:26-04:00" level=warning msg="volume \"master_kv\" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume"
time="2024-05-16T07:14:26-04:00" level=warning msg="volume \"master_psql\" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume"
time="2024-05-16T07:14:26-04:00" level=warning msg="volume \"master_opensearch\" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume"
Container master-license-server-1 Creating
Container master-sso-center-master-1 Creating
Container master-ui-1 Creating
Container master-docs-1 Creating
Container master-opensearch-dashboards-1 Creating
Container master-report-service-1 Creating
Container master-opensearch-1 Creating
Container master-backuper-master-1 Creating
Container master-kv-nats-1 Creating
Container master-data-prepper-1 Creating
Container master-cluster-manager-1 Creating
Container master-psql-1 Creating
Container master-ui-1 Created
Container master-backuper-master-1 Created
Container master-opensearch-dashboards-1 Created
Container master-sso-center-master-1 Created
Container master-kv-nats-1 Created
Container master-license-server-1 Created
Container master-data-prepper-1 Created
Container master-psql-1 Created
Container master-opensearch-1 Created
Container master-task-service-1 Creating
Container master-ui-navigator-1 Creating
Container master-device-store-1 Creating
Container master-device-metric-writer-2 Creating
Container master-system-metric-writer-1 Creating
Container master-user-service-1 Creating
Container master-repository-service-1 Creating
Container master-network-watcher-1 Creating
Container master-device-metric-writer-1 Creating
Container master-system-service-1 Creating
Container master-cluster-manager-1 Created
Container master-report-service-1 Created
Container master-docs-1 Created
Container master-ui-navigator-1 Created
Container master-network-watcher-1 Created
Container master-device-metric-writer-2 Created
Container master-device-metric-writer-1 Created
Container master-system-service-1 Created
Container master-task-service-1 Created
Container master-device-metric-presenter-1 Creating
Container master-repository-service-1 Created
Container master-device-store-1 Created
Container master-system-metric-writer-1 Created
Container master-system-metric-presenter-1 Creating
Container master-user-service-1 Created
Container master-system-metric-presenter-1 Created
Container master-device-metric-presenter-1 Created
Container master-api-gw-1 Creating
Container master-api-gw-1 Created
Container master-opensearch-dashboards-1 Starting
Container master-docs-1 Starting
Container master-opensearch-1 Starting
Container master-license-server-1 Starting
Container master-kv-nats-1 Starting
Container master-psql-1 Starting
Container master-backuper-master-1 Starting
Container master-report-service-1 Starting
Container master-cluster-manager-1 Starting
Container master-ui-1 Starting
Container master-data-prepper-1 Starting
Container master-sso-center-master-1 Starting
Container master-license-server-1 Started
Container master-opensearch-1 Started
Container master-backuper-master-1 Started
Container master-psql-1 Started
Container master-report-service-1 Started
Container master-sso-center-master-1 Started
Container master-cluster-manager-1 Started
Container master-kv-nats-1 Started
Container master-device-metric-writer-1 Starting
Container master-ui-navigator-1 Starting
Container master-network-watcher-1 Starting
Container master-system-service-1 Starting
Container master-system-metric-writer-1 Starting
Container master-device-store-1 Starting
Container master-repository-service-1 Starting
Container master-user-service-1 Starting
Container master-task-service-1 Starting
Container master-ui-1 Started
Container master-data-prepper-1 Started
Container master-docs-1 Started
Container master-opensearch-dashboards-1 Started
Container master-user-service-1 Started
Container master-device-metric-writer-1 Started
Container master-device-metric-writer-2 Starting
Container master-network-watcher-1 Started
Container master-ui-navigator-1 Started
Container master-task-service-1 Started
Container master-system-service-1 Started
Container master-repository-service-1 Started
Container master-system-metric-writer-1 Started
Container master-system-metric-presenter-1 Starting
Container master-device-store-1 Started
Container master-device-metric-writer-2 Started
Container master-device-metric-presenter-1 Starting
Container master-device-metric-presenter-1 Started
Container master-system-metric-presenter-1 Started
Container master-api-gw-1 Starting
Container master-api-gw-1 Started
Ожидаем запуска master ...
Running master scripts
Выполняется настройка кластера tool
Network ems-tool-Core Created
time="2024-05-16T07:16:56-04:00" level=warning msg="volume \"tool_agent-nats\" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume"
time="2024-05-16T07:16:56-04:00" level=warning msg="volume \"tool_event-nats\" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume"
Volume "tool_minio" Creating
Volume "tool_minio" Created
Container tool-sftp-proxy-1 Creating
Container tool-sso-center-1 Creating
Container tool-socket-proxy-1 Creating
Container tool-backuper-1 Creating
Container tool-service-manager-1 Creating
Container tool-bmc-manager-1 Creating
Container tool-os-installer-1 Creating
Container tool-event-nats-1 Creating
Container tool-linux-manager-1 Creating
Container tool-hypervisor-manager-1 Creating
Container tool-windows-manager-1 Creating
Container tool-template-manager-1 Creating
Container tool-cluster-manager-1 Creating
Container tool-session-nats-1 Creating
Container tool-agent-nats-1 Creating
Container tool-slave-minio-1 Creating
Container tool-web-terminal-1 Creating
Container tool-network-manager-1 Creating
os-installer Published ports are discarded when using host network mode
Container tool-sftp-proxy-1 Created
Container tool-service-manager-1 Created
Container tool-template-manager-1 Created
Container tool-network-manager-1 Created
Container tool-backuper-1 Created
Container tool-sso-center-1 Created
Container tool-event-nats-1 Created
Container tool-cluster-manager-1 Created
Container tool-session-nats-1 Created
Container tool-os-installer-1 Created
Container tool-bmc-manager-1 Created
Container tool-windows-manager-1 Created
Container tool-linux-manager-1 Created
Container tool-slave-minio-1 Created
Container tool-hypervisor-manager-1 Created
Container tool-agent-nats-1 Created
Container tool-socket-proxy-1 Created
Container tool-web-terminal-1 Created
Container tool-template-manager-1 Starting
Container tool-web-terminal-1 Starting
Container tool-slave-minio-1 Starting
Container tool-backuper-1 Starting
Container tool-os-installer-1 Starting
Container tool-linux-manager-1 Starting
Container tool-bmc-manager-1 Starting
Container tool-hypervisor-manager-1 Starting
Container tool-sftp-proxy-1 Starting
Container tool-windows-manager-1 Starting
Container tool-socket-proxy-1 Starting
Container tool-sso-center-1 Starting
Container tool-network-manager-1 Starting
Container tool-service-manager-1 Starting
Container tool-cluster-manager-1 Starting
Container tool-event-nats-1 Starting
Container tool-agent-nats-1 Starting
Container tool-session-nats-1 Starting
Container tool-os-installer-1 Started
Container tool-hypervisor-manager-1 Started
Container tool-network-manager-1 Started
Container tool-windows-manager-1 Started
Container tool-service-manager-1 Started
Container tool-slave-minio-1 Started
Container tool-sso-center-1 Started
Container tool-sftp-proxy-1 Started
Container tool-web-terminal-1 Started
Container tool-linux-manager-1 Started
Container tool-bmc-manager-1 Started
Container tool-socket-proxy-1 Started
Container tool-cluster-manager-1 Started
Container tool-session-nats-1 Started
Container tool-agent-nats-1 Started
Container tool-template-manager-1 Started
Container tool-backuper-1 Started
Container tool-event-nats-1 Started
Ожидаем запуска tool ...
Running tool scripts
✅ Запуск EMS выполнен успешно.
Running after scripts
Веб-консоль EMS доступна по адресу https://ems.compoany.ru/ Стандартные логин, пароль: `SuperAdmin` `aA123123@`.
- Убедитесь в том, что приложение развёрнуто. Для этого выполните команду:
watch docker ps -aВ выводе контейнеры должны быть в состоянии Up.
Внимание: Полной работоспособности приложение достигает в течение 5-ти минут после запуска. В течение этого периода контейнеры могут быть несколько раз перезапущены.
Выход из команды осуществляется нажатием сочетания клавиш <CTRL> + C.
Пример рабочего вывода:
$ watch docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ba40d9d8afc8 registry.bergen.tech/ems/back/hypervisor-manager:4.3.0 "./hypervisor-manager" 8 minutes ago Up 7 minutes tool-hypervisor-manager-1
e0c545bf292d registry.bergen.tech/ems/middle/socket-hub:4.3.0 "./socket-hub" 8 minutes ago Up 7 minutes 5100/tcp, 8080/tcp, 0.0.0.0:5101->5101/tcp, :::5101->5101/tcp tool-socket-proxy-1
3daecba0addb registry.bergen.tech/ems/back/backuper:4.3.0 "sh -c /usr/bin/entr…" 8 minutes ago Up 7 minutes tool-backuper-1
553c9664e494 registry.bergen.tech/library/nats:2.10.14-alpine3.19 "docker-entrypoint.s…" 8 minutes ago Up 7 minutes 6222/tcp, 8222/tcp, 0.0.0.0:9333->4222/tcp, :::9333->4222/tcp tool-event-nats-1
358017a738ac registry.bergen.tech/ems/back/cluster-manager:4.3.0 "./cluster-manager.c…" 8 minutes ago Up 7 minutes (healthy) 8080-8081/tcp tool-cluster-manager-1
44805f78c335 registry.bergen.tech/ems/back/bmc-manager:4.3.0 "./bmc-manager" 8 minutes ago Up 7 minutes 8080/tcp tool-bmc-manager-1
0be7cfa82060 registry.bergen.tech/ems/back/os-installer:4.3.0 "./os-installer" 8 minutes ago Up 7 minutes tool-os-installer-1
5d26e14f1e5d registry.bergen.tech/ems/back/service-manager:4.3.0 "./service-manager" 8 minutes ago Up 7 minutes tool-service-manager-1
740977c8c427 registry.bergen.tech/ems/back/web-terminal:4.3.0 "./ssh-web-console" 8 minutes ago Up 7 minutes tool-web-terminal-1
1c233ffed658 registry.bergen.tech/library/nats:2.10.14-alpine3.19 "docker-entrypoint.s…" 8 minutes ago Up 7 minutes 6222/tcp, 8222/tcp, 0.0.0.0:5333->4222/tcp, :::5333->4222/tcp tool-agent-nats-1
95fcd87f22e6 registry.bergen.tech/library/nats:2.10.14-alpine3.19 "docker-entrypoint.s…" 8 minutes ago Up 7 minutes 6222/tcp, 8222/tcp, 0.0.0.0:44222->4222/tcp, :::44222->4222/tcp tool-session-nats-1
7f87da1b237c registry.bergen.tech/ems/back/template-manager:4.3.0 "./template-manager.…" 8 minutes ago Up 7 minutes 0.0.0.0:601->601/tcp, 0.0.0.0:514->514/udp, :::601->601/tcp, :::514->514/udp, 0.0.0.0:6514->6514/udp, :::6514->6514/udp, 0.0.0.0:6514->6514/tcp, :::6514->6514/tcp, 8080/tcp tool-template-manager-1
2cce51dcfdda registry.bergen.tech/library/minio:v0.3.3 "/usr/bin/docker-ent…" 8 minutes ago Up 7 minutes 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp tool-slave-minio-1
2738d1503e62 registry.bergen.tech/ems/back/sso-center:4.3.0-tool "./main" 8 minutes ago Up 7 minutes 389/tcp, 636/tcp, 8080/tcp, 0.0.0.0:389->3893/tcp, :::389->3893/tcp, 0.0.0.0:636->3894/tcp, :::636->3894/tcp tool-sso-center-1
f143abf6acc3 registry.bergen.tech/ems/back/linux-manager:4.3.0 "./linux-manager" 8 minutes ago Up 7 minutes 443/tcp, 8080/tcp tool-linux-manager-1
fddcc9a0f443 registry.bergen.tech/ems/back/network-manager:4.3.0 "./network-manager" 8 minutes ago Up 7 minutes tool-network-manager-1
d4cb2cc75fa9 registry.bergen.tech/library/sftp:5.1.5 "tini -- dotnet ES.S…" 8 minutes ago Up 7 minutes 25080/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp tool-sftp-proxy-1
594d81558bbe registry.bergen.tech/ems/back/windows-manager:4.3.0 "./windows-manager" 8 minutes ago Up 7 minutes tool-windows-manager-1
9e838268b0b9 registry.bergen.tech/ems/middle/proto-gateway:4.3.0 "./proto-gateway" 10 minutes ago Up 9 minutes (healthy) 8081/tcp, 0.0.0.0:443->8080/tcp, :::443->8080/tcp master-api-gw-1
e60e54de4db3 registry.bergen.tech/ems/middle/system-metric-manager:4.3.0-presenter "./system-metric-pre…" 10 minutes ago Up 10 minutes (healthy) 8080/tcp master-system-metric-presenter-1
5abcd1336ea7 registry.bergen.tech/ems/middle/device-metric-manager:4.3.0-presenter "./device-metric-man…" 10 minutes ago Up 10 minutes (healthy) 8080-8081/tcp master-device-metric-presenter-1
5aa86956f09f registry.bergen.tech/ems/middle/user-service.config:4.3.0 "./UserService.Main" 10 minutes ago Up 9 minutes (healthy) 8080/tcp master-user-service-1
c6227259775c registry.bergen.tech/ems/middle/master-network-watcher:4.3.0 "./master-network-wa…" 10 minutes ago Up 10 minutes (healthy) 8080/tcp master-network-watcher-1
9b7d05af9ec9 registry.bergen.tech/ems/middle/task-service.config:4.3.0 "./TaskService" 10 minutes ago Up 9 minutes (healthy) 8080/tcp master-task-service-1
ebeb39838a87 registry.bergen.tech/ems/middle/system-service:4.3.0 "./system-service" 10 minutes ago Up 10 minutes (healthy) 8080/tcp master-system-service-1
920fe5b4415a registry.bergen.tech/ems/middle/device-metric-manager:4.3.0-writer "./device-metric-man…" 10 minutes ago Up 9 minutes (healthy) 8080-8081/tcp master-device-metric-writer-1
e86a07fa277a registry.bergen.tech/ems/middle/ui-navigator:4.3.0 "./ui-navigator" 10 minutes ago Up 10 minutes (healthy) 8080/tcp master-ui-navigator-1
897e9337f959 registry.bergen.tech/ems/middle/device-store:4.3.0 "./device-store.main" 10 minutes ago Up 10 minutes (healthy) 8080/tcp master-device-store-1
49254a08eb3b registry.bergen.tech/ems/middle/repository-service:4.3.0 "./repository-service" 10 minutes ago Up 10 minutes (healthy) 8080/tcp master-repository-service-1
7ef3a50e5d75 registry.bergen.tech/ems/middle/system-metric-manager:4.3.0-writer "./system-metric-wri…" 10 minutes ago Up 9 minutes (healthy) 8080/tcp master-system-metric-writer-1
f9b86eef18c7 registry.bergen.tech/ems/middle/device-metric-manager:4.3.0-writer "./device-metric-man…" 10 minutes ago Up 9 minutes (healthy) 8080-8081/tcp master-device-metric-writer-2
688e2063aecb registry.bergen.tech/ems/middle/docs:4.3.0 "docker-entrypoint.s…" 10 minutes ago Up 10 minutes (healthy) 3000/tcp master-docs-1
63850f4a1577 registry.bergen.tech/ems/back/backuper:4.3.0 "sh -c /usr/bin/entr…" 10 minutes ago Up 10 minutes master-backuper-master-1
c8d7a88349ff registry.bergen.tech/ems/deploy/opensearch:2.8.0-acme-1.0.2 "/bin/sh -c /tls/run…" 10 minutes ago Up 10 minutes 9300/tcp, 9600/tcp, 9650/tcp, 0.0.0.0:52003->9200/tcp, :::52003->9200/tcp master-opensearch-1
90854ace5970 registry.bergen.tech/ems/middle/report-scripts:4.3.0 "./report-service" 10 minutes ago Up 10 minutes 8080/tcp master-report-service-1
a63a529016d1 registry.bergen.tech/ems/deploy/data-prepper:2.5.0 "./run.sh" 10 minutes ago Up 10 minutes 0.0.0.0:21890->21890/tcp, :::21890->21890/tcp master-data-prepper-1
66c3b66d474d registry.bergen.tech/library/opensearch-dashboards:2.6.0-openssl "sh -c ./opensearch-…" 10 minutes ago Up 10 minutes 0.0.0.0:52004->5601/tcp, :::52004->5601/tcp master-opensearch-dashboards-1
b9f9c5f9b148 registry.bergen.tech/ems/back/sso-center:4.3.0-master "./main -c https://r…" 10 minutes ago Up 10 minutes 389/tcp, 636/tcp, 8080/tcp master-sso-center-master-1
2bb94c5b9772 registry.bergen.tech/ems/deploy/postgres:4.3.0-9b9844e7 "./run.sh -c ssl=on …" 10 minutes ago Up 10 minutes 0.0.0.0:52005->5432/tcp, :::52005->5432/tcp master-psql-1
ce7b4d17c5bb registry.bergen.tech/ems/front:4.3.0 "sh /entrypoint.sh n…" 10 minutes ago Up 10 minutes 80/tcp master-ui-1
39e19614b31e registry.bergen.tech/ems/deploy/nats:4.0.0-1444ae4d "./run.sh -c /nats_c…" 10 minutes ago Up 10 minutes 4222/tcp, 6222/tcp, 8222/tcp, 0.0.0.0:52002->2222/tcp, :::52002->2222/tcp master-kv-nats-1
7fe65d51356f registry.bergen.tech/ems/back/cluster-manager:4.3.0 "./cluster-manager.c…" 10 minutes ago Up 10 minutes (healthy) 8080-8081/tcp master-cluster-manager-1
5c0422edd704 registry.bergen.tech/ems/middle/license-server:4.3.0 "./license-server" 10 minutes ago Up 10 minutes 3031/tcp master-license-server-1
c535637e36d0 registry.bergen.tech/ems/deploy/nats:4.0.0-1444ae4d "./run.sh -c /nats_c…" 12 minutes ago Up 12 minutes 4222/tcp, 6222/tcp, 8222/tcp, 0.0.0.0:7091->7091/tcp, :::7091->7091/tcp transport-leaf-nats-1
908ae740b77b registry.bergen.tech/ems/back/backuper:4.3.0 "sh -c /usr/bin/entr…" 12 minutes ago Up 9 minutes transport-backuper-transport-1
4faf8ad4e347 registry.bergen.tech/library/minio:v0.3.3 "/usr/bin/docker-ent…" 12 minutes ago Up 12 minutes 9000/tcp transport-minio-1
1c9fc2a150fe registry.bergen.tech/ems/deploy/step-ca:4.0.0-803f5368 "/bin/bash run.sh /b…" 12 minutes ago Up 12 minutes (healthy) transport-acme-1
ea77431a23fc registry.bergen.tech/ems/back/cluster-manager:4.3.0 "./cluster-manager.c…" 12 minutes ago Up 12 minutes (healthy) 8080-8081/tcp transport-cluster-manager-1
313b032494b2 registry.bergen.tech/ems/middle/socket-hub:4.3.0 "./socket-hub" 12 minutes ago Up 12 minutes 5100-5101/tcp, 8080/tcp transport-socket-hub-1
3c5e1dc01f34 registry.bergen.tech/library/monitoring/opentelemetry/opentelemetry-collector-contrib:0.88.0 "/otelcol-contrib --…" 12 minutes ago Restarting (1) 28 seconds ago transport-otel-collector-1
300e0b41dd9d registry.bergen.tech/ems/deploy/reverse-proxy:4.3.0-dev-c5dca8b7 "./reverse-proxy" 12 minutes ago Up 12 minutes 5100/tcp, 8080/tcp, 0.0.0.0:7071->7071/tcp, :::7071->7071/tcp transport-reverse-proxy-1
Наличие предупреждений о незаданных переменных групп
LDAP_,SMTP_,SMPP_илиTELEGRAM_является нормальным поведением и не влияет на результат обновления.
В случае успешного запуска система готова к эксплуатации. Для получения доступа используйте последнюю строку вывода emsinstaller, где содержатся стандартные логин, пароль и адрес доступа, например:
Веб-консоль EMS доступна по адресу https://ems.e2e.single/ Стандартные логин, пароль: `SuperAdmin` `aA123123@`. Где вместо адресу https://ems.e2e/, будет указано ваше доменное имя. В случае отсутствия доменного имени используйте IP-адрес master-cluster, например https://10.1.1.12/.
При возникновении вопросов по установке Системы обратитесь в техническую поддержку.
Техническая поддержка осуществляется в стандартные рабочие дни с 09:00 до 18:00 по московскому времени:
- Обращения через электронную почту
sd@bergen.tech - Телефоны: +7 (925) 007-38-52; +7 (495) 664-37-83.
- Руководство пользователя EMS v4.3.0;
- Руководство администратора Системы EMS v4.3.0;
- Руководство по инсталляции Системы EMS v4.3.0 в режиме одной ноды;
- Руководство по обновлению Системы EMS с версии 4.2.0 до версии 4.3.0 в режиме одной ноды;
- Программа и методика испытаний системы EMS v4.3.0.
Чтобы определить значение переменной CLIENT_NAME требуемой для установки EMS, следует открыть полученный файл лицензий любым удобным способом (в инсталляционном пакете файл master/config/license.json), и найти значение ключа "client_name".
Например, с использованием cat:
cat master/config/license.jsonВ выводе будет примерно следующее:
{"license_id":"EMS:0000000-000-0000-0008-0000000000","client_name":"EMS","soft_name":"EMS"...
В разделе "client_name":"EMS" значение CLIENT_NAME находится в кавычках после знака двоеточия (":").
Для определения значения ACME_FINGERPRINT необходимо выполнить на ноде с ролью transport-node:
docker exec -it transport-acme-1 cat /home/step/config/defaults.json | grep "fingerprint"В выводе должно отобразиться следующее:
"fingerprint": "ab81afd5a7acc6d65ffd3cb7bcc46764665505d82545facb98267ae3b3cdf1e6",
Значение в кавычках после знака : и есть ACME_FINGERPRINT.
Для того, чтобы использовать собственный корневой сертификат вместо самоподписанного из поставки EMS необходимо выполнить следующие шаги:
Если генерация конфигурации центра сертификации выполнялась ранее, достаточно просто заменить инсталляционном пакете в каталоге /root/ems-4.3.0/transport/config/ содержимое каталога acme_config и файлы CA.key и CA.crt.
- Разместить файл ключа и файл сертификата в
single-node(имена файлов обязательно должны быть CA.key и CA.crt соответственно):
Замените {{ SINGLE_NODE_IP }} на IP адрес ВМ
single-node.
scp ./CA.key root@{{ SINGLE_NODE_IP }}:~
scp ./CA.crt root@{{ SINGLE_NODE_IP }}:~- Скопировать сертификат и ключ в каталог инсталлятора
cp /root/CA.* /opt/ems/config/
- Продолжить инсталляцию
Очистка всех правил пользовательских цепочек и разрешение исходящих, входящих и пересылаемых пакетов в IP Tables
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPTПосле очистки правил и разрешения исходящих, входящих и пересылаемых пакетов требуется перезапустить службу Docker командой systemctl restart docker
Для обновления ядра необходимо добавить интернет репозитории Astra linux для загрузки пакетов.
Через текстовый редактор открываем файл /etc/apt/sources.list
Добавляем ссылки на репозитории:
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.1/repository-main 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.1/repository-base 1.7_x86-64 main contrib non-freeПосле производим обновление пакетов и устанавливаем ядро.
apt update
apt install linux-5.10-genericПосле установки нового ядра необходимо перезапустить ОС и выбрать устанвленную версию ядра при запуске системы. (по-умолчанию загрузка системы произведется с новой версией ядра.)
rebootПроверить версию ядра можно следующей командой:
uname -r