Руководство администратора

Руководство администратора модуля управления ПО “Скала^р Геном” версия 1.17#

1 Установка программы#

Для установки и работы ПО «Скала^р Геном» требуется операционная система Альт 8 СП релиз 9, Альт 8 СП релиз 10, Astra Linux Special Edition 1.7.3 (Орёл), RedOS 7.3.

1.1 Минимальные требования к устройству (виртуальной машине):#

  • CPU: от 4 ядер;
  • RAM: от 16 Гб;
  • ROM: от 100 Гб SSD;
  • NET: от 1 Гбит/с Ethernet.

1.2 Состав дистрибутива#

Дистрибутив содержит скрипт установки genome-installer.run.

1.3 Используемые сетевые порты#

Порты, необходимы для нормальной работы:

ПOPT ПРОТОКОЛ НАПРАВЛЕНИЕ НАЗНАЧЕНИЕ
22 SSH I/O SSH-подключение к модулю управления Геном
5432 TCP I/O PostgreSQL БД модуля управления Геном
48800 TCP I/O REST API модуля управления Геном
50888 TCP I/O Web-интерфейс модуля управления Геном
15000-16000 HTTP I/O IPMI proxies для управления серверами

1.4 Ход развёртывания#

1.4.1 Открыть терминал.

1.4.2 Проверить тип и версию установленной ОС:

1.4.3 Проверить наличие свободного места для установки модуля управления ПО “Скала^р Геном”:

1.4.4 Перейти в корневой каталог:

1.4.5 Загрузить файл дистрибутива модуля управления ПО “Скала^р Геном” из репозитория.

Дождаться окончания загрузки:

1.4.6 Вывести список файлов в директории и проконтролировать наличие файла genome-installer.run и прав доступа к нему:

1.4.7 Разрешить выполнение файла genome-installer.run:

1.4.8 Запустить выполнение файла genome-installer.run:

Начнётся процесс распаковки и установки модулей:

1.4.9 По завершении выполнения скрипта появится окно выбора ПО “Геном” для установки (здесь и далее, в случае необходимости, выбор подтверждается нажатием клавиши ПРОБЕЛ с последующим появлением символа «*» в соответствующем столбце):

  • GENOME_MGMT - установка модуля управления ПО “Скала^р Геном”;

  • GENOME_BR - установка ПО “Скала^р Геном”.

1.4.10 Выполнить ввод параметров развёртывания:

  • GNM_MGMT_ADDRESS – IP-адрес модуля управления ПО “Скала^р Геном”;

  • HTML_NGINX_ROOT – путь до корневого каталога html, в котором находятся бинарные артефакты;

  • GENOME_MANAGEMENT_ONLY - признак установки только модуля управления ПО “Скала^р Геном”.

1.4.11 После ввода всех необходимых данных нажать кнопку <ОК>.

Должен начаться процесс настройки:

Дождаться завершения процесса настройки:

1.4.12 Перейти в браузер и ввести протокол https://IP-адрес, установленный в поле GNM_MGMT_ADDRESS п. 1.4.10 (порт 50888).

Должен открыться интерфейс модуля управления ПО “Скала^р Геном”:

Модуль управления ПО “Скала^р Геном” считается успешно установленным, если после отображения интерфейса нет уведомлений об ошибках.

2 Схема внутренних и внешних взаимодействий#

Назначение внутренних и внешних взаимодействий, используемые порты:

№ на схеме Тип интерфейса Назначение интерфейса
1 HTTPS, TCP/52888 Пользовательский интерфейс Геном-У, аутентификация средствами IAM
2 HTTP, TCP/48800 Передача управляющих команд из UI, без аутентификации
3 HTTP/HTTPS Аутентификация и авторизация пользователей
4 TCP/5432 Взаимодействие с БД, аутентификация средствами СУБД
5 HTTPS, TCP/15000-65535 Доступ к Web UI контроллера BMC узлов ПАКа через SSH-туннель, аутентификация на BMC
6 HTTPS, TCP/443 Доступ к Web UI контроллера BMC узлов ПАКа через SSH-туннель, аутентификация на BMC
7 HTTPS, TCP/7550 Взаимодействие с Агентом Генома (plagent), доступ по токену

