Установка и инициализация Inventory
Предварительные требования
Требуется наличие следующих файлов для установки:
- Архив с файлами модуля
sm-inventory
для OpenSearch - Архив с файлами модуля
smartMonitorInventory
для OpenSearch Dashboards
Процесс установки
Установка на серверы OpenSearch выполняется следующей командой:
sudo -u opensearch $OPENSEARCH_HOME/bin/opensearch-plugin install file://<путь до архива модуля>
Установка на серверы OpenSearch Dashboards выполняется следующей командой:
sudo -u opensearch $OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-plugin install file://<путь до архива модуля>
Инициализация Inventory
Чтобы проинициализировать модуль необходимо перейти в Параметры системы - Настройка модулей - Inventory - Инициализация
:
Интеграция с Smart Monitor
В параметр Пользователь
необходимо ввести имя учетной записи OpenSearch.
Параметр Пароль
нередактируемый, управляется через OpenSearch keystore.
Для интеграции модуля Inventory
со Smart Monitor необходимо в хранилище паролей Smart Monitor Data Storage и Smart Monitor Master Node добавить ключ inv.os.pass
.
Добавление пароля в хранилище keystore с помощью запроса
Откройте меню Навигационное меню
- Параметры системы
- Консоль разработчика
и выполните следующий запрос:
GET _core/keystore
API позволяет изменять keystore только для определенных узлов кластера, например, с маской по имени узла. Подробнее про API управления хранилищем keystore можно прочитать в соответствующей статье.
Будет выведено содержимое хранилищ keystore на всех узлах кластера. Для того, чтобы добавить ключ на все узлы кластера, отредактируйте и выполните запрос:
POST _core/keystore/inv.os.pass
{
"value" : "<PASSWORD_USER>"
}
Добавление пароля в хранилище keystore ручным способом
Необходимо на узлах OpenSearch
с установленным плагином Inventory
в keystore добавить ключ inv.os.pass
. Сделать можно следующей командой:
sudo -u opensearch $OPENSEARCH_HOME/bin/opensearch-keystore add inv.os.pass
При выполнении скрипт запросит ввести значение ключа, введите пароль пользователя admin
. После выполнения команды перезагрузите узел OpenSearch
.
Интеграция с Postgres
Интеграция с PostgreSQL требуется для корректной работы модуля Inventory в соответствии с обновленным алгоритмом расчета.
По умолчанию параметр отключен — в этом случае поля не являются обязательными. При активации параметра все поля становятся обязательными для заполнения.
Параметр Пароль
нередактируемый, управляется через OpenSearch keystore.
Для интеграции модуля Inventory
с PostgreSQL необходимо в хранилище паролей Smart Monitor Data Storage и Smart Monitor Master Node добавить ключ inv.pg.pass
.
Добавление пароля в хранилище keystore с помощью запроса
Откройте меню Навигационное меню
- Параметры системы
- Консоль разработчика
и выполните следующий запрос:
GET _core/keystore
API позволяет изменять keystore только для определённых узлов кластера, например, с маской по имени узла. Подробнее про API управления хранилищем keystore можно прочитать в соответствующей статье.
Будет выведено содержимое хранилищ keystore на всех узлах кластера. Для того, чтобы добавить ключ на все узлы кластера, отредактируйте и выполните запрос:
POST _core/keystore/inv.pg.pass
{
"value" : "<PASSWORD_USER>"
}
Добавление пароля в хранилище keystore ручным способом
Необходимо на узлах OpenSearch
с установленным плагином Inventory
в keystore добавить ключ inv.pg.pass
. Сделать можно следующей командой:
sudo -u opensearch $OPENSEARCH_HOME/bin/opensearch-keystore add inv.pg.pass
При выполнении скрипт запросит ввести значение ключа, введите пароль пользователя PostgreSQL. После выполнения команды перезагрузите узел OpenSearch
.
Для настройки подключения необходимо заполнить следующие поля формы:
-
Хост — IP-адрес сервера базы данных
-
Порт — порт для подключения к PostgreSQL
-
База данных — имя используемой базы данных
-
Пользователь — имя пользователя для подключения
Фильтрация нод запуска
По умолчанию задачи будут запускаться на всех серверах с установленным модулем Inventory
. Фильтры позволяют регулировать набор нод, используемых для запуска задач. Данный параметр не является обязательным.
Доступны следующие типы фильтрации
:
- Включить – (include) хотя бы одно из условий должно быть удовлетворено
- Исключить – (exclude) ни одно из условий не может быть удовлетворено
- Обязательно – (require) все условия должны быть удовлетворены
Доступны следующие типы атрибута
:
- Имя ноды
- IP адрес хоста
- Публичный IP адрес хоста
- IP адрес
- Имя хоста
- Идентификатор ноды
- Собственный атрибут
В Значение
записывается параметр ноды.
При использовании собственного атрибута
появится поле ввода для указания его названия:
Редактирование настроек Inventory
После инициализации модуля на этой же вкладке можно отредактировать его параметры и дополнить необходимыми настройками.
Пример заполненной формы:
Добавление раздела в навигационное меню
Чтобы добавить компонент модуля в меню перейдите в раздел Навигационное меню
- Параметры системы
- Настройки модулей
- Настройки меню
- JSON-структура
. Добавьте словарь JSON ниже в список data
.
Меню Inventory
{
"itemType": "module",
"name": "inventory",
"show": false,
"id": "39afa001-b528-4488-bd55-58b09c0bded9",
"title": "Inventory",
"sections": [
{
"itemType": "page",
"name": "configs/list",
"show": true,
"id": "f8518eba-cdf9-4341-bd14-51644f09c620",
"title": "Активы",
"enabled": true
}
],
"enabled": true
}