Перейти к основному содержимому
Версия: 6.1

Установка конфигураций

Первый этап предназначен для автоматизации развертывания и настройки зависимых объектов модуля Smart Code. Настройка выполняется утилитой make_smart_code.py. Утилита предоставляется в пакете smart_code_ko_maker и расположена в директории bin. Утилита выполняет следующие задачи:

  1. Развертывание объектов знаний (сущностей Smart Monitor)
  2. Создание шаблонов индексов
  3. Создание паттернов индексов
  4. Загрузка типов интерфейсов из CSV-файла

Требования

  1. Python 3.12 и выше
  2. Зависимости утилиты ставятся скриптом bin/install_dependencies.sh (создает .venv, устанавливает библиотеку smpy и httpx)
  3. Доступ к кластеру Smart Monitor с учетными данными администратора

Структура утилиты

Скрипт содержит следующую структуру директорий:

./
├── data/ # Основная директория с конфигурациями
│ ├── sm_*/ # Директории с сущностями `Smart Monitor` (начинаются с sm_)
│ ├── index_templates/ # Шаблоны индексов
│ ├── index_patterns/ # Паттерны индексов
└── lookups/
└── dim_continent_interface_iftype.csv # CSV-файл с типом интерфейсов оборудования семейства "Континент"

Форматы файлов

  1. Сущности Smart Monitor (в директориях sm_*): JSON-файлы с метаданными в поле _meta и уникальным идентификатором
  2. Шаблоны индексов (index_templates):
    {
    "name": "имя_шаблона",
    "index_template": {
    // конфигурация шаблона
    }
    }
  3. Паттерны индексов (index_patterns):
    {
    "attributes": {
    "title": "название паттерна"
    },
    "references": []
    }
  4. Типы интерфейсов (dim_continent_interface_iftype.csv): Актуальный перечень типов интерфейсов оборудования из семейства Континент

Последовательность установки

1. Установка зависимостей утилиты

./bin/install_dependencies.sh

Скрипт создает виртуальное окружение .venv и устанавливает зависимости утилиты (библиотеку smpy и httpx).

2. Запуск установки конфигураций

Установка производится запуском утилиты make_smart_code.py:

./bin/make_smart_code.py \
--sm_host <SMART_MONITOR_HOST> \
--sm_api_port <SMART_MONITOR_API_PORT> \
--sm_cluster_port <OPENSEARCH_PORT> \
--sm_user <SMART_MONITOR_USER> \
--sm_password '<SMART_MONITOR_PASSWORD>'

Параметры командной строки:

ПараметрОбязательныйТипЗначение по умолчаниюОписание
--sm_hostДаstr-Хост Smart Monitor (один из узлов кластера)
--sm_api_portНетint5601Порт frontend API (saved objects)
--sm_cluster_portНетint9200Порт OpenSearch API (index templates, справочники)
--sm_userДаstr-Имя пользователя
--sm_passwordДаstr-Пароль пользователя

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

./bin/make_smart_code.py --sm_host open-search-host-1.my_company.ru --sm_api_port 5601 --sm_cluster_port 9200 --sm_user admin --sm_password securepassword
Обратите внимание!

--sm_api_port используется для frontend API и saved objects (index patterns). --sm_cluster_port используется для OpenSearch API, через который загружаются index templates и справочники. Если frontend API и OpenSearch опубликованы на разных серверах, можно явно задать --sm_api_host и --sm_cluster_host.

3. Проверка применения конфигураций

  1. В разделе Шаблоны: (Навигационное меню - Параметры системы - Управление индексами - Шаблоны) отображаются шаблоны модуля: Интерфейс шаблонов Интерфейс шаблонов

  2. В разделе Паттерны индексов: (Навигационное меню - Параметры системы - Настройки модулей - OPENSEARCH - Паттерны индексов) отображаются паттерны индексов модуля: Паттерны индексов Паттерны индексов

  3. В перечне справочников Список справочников: (Навигационное меню - Lookup Manager - Список справочников) отображаются справочники модуля: Интерфейс справочников

  4. Справочник dim_continent_interface_iftype содержит список типов интерфейсов оборудования из семейства Континент

4. Регистрация типа инцидента модуля

После импорта контентного модуля Smart Code выполните скрипт apply_incident_types.py из состава той же утилиты smart_code_ko_maker. Скрипт регистрирует поля карточки инцидента (плейбук расследования) и идемпотентно создает тип инцидента Инцидент ИБ, после чего навешивает его на задачи модуля.

./bin/apply_incident_types.py \
--sm_host <SMART_MONITOR_HOST> \
--sm_api_port <SMART_MONITOR_API_PORT> \
--sm_user <SMART_MONITOR_USER> \
--sm_password '<SMART_MONITOR_PASSWORD>'

После выполнения проверьте:

  • тип инцидента Инцидент ИБ появился в разделе Навигационное меню - Incident Manager - Типы инцидента
  • тип доступен в выпадающем списке Тип инцидента в редакторе задачи
  • инцидент-задачи модуля Smart Code получили этот тип
  • карточка инцидента отображает поля плейбука