3 Конфигурация#

Конфигурирование модуля управления ПО “Скала^р Геном” производится посредством редактирования файла genome.json.

Назначение полей файла конфигурации genome.json следующее:

Поле Значение
mp_chroot Путь для монтирования устройства, куда будет устанавливаться ОС на этапе LiveCD
genome_ip Текущий IP-адрес Геном в сети Управления
chroot_env Строка chroot с установкой необходимых переменных
genome_nginx_path Путь до каталога html, в котором находятся бинарные артефакты
mbd_data_request_limit Лимит запросов (для МБД.П)
genome_env Раздел настройки установки Геном
GNM_PXE_ADDRESS Текущий IP в сети PXE
GNM_MGMT_ADDRESS Текущий IP в сети Управления
CHANGE_PG_SETTINGS Изменение параметров Postgres по умолчанию (true/false)
PGHOST IP-адрес подключения к Postgres Геном
PGUSER Имя пользователя Postgres
PGDATABASE Имя БД Postgres
PGPORT Порт Postgres
PATH_PG Путь к каталогу данных Postgres
PG_LISTEN_ADDR Адрес сети, из которой разрешён доступ к Postgres
PG_TRUSTED_NETWORK Доверенная подсеть Postgres, из которой не требуется ввод пароля
DNSMASQ_PXE_INTERFACE Интерфейс, на котором запущены DHCP и tftp сервисы, предоставляемые DNSMasq
DNSMASQ_MGMT_INTERFACE Интерфейс, на котором запущен DNS сервис, предоставляемый DNSMasq
USE_DNSMASQ Включение и настройка DNSMasq при установке Геном (true/false)
DNSMASQ_FIRST_IP Начальный IP-адрес DHCP пула адресов
DNSMASQ_LAST_IP Конечный IP-адрес DHCP пула адресов
CREATE_PXE Создание образа и настройка PXE (true/false)
HTML_NGINX_ROOT Путь до каталога html, в котором находятся бинарные артефакты
PXE_TFTP_ROOT Путь до каталога tftp
GENOME_MANAGEMENT_ONLY Признак установки только модуля управления ПО “Скала^р Геном”
auth Наименование блока, отвечающего за авторизацию
enabled Включение авторизации в модуле управления ПО “Скала^р Геном” (true / false)
client_id Идентификатор клиента из системы управления доступом
auth_server Ссылка на систему управления доступом
realm Область, которая включает в себя учётные записи пользователей, роли, группы и настройки авторизации
cert Использование сертификата (true / false)

4. Журналирование#

4.1. Виды журналов#

В текущей версии реализованы два вида журналов: journal (Лог) и audit (Аудит). На данный момент все записи заносятся в оба журнала.

4.1.1. Лог#

Записи журнала располагаются в директории /opt/skala-r/var/log/genome_mgmt/journal.

Формат журнала - произвольный.

Пример записи:

2024-09-13T18:37:02+0300 user-genome-test INFO Приложение запущено

4.1.2 Аудит#

Записи журнала располагаются в директории /opt/skala-r/var/log/genome_mgmt/audit.

Аудит представлен в форматах CEF и JSON.

4.1.2.1 Формат CEF#

Записи в формате CEF располагаются в директории /opt/skala-r/var/log/genome_mgmt/audit/cef.

Пример записи:

CEF:0|Skala-r|genome_mgmt|1.13|10000040|Запуск: версия Геном.У|3|externalId=2 msg=Приложение запущено deviceProcessName=genome_core outcome=success start=1726241821961 dhost=user-genome-test

Формат CEF имеет обязательные и необязательные поля.

Подстрока с обязательными полями:

CEF:0|Skala-r|genome_mgmt|1.13|20000040|Запуск: версия Геном.У|3|,

