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

Обновление Smart Monitor

внимание!

Инструкция описывает процесс обновления Smart Monitor с версии 4.0.* на 4.1.*.

Информация

Условные обозначения:

  • SM_41 - директория, куда разархивируется установочный пакет Smart Monitor версии 4.1
  • USER - пользователь системы с правами администратора, обычно это admin
  • OPENSEARCH_HOME - домашняя директория OpenSearch, обычно это /app/opensearch/
  • OPENSEARCH_DATA - директория, где хранятся проиндексированные данные, обычно это /app/data/
  • OSD_HOME - домашняя директория OpenSearch Dashboards, обычно это /app/opensearch-dashboards/
  • PATH_SSL - место расположения сертификата, закрытого ключа admin, а также ca-cert, обычно совпадает с /app/opensearch/config/

Первоочередным шагом для обновления является определение текущей установленной версии Smart Monitor. Это можно сделать, просмотрев версии модулей на главной странице или выполнив команду в командной строке:

curl https://127.0.0.1:9200/_cat/plugins -k -u $USER

После ввода данной команды потребуется ввести пароль учётной записи $USER. Рекомендуется использовать пользователя admin.

В версии 4.1 были обновлены компоненты и модули OpenSearch и OpenSearchDashboards, поднята версия OpenSearch до 2.13.0, изменена структура хранения документов job-scheduler и incident severity, изменен модуль удалённого выполнения скриптов SME-RE. Рассмотрим процедуру обновления каждого компонента. Установщик 4.1 требуется распаковать в директорию, например, /app/distr/.

внимание!

Перед началом работ строго рекомендуется сделать бэкап основных конфигурационных файлов и настроек Security.

Рекомендуемые действия

Рекомендуется создать директорию, например, /app/backup, где будут сохранены:

  • директория config, обычно $OPENSEARCH_HOME/config или $OSD_HOME/config

  • файлы systemd, обычно это /etc/systemd/system/opensearch.service и /etc/systemd/system/opensearch-dashboards.service, /etc/systemd/system/sme-re.service

  • файл /etc/sysctl.d/00-opensearch.conf

  • копия настроек Security, сделать это нужно один раз, для чего потребуются сертификат и закрытый ключ admin пользователя

    chmod +x $OPENSEARCH_HOME/plugins/opensearch-security/tools/securityadmin.sh
    JAVA_HOME=$OPENSEARCH_HOME/jdk/ $OPENSEARCH_HOME/plugins/opensearch-security/tools/securityadmin.sh -backup my-backup-directory \
    -icl \
    -nhnv \
    -cacert $OPENSEARCH_HOME/config/ca-cert.pem \
    -cert $OPENSEARCH_HOME/config/admin-cert.pem \
    -key $OPENSEARCH_HOME/config/admin-key.pem

Миграция Incident Severity и агрегаций

В версии 4.1 были внесены значительные изменения во внутреннюю структуру хранения документов incident и агрегаций инцидентов. Эти изменения требуют миграции данных для обеспечения корректной работы системы после обновления с версии 4.0 до 4.1.

внимание!

Процесс миграции необходимо выполнить перед осуществлением основного обновления. Эти действия требуется выполнить однократно.

В установщике включена утилита для миграции Incident Severity и агрегаций. Утилита располагается в директории $SM_41/utils/migrations_4.0-4.1/incident_severity_migrations/ и работает на python. Основные требования утилиты:

  • Python 3.8+
  • plugin opensearch-py

Остальные пакеты входят в стандартную установку Python, более подробный список пакетов:

  • certifi==2023.7.22
  • charset-normalizer==3.3.2
  • idna==3.4
  • opensearch-py==2.3.2
  • python-dateutil==2.8.2
  • requests==2.31.0
  • six==1.16.0
  • urllib3==2.0.7
Обратите внимание!

В установщик Smart Monitor 4.1 включён Python 3.8 с требуемым набором пакетов.

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

