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

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

Для автоматизированного развертывания инфраструктурных объектов модуля APM используется скрипт make_apm.py.
Он входит в состав пакета apm_ko_maker и размещен в каталоге bin.

Основные задачи утилиты

  • развертывание объектов знаний (сущностей Smart Monitor)
  • создание шаблонов индексов
  • создание паттернов индексов
  • настроек инвентаризации

Требования

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

Структура проекта

./
├── bin/ # Скрипты установки и развертывания
├── data/ # Конфигурационные файлы
│ ├── core/ # Слои ресурсно-сервисной модели (РСМ)
│ ├── index-patterns/ # Паттерны индексов
│ ├── inv/ # Настройки инвентаризации
│ ├── sm_*/ # Сущности Smart Monitor
│ ├── index_templates/ # Шаблоны индексов
├── templates/ # Шаблоны метрик РСМ

Форматы конфигурационных файлов

Сущности Smart Monitor (sm_*)

{
"_meta": {
// мета-данные
},
// конфигурация
}

Шаблоны индексов (index_templates)

{
"name": "имя_шаблона",
"index_template": {
// конфигурация шаблона
}
}

Слои РСМ (core/rsm/layers)

{
"title": "название слоя",
"description": "описание слоя"
}

Паттерны индексов (index-patterns)

{
"attributes": {
"title": "название паттерна"
},
"references": []
}

Инвентаризация (inv)

  • inv/inventories — конфигурации активов
  • inv/relationSettings — связи между активами

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

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

./bin/install_dependencies.sh

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

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

./bin/make_apm.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ДаstringХост кластера Smart Monitor
--sm_api_portНетint5601Порт frontend API (saved objects, РСМ, inventory)
--sm_cluster_portНетint9200Порт OpenSearch API (index templates, sm-сущности)
--sm_userДаstringИмя пользователя
--sm_passwordДаstringПароль пользователя
Пример
./bin/make_apm.py --sm_host sm-host.my_company.ru --sm_api_port 5601 --sm_cluster_port 9200 --sm_user admin --sm_password securepassword
Обратите внимание!

--sm_api_port используется для frontend API, saved objects, РСМ и inventory. --sm_cluster_port используется для OpenSearch API (index templates, sm-сущности). Если frontend API и OpenSearch опубликованы на разных серверах, можно явно задать --sm_api_host и --sm_cluster_host.

Шаг 3. Проверка результата в интерфейсе

После запуска проверьте, что настройки применились:

  1. Шаблоны индексов

    • в разделе Шаблоны: (Навигационное меню - Параметры системы - Управление индексами - Шаблоны)
    • apm_index_templates.png
  2. Паттерны индексов

    • в разделе Паттерны индексов: (Навигационное меню - Параметры системы - Настройки модулей - OPENSEARCH - Паттерны индексов)
    • apm_index_patterns.png
  3. Справочники

    • в разделе Список справочников: (Навигационное меню - Lookup Manager - Список справочников)
    • должны присутствовать:
      • dim_apm_service
      • link_apm_source_service_dest_service

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

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

./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>'

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

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