где

  • CEF:0 - версия формата CEF;

  • Skala-r - название производителя;

  • genome_mgmt - название продукта;

  • 1.13 - версия продукта;

  • 20000040 - уникальный идентификатор категории события. ID event в таблице ресурсов;

  • Запуск: версия Геном.У - имя события;

  • 3 - важность события.

Подстрока с расширенными полями:

externalId=2 msg=Приложение запущено deviceProcessName=genome_core outcome=success start=1726241821961 dhost=user-genome-test

Из записей в формате CEF на данный момент выводятся следующие параметры:

  • externalId - идентификатор события;

  • msg -подробная информация о событии;

  • deviceProcessName - имя процесса, ассоциированного с событием;

  • outcome - результат события;

  • start - время возникновения события;

  • dhost - FQDN или имя хоста получателя.

4.1.1.2 Формат JSON#

Записи в формате JSON располагаются в директории /opt/skala-r/var/log/genome_mgmt/audit/json.

Пример записи:

{“createdAt”: “1726241825430”, “userNode”: “yudobrolyubova-genome-test”, “metamodelVersion”: “1”, “module”: “genome_mgmt”, “name”: “Авторизация: Неизвестно (доступ запрещен)”, “params”: [{“name”: “message”, “value”: “Ошибка доступа: 401 url /api/datasheet”}, {“name”: “serviceVersion”, “value”: “1.13”}]}

Требования к формату не указаны.

На данный момент из записей в формате json выводятся следующие параметры:

  • createdAt - время записи в журнал;

  • userNode - имя узла;

  • metamodelVersion - версия модели, на данный момент выставлена в “1”;

  • module - название приложения;

  • name - строка с событием;

  • params - структуры с версией приложения и текстовым сообщением.

4.2 Конфигурационный файл#

Управление записями журналов производится с помощью конфигурационного файла logging_mgmt_conf.yml, расположенного в директории /opt/skala-r/genome/python-modules/lib/python3/site-packages/genome_ng/logging_mgmt_conf.yml.

Пример:

 # Все ключи являются необязательными  

 version: 1   

 # Аудит 
 audit:  

 # Уровень сообщений, которые логируются DEBUG\|INFO\|WARNING\|ERROR\|CRITICAL  
 level: INFO   

 # Параметры форматов записи логов  
 formatters:

   # Формат CEF  
   cef:  
     # Вкл/выкл запись логов в формате CEF  
     enable: true    
   
    # Управление ротированием файлов логов  
    rotate:  
      filepath: "/opt/skala-r/var/log/genome_mgmt/audit/cef/genome_mgmt_audit.log"  
      maxBytes: 104857600 # максимальный размер файла логов  
      backupCount: 5   # количество сохраненных логов "<filepath>.<n>" по maxBytes   
      
      # Формат JSON (ГосТех)  
      json:  
        enable: true  
        rotate:  
          filepath: "/opt/skala-r/var/log/genome_mgmt/audit/json/genome_mgmt_audit.log"  
          maxBytes: 104857600  
          backupCount: 5  
          
  # Фильтрация записей по группам/действиям/статусам событий  
  # Например, ["11-15", "2"] — исключить с 11 по 15 включительно и 2 ID
  # Перечень срезов genome-core/docs/events  
  filters:  
    groups: []  
    actions: []  
    status: [] 
    
# Журналирование, аналогично параметрам аудита 
journal:  
  level: INFO  
  formatters:  
    text:  
      enable: true  
      rotate:  
        filepath: "/opt/skala-r/var/log/genome_mgmt/journal/genome_mgmt_journal.log"  
        maxBytes: 104857600  
        backupCount: 5  
  filters:  
    groups: []  
    actions: []  
    status: []

Для включения / выключения какого-либо вида журналов используется параметр enable.

Имена файлов с записями, а также путь до этих файлов, задаются параметром filepath.

Размер файлов и их количество можно указать параметрами maxBytes и backupCount.

Параметром filters производится фильтрация записей в журналах.

Для применения новых настроек после изменения конфигурационного файла необходимо перезапустить приложение.

4.3 Фильтрация записей#

Как было указано, фильтрация записей в журналы осуществляется при помощи параметра filters в конфигурационном файле.

