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

Установка и инициализация 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://<путь до архива модуля>
Обновите идентификатор сборки

После установки или обновления плагина увеличьте значение build.number в файле $OPENSEARCH_DASHBOARDS_HOME/package.json. Это требуется для сброса кэша браузера. Затем перезапустите сервис OpenSearch Dashboards.

Подробнее см. в разделе Установка плагинов.


Инициализация Inventory​

Чтобы инициализировать модуль, перейдите в Навигационное меню - Параметры системы - Настройка модулей - Inventory - Инициализация:

Страница инициализации

Интеграция с Smart Monitor​

В поле Пользователь введите имя специальной учетной записи OpenSearch.

предупреждение

Поле Пароль недоступно для редактирования. Значение хранится в OpenSearch keystore.

Для интеграции модуля Inventory со Smart Monitor сохраните пароль специальной учетной записи OpenSearch в ключе inv.os.pass keystore на узлах с установленным плагином Inventory.

Учетная запись используется для проверки лицензии и работы с прежним алгоритмом расчета.

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

Откройте меню Навигационное меню - Параметры системы - Консоль разработчика. Чтобы определить узлы с установленным плагином Inventory, выполните запрос:

GET _cat/plugins?v&h=name,component,version

Найдите в ответе строки со значением sm-inventory в столбце component и запишите имена узлов из столбца name.

Чтобы просмотреть содержимое keystore на узлах кластера, выполните запрос:

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

Параметр nodeid позволяет выполнить запрос только на указанных узлах. В качестве значения можно использовать имя узла или маску. Подробнее см. в статье Управление Keystore через API.

Добавьте ключ на узлы с плагином Inventory, указав имя узла или общую маску в параметре nodeid:

POST _core/keystore/inv.os.pass?nodeid=<INVENTORY_NODE_NAME_OR_MASK>
{
"value" : "<OPENSEARCH_SERVICE_ACCOUNT_PASSWORD>"
}

В поле value укажите пароль специальной учетной записи OpenSearch. Если узлы нельзя выбрать одной маской, повторите запрос для каждого узла с установленным плагином Inventory.

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

На узлах OpenSearch с установленным плагином Inventory добавьте в keystore ключ inv.os.pass следующей командой:

sudo -u opensearch $OPENSEARCH_HOME/bin/opensearch-keystore add inv.os.pass

Скрипт запросит значение ключа. Укажите пароль специальной учетной записи OpenSearch. После выполнения команды перезагрузите узел OpenSearch.

Интеграция с PostgreSQL​

Интеграция с PostgreSQL требуется для работы модуля Inventory по обновленному алгоритму расчета.

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

предупреждение

Поле Пароль недоступно для редактирования. Значение хранится в OpenSearch keystore.

Для интеграции модуля Inventory с PostgreSQL добавьте ключ inv.pg.pass в keystore на узлах с установленным плагином Inventory. Используйте один из способов, описанных для ключа inv.os.pass: с помощью запроса или вручную.

Вместо пароля специальной учетной записи OpenSearch укажите пароль пользователя PostgreSQL: в поле value при добавлении с помощью запроса или в ответ на приглашение команды при добавлении вручную.

Для настройки подключения заполните следующие поля формы:

  • Хост — IP-адрес сервера базы данных
  • Порт — порт для подключения к PostgreSQL
  • База данных — имя используемой базы данных
  • Пользователь — имя пользователя для подключения

Фильтрация узлов запуска​

По умолчанию задачи запускаются на всех серверах с установленным модулем Inventory. Фильтры позволяют определить набор узлов, используемых для запуска задач. Этот параметр необязателен.

Доступны следующие типы фильтрации:

  • Включить — (include) хотя бы одно из условий должно быть удовлетворено
  • Исключить — (exclude) ни одно из условий не может быть удовлетворено
  • Обязательно — (require) все условия должны быть удовлетворены

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

  • Имя узла
  • IP-адрес хоста
  • Публичный IP-адрес хоста
  • IP-адрес
  • Имя хоста
  • Идентификатор узла
  • Собственный атрибут

В поле Значение укажите значение атрибута узла.

примечание

При использовании Собственный атрибут появится поле для указания его названия:

Собственный атрибут


Редактирование настроек Inventory​

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

Пример заполненной формы:

Настройки инициализации


Добавление раздела в навигационное меню​

Чтобы добавить компонент модуля в меню, перейдите в раздел Навигационное меню - Параметры системы - Настройки модулей - Настройки меню - JSON-структура. Добавьте приведенный ниже объект JSON в список data.

Меню Inventory
{
"itemType": "group",
"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
}

Настройки ручного запуска moduleInventory​

При необходимости moduleInventory можно запустить вручную, например для проверки настроек или внепланового обновления базы активов. Запускайте только один экземпляр модуля на одном из узлов с установленным плагином Inventory.

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

  • -v — выводить версию
  • -log — выводить журнал работы в консоль
  • -with-index — использовать быстрый поиск кандидатов с частичным сходством
  • -bulk-changes — отправлять изменения активов с помощью bulk-запросов

Перейдите в директорию с исполняемым файлом и выполните команду от имени пользователя opensearch:

cd $OPENSEARCH_HOME/utils/inventory
sudo -u opensearch ./moduleInventory -log -with-index -bulk-changes

Чтобы вывести версию, выполните команду:

sudo -u opensearch $OPENSEARCH_HOME/utils/inventory/moduleInventory -v