Перед запуском утилиты настройте параметры в файле $SM_41/utils/migrations_4.0-4.1/incident_severity_migrations/default.ini. Пример конфигурационного файла приведён ниже:

[server]
host = 127.0.0.1
port = 9200

[user]
name = admin
pass = password

В параметре server.host нужно указать IP адрес любого узла OpenSearch, рекомендуется указывать узел с ролью data и атрибутом routing_mode: hot. Если опустить параметр user.pass, то утилита запросит пароль от УЗ в интерактивном режиме.

Параметры запуска утилиты

Утилита имеет следующие параметры запуска:

  • -c, --config - файл конфигурации (Опциональный). По умолчанию - ./default.ini
  • -h, --help - вывод справки

Режимы работы утилиты

После ввода пароля пользователя утилита предлагает выбрать 4 режима работы:

  • migration - выполняет миграцию инцидентов на новый severity
  • migration_aggs - выполняет миграцию агрегаций
  • backup - создаёт резервную копию всех инцидентов в индексы с префиксом backup_
  • load_backup - копирует все инциденты из бэкап индексов в основные

Запуск утилиты

Для выполнения миграций нужно запустить утилиту несколько раз, выполняя режимы работы утилиты в следующей последовательности:

  1. backup
  2. migration
  3. migration_aggs

Запустить утилиту можно командой:

$SM_41/utils/python/bin/python3 $SM_41/utils/migrations_4.0-4.1/incident_severity_migrations/main.py -c $SM_41/utils/migrations_4.0-4.1/incident_severity_migrations/default.ini

Обновление OpenSearch

В версии 4.1 обновились плагины OpenSearch и OpenSearch Dashboards, а также компоненты inventory, SME-RE. Установщик 4.1 требуется распаковать в директорию, например, /app/distr/. Куда вы распакуете содержимое архива пометьте как $SM_41.

SM_41=/app/distr/sm_4.1
Обратите внимание!

Для кластеров состоящих из нескольких узлов рекомендуется отключать аллокацию перед обновлением через консоль разработчика (Навигационное меню - Параметры системы - Консоль разработчика) выполнив команду:

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "none"
}
}

При обновлении узлов кластера не используйте отключение аллокации с помощью скрипта обновления. После обновления всех узлов кластера включите аллокацию:

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}

Автоматический режим

Для работы скрипта потребуется наличие следующих предустановленных пакетов:

  • curl
  • zip
  • unzip
Обратите внимание!

Если в конце Вы не увидели надписи, что Smart Monitor обновлён, не запускайте повторно скрипт обновления, сделайте скриншот на каком месте остановился скрипт и обратитесь в техническую поддержку.

Скрипт автоматического обновления позволяет автоматизировать действия при обновлении и находится по пути $SM_41/opensearch/update.sh. При вызова скрипта есть возможность указать конфигурационный файл $SM_41/opensearch/example_config_opensearch.yaml. Формат файла YAML и аналогичен конфигурационному файлу при установке.

Скрипт обновления поддерживает следующие параметры запуска:

  • -c, --config <path_to_config_file_yaml> - указать конфигурационный файл для обновления
  • -h, --help - выводит справку о доступных командах
Обратите внимание!

Начинать обновление нужно с узлов без роли master, узлы data могут подключаться к более старым версиям узлов master, но не наоборот.

Для запуска обновления нужно запустить скрипт:

$SM_41/opensearch/update.sh

После запуска скрипт автоматически находит пути основных директорий:

  • OpenSearch Home Directory - директория расположения OpenSearch, обычно это /app/opensearch
  • OpenSearch Conf Directory - директория расположения конфигурационных файлов OpenSearch, обычно /app/opensearch/config/
  • OpenSearch Data Directory - директория расположения данных, обычно /app/data/
  • OpenSearch Logs Directory - директория расположения логов, обычно /app/logs/