Фильтровать записи возможно по трём параметрам: groups, actions и status.

В коде находится скрипт, генерирующий документацию с описанием этих параметров.

4.3.1 Фильтрация по группам#

Все потенциальные записи разделены на группы в зависимости от типа.

У каждой группы есть имя, описание и идентификатор, по которому можно производить фильтрацию.

Описание параметра groups:

Атрибут GroupEnum Имя группы Текст подгруппы ID подгруппы
unknown Неизвестно Неизвестно 0
app Приложение Приложение genome_mgmt 10
auth_login Авторизация Вход пользователя в систему 21
auth_logout Авторизация Выход пользователя из системы 22
updates_mgmt Обновления Добавление и удаление обновлений в Геном.У 31
updates_apply Обновления Применение обновлений 32
updates_info Обновления Получение информации об обновлениях 33
updates_internal Обновления Внутренняя логика работы с обновлениями 34
passport_generate Паспорта Генерация паспортов 41
passport_internal Паспорта Внутренняя логика работы 42
node_replace_hw Замена узла Регистрация hardware 51
node_replace_sw Замена узла Регистрация software 52
node_replace_bm Замена узла Регистрация benchmark 53
ipmi_create IPMI Создание IPMI 61
ipmi_check IPMI Проверка доступа IPMI 62
ipmi_info IPMI Получение IPMI данных 63
node_info Узлы Получение информации об узлах 71
node_update Узлы Изменение статуса и серийного номера узла 72
pak_mgmt ПАК Регистрация и удаление 81
pak_info ПАК Получение информации об ПАК 82
cluster_decommissioning Кластер Вывод из эксплуатации 91
cluster_info Кластер Получение информации о кластере 92
cluster_service Кластер Работа с сервисами 93
cluster_pgbouncer Кластер Работа с pgbouncer 94
cluster_uuid Кластер Работа с uuid 95
version Версия Геном.У Версия Геном.У 200

4.3.2 Фильтрация по действиям#

Каждой записи соответствует действие, которое зависит от того, что нужно сделать с объектом.

У действий также есть имя и идентификатор, по которому можно фильтровать записи.

Описание параметра actions:

Атрибут ActionEnum Имя действия ID действия
read Чтение 1
update Редактирование 2
auth Авторизация 3
start Запуск 4
stop Остановка 5
log_rotate Ротация логов 6

4.3.3 Фильтрация по статусам#

Каждой записи соответствует статус, обозначающий результат выполнения действия над объектом.

У статусов также есть имя и идентификатор, по которому можно фильтровать записи.

Описание параметра status:

Атрибут StatusEnum Текст статуса ID статуса
success Успешно 0
failed Неуспешно 1
forbidden Доступ запрещен 2

Таким образом, если необходимо, например, исключить все неуспешно завершённые события, в параметр status нужно добавить “1” и перезапустить приложение.

Если необходимо исключить все записи, связанные с заменой узла, в параметр groups нужно добавить “51-53” и перезапустить приложение.

4.4 Передача файлов журнала во внешние системы#

Передача журналов во внешние системы осуществляется с помощью ПО rsyslog. Перед настройкой необходимо установить пакет rsyslog. Типовой набор конфигурационных файлов для настройки rsyslog находится в директории

/opt/skala-r/genome/python-modules/lib/python/site-packages/genome_ng/settings/rsyslog

Для настройки необходимо скопировать указанный набор файлов в директорию /etc/rsyslog.d и указать адрес сервера во внешней SIEM-системе (АС СВОИ) в параметре Target в файла 10_genome.conf.

После внесения изменений в конфигурационный файл необходимо запустить сервис rsyslog следующей командой:

 systemctl start rsyslog

Убедиться, что сервис успешно запущен, можно с помощью команды:

 systemctl status rsyslog

Статус должен быть active (running).

5 Проверка статуса SSH-туннеля#

Проверка производится с помощью утилиты systemctl status tunnel_ip.service, где ip - IP-адрес BMC узлов ПАК из инсталляционной карты.

Статус должен быть running.