Установка конфигураций
Первый этап предназначен для автоматизации развертывания и настройки зависимых объектов модуля Smart Code. Настройка
выполняется утилитой make_smart_code.py. Утилита предоставляется в пакете smart_code_ko_maker и расположена в директории bin. Утилита выполняет следующие задачи:
- Развертывание объектов знаний (сущностей
Smart Monitor) - Создание шаблонов индексов
- Создание паттернов индексов
- Загрузка типов интерфейсов из CSV-файла
Требования
- Python 3.12 и выше
- Зависимости утилиты ставятся скриптом
bin/install_dependencies.sh(создает.venv, устанавливает библиотекуsmpyиhttpx) - Доступ к кластеру
Smart Monitorс учетными данными администратора
Структура утилиты
Скрипт содержит следующую структуру директорий:
./
├── data/ # Основная директория с конфигурациями
│ ├── sm_*/ # Директории с сущностями `Smart Monitor` (начинаются с sm_)
│ ├── index_templates/ # Шаблоны индексов
│ ├── index_patterns/ # Паттерны индексов
└── lookups/
└── dim_continent_interface_iftype.csv # CSV-файл с типом интерфейсов оборудования семейства "Континент"
Форматы файлов
- Сущности
Smart Monitor(в директорияхsm_*): JSON-файлы с метаданными в поле_metaи уникальным идентификатором - Шаблоны индексов (
index_templates):{
"name": "имя_шаблона",
"index_template": {
// конфигурация шаблона
}
} - Паттерны индексов (
index_patterns):{
"attributes": {
"title": "название паттерна"
},
"references": []
} - Типы интерфейсов (
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 | Нет | int | 5601 | Порт frontend API (saved objects) |
--sm_cluster_port | Нет | int | 9200 | Порт 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. Проверка применения конфигураций
-
В разделе
Шаблоны: (Навигационное меню-Параметры системы-Управление индексами-Шаблоны) отображаются шаблоны модуля:

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

-
В перечне справочников
Список справочников: (Навигационное меню-Lookup Manager-Список справочников) отображаются справочники модуля:
-
Справочник
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получили этот тип - карточка инцидента отображает поля плейбука