Скрипт обновления не производит никаких действий с директорией data и logs, директория конфигураций и systemd файлы будут сохранены во временную директорию $SM_41/opensearch/staging/.

Обратите внимание!

Если запустить скрипт повторно, то директория staging очистится.

================================================================================
SMART MONITOR UPDATE SCRIPT - OPENSEARCH
================================================================================

Current working directory: /app/distr/sm_4.1/opensearch

Current name of install's archive: opensearch-2.13.0-linux-x64.tar.gz

New version OpenSearch: 2.13.0

================================================================================
-- STEP 1. INSTALLATION DIRECTORIES

opensearch.service file found. Will get necessary paths from there

Final Opensearch home directory: /app/opensearch
Final Opensearch conf directory: /app/opensearch/config
Final Opensearch data directory: /app/data/opensearch
Final Opensearch logs directory: /app/logs/opensearch
Is this correct? [y/n]:

После ввода директорий требуется подтвердить автоматически найденные данные, нажав y, или ввести свои директории вручную нажав n.

На втором шаге нужно ответить на вопрос по аллокации. Если ввести y, то скрипт будет отключать аллокацию перед обновлением и включит в конце работы скрипта.

-- STEP 2. CONFIGURE ALLOCATION

Do you want to disable allocation during update? [y/N]: n

You don't want to disable allocation: n
Is this correct? [y/n]:

На третьем шаге потребуется ввести пароль от пользователя admin. При вводе пароль не будет отображаться.

-- STEP 3. GET ADMIN PASSWORD

Enter password for user "admin":

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

