Настройка Inventory Processor
Описание настроек
Inventory Processor - это исполняемый файл модуля, который выполняет задачи наполнения базы активов. Стандартное имя исполняемого файла: moduleInventory-<version>
.
Конфигурационный файл
Для запуска Inventory Processor требуется, чтобы в папке с модулем был файл конфигурации с именем config.yml
. Он содержит следующие параметры:
Параметр | Описание | Обязательный параметр |
---|---|---|
opensearch | Список серверов кластера OpenSearch. | Да |
username | Имя пользователя для подключения. | Да |
password | Пароль для подключения. | Да |
cert | CA-сертификат для проверки подлинности. | Да |
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
./moduleInventory -with-index -bulk-changes
./moduleInventory
Процесс настройки
Для настройки Inventory Processor необходимо открыть тер минал под пользователем root
, для выполнения команд.
В терминале необходимо выполнить следующие шаги:
- Создайте рабочую директорию. Например, директорию
/app/inventory/
.
mkdir /app/inventory
- Скопировать в рабочую директорию исполняемый файл Inventory Processor
moduleInventory
. - Изменить группу и владельца для рабочей директории и файлов внутри нее на группу и пользователя,
от которого будет запускаться Inventory Processor, например
opensearch
.
chown -R opensearch:opensearch /app/inventory/moduleInventory
- Установить право на выполнение файла
moduleInventory
.
chmod +x /app/inventory/moduleInventory
- В рабочей директории Inventory Processor необходимо создать файл
config.yml
и заполнить согласно разделу Конфигурационный файл. - Для периодической актуализации базы активов необходимо настроить cron задание.