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

Настройка Inventory Processor

Описание настроек

Inventory Processor - это исполняемый файл модуля, который выполняет задачи наполнения базы активов. Стандартное имя исполняемого файла: moduleInventory-<version>.

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

Для запуска Inventory Processor требуется, чтобы в папке с модулем был файл конфигурации с именем config.yml. Он содержит следующие параметры:

ПараметрОписаниеОбязательный параметр
opensearchСписок серверов кластера OpenSearch.Да
usernameИмя пользователя для подключения.Да
passwordПароль для подключения.Да
certCA-сертификат для проверки подлинности.Да
join_events_with_null_valueПропуск пустых ключей на этапе агрегации.Нет
include_assetsСписок конфигураций активов, которые требуют обработки. Если параметр не задан, то будут обрабатываться все конфигурации.Нет

Пример содержимого файла config.yml:

opensearch: ['https://172.16.0.60:9200']
username: 'admin'
password: 'pass'
cert: 'root-ca.pem'
join_events_with_null_value: false
include_assets:
- asset_name: 'Хосты'
search_fields: ['hostname']
- asset_name: 'Пользователи'
search_fields: ['username']
осторожно

Если требуется скрыть пароль из файла конфигурации Inventory, то параметры username и password можно не задавать в файле конфигурации, а указать через переменные окружения: SM_INV_USERNAME и SM_INV_PASSWORD.

Значения из переменных окружения переопределяют параметры заданные в файле конфигурации. Чтобы передать переменные окружения в cron задание, нужно в файле /home/opensearch/.profile задать переменные окружения и cron задание запускать через bash. Доступ к файлу /home/opensearch/.profile требуется максимально ограничить так, чтобы его мог прочитать только пользователь root и пользователь, от имени которого будет запускаться сервис.

Пример crontab для пользователя opensearch:

* * * * * bash -l -c "cd /app/inventory; ./moduleInventory"

Пример /home/opensearch/.profile:

export SM_INV_USERNAME=admin
export SM_INV_PASSWORD=VeryStrongPassword

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

Исполняемый файл Inventory Processor поддерживает следующие параметры запуска:

  • -v - вывод версии
  • -log - дублирование вывода логов в консоль (необязательный параметр)
  • -with-index - быстрый поиск кандидатов на частичное сходство (необязательный параметр)
  • -bulk-changes - отправка изменений активов через bulk-запрос (необязательный параметр)
Пример вывода версии
./moduleInventory -v
Пример запуска
./moduleInventory -log -with-index -bulk-changes
Пример запуска в cron-задании
./moduleInventory -with-index -bulk-changes
Пример запуск без оптимизаций поиска частичного сходства
./moduleInventory

Процесс настройки

Для настройки Inventory Processor необходимо открыть терминал под пользователем root, для выполнения команд. В терминале необходимо выполнить следующие шаги:

  1. Создайте рабочую директорию. Например, директорию /app/inventory/.
mkdir /app/inventory
  1. Скопировать в рабочую директорию исполняемый файл Inventory Processor moduleInventory.
  2. Изменить группу и владельца для рабочей директории и файлов внутри нее на группу и пользователя, от которого будет запускаться Inventory Processor, например opensearch.
chown -R opensearch:opensearch /app/inventory/moduleInventory
  1. Установить право на выполнение файла moduleInventory.
chmod +x /app/inventory/moduleInventory
  1. В рабочей директории Inventory Processor необходимо создать файл config.yml и заполнить согласно разделу Конфигурационный файл.
  2. Для периодической актуализации базы активов необходимо настроить cron задание.