get current list of plugins
sm-core
sm-im
sm-inventory
sm-ism-action-clickhouse
sm-job-scheduler
sm-job-scheduler-actions-incident
sm-job-scheduler-actions-mitre
sm-knowledge-center
sm-mitre
sm-mssp
sm-rsm
sm-uba
sme
opensearch-security
Information about current node OpenSearch:
{
"name" : "smos-node-00",
"cluster_name" : "smos-cluster",
"cluster_uuid" : "yKPPDCHGSA6rHQT948jokQ",
"version" : {
"distribution" : "opensearch",
"number" : "2.11.1",
"build_type" : "tar",
"build_hash" : "6b1986e964d440be9137eba1413015c31c5a7752",
"build_date" : "2023-11-29T21:43:10.135035992Z",
"build_snapshot" : false,
"lucene_version" : "9.7.0",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

!!! AT THIS POINT WE START TO MAKE CHANGES IN OPERATING SYSTEM !!!
Do you want to continue? [y/N]:

Если нажать Enter - обновление прервётся, для продолжения нужно нажать y.

По успешному завершению обновления должны увидеть надпись SMART MONITOR SUCCESSFULLY UPDATED!, предварительно будет выведена информация о кластере и текущем узле.

-- STEP 10. PRINT INFORMATION
current state of cluster
{
"cluster_name" : "smos-cluster",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"discovered_master" : true,
"discovered_cluster_manager" : true,
"active_primary_shards" : 50,
"active_shards" : 50,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 15,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 76.92307692307693
}
current state clusters nodes
172.16.0.27 14 99 8 1.47 0.63 0.26 dim data,ingest,master * smos-node-00
Information about current node OpenSearch:
{
"name" : "smos-node-00",
"cluster_name" : "smos-cluster",
"cluster_uuid" : "yKPPDCHGSA6rHQT948jokQ",
"version" : {
"distribution" : "opensearch",
"number" : "2.13.0",
"build_type" : "tar",
"build_hash" : "7ec678d1b7c87d6e779fdef94e33623e1f1e2647",
"build_date" : "2024-03-26T00:02:39.659767978Z",
"build_snapshot" : false,
"lucene_version" : "9.10.0",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

The following plugins cannot be installed:
-- sm-job-scheduler-actions-incident
-- sm-job-scheduler-actions-mitre

================================================================================
-- SMART MONITOR SUCCESSFULLY UPDATED!
================================================================================

Если по какой-то причине скрипт обновления не смог обновить какие-то плагины, то он выведет дополнительно в конце информацию об этих плагинах, как на примере выше (текст The following plugins cannot be installed).

Стоит обратить внимание, что скрипт обновления учитывает текущий список установленных плагинов на узлах OpenSearch, если требуется установить какой-нибудь плагин дополнительно, то действие стоит производить вручную в конце обновления узла.

Обновление OpenSearch Dashboards

Для работы скрипта потребуется наличие следующих предустановленных пакетов:

  • curl
  • zip
  • unzip

Скрипт автоматического обновления позволяет автоматизировать действия при обновлении и находится по пути $SM_41/opensearch-dashboards/update.sh. При вызова скрипта есть возможность указать конфигурационный файл $SM_41/opensearch-dashboards/example_config_dashboards.yaml. Формат файла YAML и аналогичен конфигурационному файлу при установке.

Скрипт обновления поддерживает следующие параметры запуска:

  • -c, --config <path_to_config_file_yaml> - указать конфигурационный файл для обновления
  • -h, --help - выводит справку о доступных командах

При работе скрипт сделает резервную копию файла сервиса systemd, opensearch-dashboards.yml и директории с конфигурациями во временную директорию $SM_41/opensearch-dashboards/staging/.

Скрипт обновления не производит никаких действий с директорией data и logs, директория конфигураций и systemd файлы будут сохранены во временную директорию $SM_41/opensearch-dashboards/staging/.

Обратите внимание!

Если запустить скрипт повторно, то директория staging очистится.

Для обновления нужно запустить скрипт:

$SM_41/opensearch-dashboards/update.sh

Скрипт автоматически определит основные пути текущего сервера до следующих директорий:

  • OpenSearch Dashboards Home Directory - директория расположения OpenSearch Dashboards, обычно это /app/opensearch-dashboards
  • OpenSearch Dashboards Conf Directory - директория расположения конфигурационных файлов OpenSearch Dashboards, обычно /app/opensearch-dashboards/config/
  • OpenSearch Dashboards Data Directory - директория расположения данных, обычно /app/data/
  • OpenSearch Dashboards Logs Directory - директория расположения логов, обычно /app/logs/
================================================================================
SMART MONITOR INSTALL SCRIPT - OPENSEARCH DASHBOARDS
================================================================================

Current working directory: /opt/sm_4.1/opensearch-dashboards

Current name of install's archive: opensearch-dashboards-2.13.0-linux-x64.tar.gz

Current version of OpenSearch-Dashboards: 2.13.0

================================================================================
-- STEP 1. INSTALLATION DIRECTORIES

opensearch-dashboards.service file found. Will get necessary paths from there

Final Opensearch Dashboards home directory: /app/opensearch-dashboards
Final Opensearch Dashboards conf directory: /app/opensearch-dashboards/config
Final Opensearch Dashboards data directory: /app/data/opensearch-dashboards
Final Opensearch Dashboards logs directory: /app/logs/opensearch-dashboards
Is this correct? [y/n]:

После ввода директорий требуется подтвердить введённые данные, нажав y, или ввести свои директории вручную нажав n.

Затем будут произведены подготовительные действия перед обновлением, перед применением обновления будет задан вопрос о продолжении, до этого момента никаких действий, влияющих на работоспособность системы, не производится. Также будет выведена некоторая информация о текущем узле и кластере в целом.

Current list of plugins:
-- smartMonitor
-- smartMonitorColumnChart
-- smartMonitorCyberSecurity
-- smartMonitorDrawio
-- smartMonitorHeatmapChart
-- smartMonitorHtmlChart
-- smartMonitorIncidentManager
-- smartMonitorInventory
-- smartMonitorKnowledgeCenter
-- smartMonitorLineChart
-- smartMonitorLookupManager
-- smartMonitorMitreAttack
-- smartMonitorPDFExport
-- smartMonitorPieChart
-- smartMonitorSingleValue
-- smartMonitorTable
-- smartMonitorUserBehaviorAnalytics

Current version of OpenSearch-Dashboards: 2.13.0

!!! AT THIS POINT WE START TO MAKE CHANGES IN OPERATING SYSTEM !!!
Do you want to continue? [y/N]:

При успешном завершении скрипта обновления будет выведен соответствующий текст SMART MONITOR DASHBOARDS SUCCESSFULLY UPDATED.

Миграция Job Scheduler

В версии 4.1 были внесены значительные изменения во внутреннюю структуру хранения документов job-scheduler. Эти изменения требуют миграции данных для обеспечения корректной работы системы после обновления с версии 4.0 до 4.1.

внимание!

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

В установщике включена утилита для миграции job-scheduler. Утилита располагается в директории $SM_41/utils/migrations_4.0-4.1/job_scheduler_migrations/ и работает на python. Основные требования утилиты:

  • Python 3.8+
  • plugin opensearch-py

Остальные пакеты входят в стандартную установку Python, более подробный список пакетов:

  • certifi==2023.7.22
  • charset-normalizer==3.3.2
  • idna==3.4
  • opensearch-py==2.3.2
  • python-dateutil==2.8.2
  • requests==2.31.0
  • six==1.16.0
  • urllib3==2.0.7
Обратите внимание!

В установщик Smart Monitor 4.1 включён Python 3.8 с требуемым набором пакетов.

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

Перед запуском утилиты настройте параметры в файле $SM_41/utils/migrations_4.0-4.1/job_scheduler_migrations/default.ini. Пример конфигурационного файла приведён ниже:

[server]
host = 127.0.0.1
port = 9200

[user]
name = admin
pass = password

В параметре server.host нужно указать IP адрес любого узла OpenSearch, рекомендуется указывать узел с ролью data и атрибутом routing_mode: hot. Если опустить параметр user.pass, то утилита запросит пароль от УЗ в интерактивном режиме.

Параметры запуска утилиты

Утилита имеет следующие параметры запуска:

  • -c, --config - файл конфигурации (Опциональный). По умолчанию - ./default.ini
  • -h, --help - вывод справки

Предварительные действия

Требуется сделать перед запуском утилиты резервную копию индекса .sm_settings, для этого откройте меню Навигационное меню - Параметры системы - Консоль разработчика и выполните следующий запрос:

POST _reindex
{
"source": {
"index": ".sm_settings"
},
"dest": {
"index": "backup_.sm_settings"
}
}

Запуск утилиты

Запустить утилиту можно командой из терминала сервера:

$SM_41/utils/python/bin/python3 $SM_41/utils/migrations_4.0-4.1/job_scheduler_migrations/main.py -c $SM_41/utils/migrations_4.0-4.1/job_scheduler_migrations/default.ini

Миграция настроек Incident Manager

Миграция выполняется из веб интерфейса в консоли разработчика (меню Навигационное меню - Параметры системы - Консоль разработчика) и состоит из двух запросов. В первом запросе удаляются старые настройки Incident Manager:

POST .sm_im_settings/_delete_by_query
{
"query": {
"term": {
"_meta.id.keyword": {
"value": "incident-manager-settings"
}
}
}
}

Во втором запросе копируются новые настройки Incident Manager:

POST _reindex
{
"source": {
"index": ".sm_settings",
"query": {
"term": {
"_meta.id.keyword": {
"value": "incident-manager-settings"
}
}
}
},
"dest": {
"index": ".sm_im_settings"
}, "script": {
"source": """ctx._source.get("editFields").get("severity").get("values").forEach(severity -> severity.put("color", params.get(severity.get("value"))))""",
"lang": "painless",
"params": {"3": "#DC4E41", "2": "#F8BE32", "1": "#3B8646", "4": "#6092C0"}
}
}

Настройка подключения SME-RE

В Smart Monitor 4.1 изменился способ подключения к SME-RE. Для корректной настройки подключения нужно выполнить несколько действий.

Файл конфигурации

Конфигурационный файл ${OPENSEARCH_HOME}/utils/sme-re/application.properties должен находиться в одной директории с утилитой SME-RE. Пример содержимого файла:

server.port=18080
spring.servlet.multipart.max-request-size=100000000
server.tomcat.max-http-form-post-size=104857600
sme.FileRotatePeriod=10000
sme.baseData=/app/data/sme-re/
sme.directoryPollerInterval=50
sme.scriptConfigPath=./scripts.yaml
sme.LogStringSize=300
sme.RapidDelete=True
# redis
sme.redis.url = "127.0.0.1"
sme.redis.port = 6379
sme.redis.pass = ""
# LOGs directory
logging.file.path=/app/logs/sme-re/
# ssl paramaters
server.ssl.enabled=true
server.ssl.certificate=/app/opensearch/config/node-cert.pem
server.ssl.certificate-private-key=/app/opensearch/config/node-key.pem
server.ssl.trust-certificate=/app/opensearch/config/ca-cert.pem
# can be need, none, want
server.ssl.client-auth=need

Внесите изменения при необходимости. Если какого-то параметра не будет в конфигурационном файле, то будет использоваться значение по умолчанию.Описание параметров можно прочитать в таблице ниже.

ПараметрОписаниеЗначение по умолчанию
server.portПорт на котором будет принимать входящие соединения SME-RE18080
spring.servlet.multipart.max-request-sizeМаксимальный размер файлов для загрузки в байтах100000000
server.tomcat.max-http-form-post-sizeМаксимальный размер для запросов multipart/form-data в байтах104857600
sme.FileRotatePeriodВремя ротации временных файлов с данными в секундах10000
sme.baseDataДиректория хранения данных запроса./data
sme.directoryPollerIntervalИнтервал проверки директории хранения данных в секундах50
sme.scriptConfigPathПуть конфигурационного файла scripts.yaml./scripts.yaml
sme.LogStringSizeРазмер строки логов300
sme.RapidDeleteУдалять ли файлы с данными запросовTrue
sme.redis.urlАдрес для подключения к Redis"127.0.0.1"
sme.redis.portПорт для подключения к Redis6379
sme.redis.passПароль для подключения к Redis""
logging.file.pathПуть для сохранения логовlogs
server.ssl.enabledПри ожидании входящих подключений использовать SSL/TLStrue
server.ssl.certificateПуть до открытого ключа (сертификата) текущего сервера SME-RE в формате PKCS8/app/opensearch/config/node-cert.pem
server.ssl.certificate-private-keyПуть до закрытого ключа текущего сервера SME-RE в формате PKCS8/app/opensearch/config/node-key.pem
server.ssl.trust-certificateПуть до цепочки удостоверяющих центров (CA) в формате PKCS8/app/opensearch/config/ca-cert.pem
server.ssl.client-authРежим валидации сертификатов, может быть need, none, wantneed

Добавление пользователя

Для подключения к SME-RE используется внутренняя УЗ sme_re_user. Для создания УЗ откройте меню Навигационное меню - Параметры системы - Настройки безопасности - Внутренние пользователи. Нажмите кнопку Создать внутреннего пользователя справа наверху.

Создание пользователя

Заполните только поле Имя пользователя и пароль. Пароль должен удовлетворять требованиям сложности паролей. Остальные поля можно не заполнять. После этого нажмите кнопку Создать.

После этого нужно добавить пароль для УЗ sme_re_user в keystore. Сделать это можно несколькими способами.

Обратите внимание!

Добавлять нужно только на узлы OpenSearch, где есть параметр node.attr.node_with_sme: true.

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

GET _cat/nodeattrs

Добавление пароля в хранилище keystore с помощью запроса

В Smart Monitor 4.1 добавлено API управления хранилищем keystore из веб интерфейса. Откройте меню Навигационное меню - Параметры системы - Консоль разработчика и выполните следующий запрос:

GET _core/keystore
Обратите внимание!

API позволяет изменять keystore только для определённых узлов кластера, например, с маской по имени узла. Подробнее про API управления хранилищем keystore можно прочитать в соответствующей статье.

Будет выведено содержимое хранилищ keystore на всех узлах кластера. Для того, чтобы добавить ключ на все узлы кластера, отредактируйте и выполните запрос:

POST _core/keystore/sme.core.remote_script.password
{
"value" : "<PASSWORD_USER>"
}

Добавление пароля в хранилище keystore ручным способом

Необходимо на узлах OpenSearch с SME-RE в keystore добавить ключ sme.core.remote_script.password. Сделать можно следующей командой:

sudo -u opensearch $OPENSEARCH_HOME/bin/opensearch-keystore add sme.core.remote_script.password

При выполнении скрипт запросит ввести значение ключа, введите пароль пользователя sme_re_user. После выполнения команды перезагрузите узел OpenSearch.

Добавление настроек подключения в кластер

Для начала проверьте, что у вас отсутствуют параметры подключения к SME-RE, откройте меню Навигационное меню - Параметры системы - Консоль разработчика и выполните следующий запрос:

GET _cluster/settings

В правой части найдите объект persistent.sme.core.remote_script, например:

{
"persistent": {
"sme": {
"core": {
"remote_script": {
"base_path": "/app/opensearch/utils/scripts/",
"enable_ssl": "true",
"port": "18080",
"base_interpreter_name": "bash",
"url": "https://127.0.0.1",
"interpreters": ["python3::/app/opensearch/utils/python/bin/python3", "bash::bash"]
}
}
}
},
"transient": {}
}

Если нашли, то у вас уже настроено подключение к SME-RE, действие ниже делать не требуется. Если отсутствует объект persistent.sme.core.remote_script, то необходимо выполнить действие ниже.

Для того, чтобы кластер OpenSearch смог подключаться к SME-RE нужно добавить параметры через меню Навигационное меню - Параметры системы - Консоль разработчика, выполните запрос предварительно изменив необходимые параметры:

PUT _cluster/settings
{
"persistent": {
"sme": {
"core" : {
"remote_script": {
"base_path": "/app/opensearch/utils/scripts/",
"enable_ssl": true,
"port": "18080",
"base_interpreter_name": "bash",
"url": "https://127.0.0.1",
"interpreters": [
"python3::/app/opensearch/utils/python/bin/python3",
"bash::bash"
]
}
}
}
}
}

Описание параметров представлено ниже:

ПараметрОписание
sme.core.remote_scriptНастройки для выполнения внешних скриптов
sme.core.remote_script.base_pathДиректория для поиска внешних скриптов
sme.core.remote_script.enable_sslИспользовать ли SSL/TLS для подключения к SME-RE
sme.core.remote_script.portПорт для подключения к SME-RE
sme.core.remote_script.base_interpreter_nameИнтерпретатор для внешних скриптов по умолчанию
sme.core.remote_script.urlURL для подключения к SME-RE, протокол можно опустить
sme.core.remote_script.interpretersМассив интерпретаторов, каждый элемент представлен в формате short_intr_name::path_to_intr

Создание пункта меню

Для просмотра нового функционала нужно создать элемент навигационное меню, для этого откройте меню Навигационное меню - Параметры системы - Настройки модулей - Основное - Настройки меню, найдите Менеджер инцидентов и разверните его, после чего нажмите на кнопку Добавить раздел.

Добавление пункта меню

Заполните поля следующим образом:

Название поляСодержимое
Системное имяincidents-group
ЗаголовокНастройки групп инцидентов
Включить отображениеДа, флаг должен быть включён
ТипСтраница

Добавление пункта Настройка групп инцидентов

После этого нажмите кнопку Сохранить изменения.