Интеграция Servers с Smart Monitor
Оглавление
- Модуль Servers
- Предварительные требования
- Настройка узла Smart Monitor Data Collector
- Настройка Smart Beat Manager
Модуль Servers
Модуль Servers использует данные системных метрик и инвентаризации для построения дашбордов, наполнения inventory и формирования инфраструктурных инцидентов.
Для интеграции требуется подготовить Smart Monitor Data Collector, а также настроить распространение приложений через Smart Beat Manager.
Smart Monitor Data Collector основан на Logstash, в дальнейшем в тексте может использоваться как альтернативное имя.
Предварительные требования
Перед началом интеграции убедитесь, что выполнены следующие условия:
- Произведена Установка Smart Monitor Data Collector
- Произведена Установка Smart Beat
- Произведена Установка Smart Beat Manager
Рекомендуемые стандартные пути:
/app/logstash/ # Директория Smart Monitor Data Collector
/app/logstash/config/conf.d # Директория конфигурационных файлов Smart Monitor Data Collector (далее — pipeline)
/app/smartBeatManager/ # Директория Smart Beat Manager
/app/smartBeatManager/apps # Директория приложений Smart Beat Manager
/app/smartBeatManager/binaries # Директория бинарных файлов приложений
/app/smartBeatManager/etc/serverclasses.yml # Файл правил назначения приложений на серверы
Если используются нестандартные пути установки, проверьте все pipeline и внесите корректировки при необходимости.
Настройка узла Smart Monitor Data Collector
Для работы модуля Servers на узле Smart Monitor Data Collector требуется подготовить pipeline и параметры keystore.
Добавление параметров в keystore
В keystore должен быть добавлен:
ES_PWD— пароль пользователяlogstash
Для внесения параметра выполните:
sudo -u logstash /app/logstash/bin/logstash-keystore add ES_PWD
Проверьте наличие параметра:
sudo -u logstash /app/logstash/bin/logstash-keystore list
Размещение pipeline Servers
Содержимое каталога logstash_pipelines модуля Servers необходимо разместить по пути:
/app/logstash/config/conf.d
Подключение pipeline выполняется в файле:
/app/logstash/config/pipelines.yml
Необходимо добавить в него следующие строки:
### Servers
- pipeline.id: srv_metrics
path.config: "/app/logstash/config/conf.d/srv_metrics.conf"
- pipeline.id: srv_inv_linux
path.config: "/app/logstash/config/conf.d/srv_inv_linux.conf"
- pipeline.id: srv_inv_windows
path.config: "/app/logstash/config/conf.d/srv_inv_windows.conf"
Настройка pipeline Servers
В файлах srv_metrics.conf, srv_inv_linux.conf и srv_inv_windows.conf необходимо заменить:
PORT— на порт, по которомуLogstashбудет принимать данные от beat-агентовHOST:PORT— на адрес и порт узла или кластераSmart Monitor Data Storage, в который будут отправляться собранные данные
Настройка Smart Beat Manager
Размещение приложений
Содержимое каталога apps модуля Servers необходимо разместить по пути:
/app/smartBeatManager/apps
Итоговый набор приложений:
metricbeat_linuxmetricbeat_windowsinventory_linuxinventory_windows
Настройка конфигурации приложений
На узле SmartBeatManager должны присутствовать binaries Metricbeat и Filebeat для Linux и Windows, доступные в каталоге:
/app/smartBeatManager/binaries
Перед дальнейшей установкой проверьте и при необходимости скорректируйте адрес узла Logstash в файлах:
/app/smartBeatManager/apps/metricbeat_linux/metricbeat.yml
/app/smartBeatManager/apps/metricbeat_windows/metricbeat.yml
/app/smartBeatManager/apps/inventory_linux/filebeat.yml
/app/smartBeatManager/apps/inventory_windows/filebeat.yml
Во всех файлах необходимо указать актуальное значение параметра:
output.logstash:
hosts: ["<LOGSTASH_HOST>:<LOGSTASH_PORT>"]
Подключение приложений к serverclasses
В файл:
/app/smartBeatManager/etc/serverclasses.yml
необходимо добавить группы для Linux- и Windows-серверов.
Пример:
- name: linux_inventory
apps:
- metricbeat_linux
- inventory_linux
binaries:
- <METRICBEAT_LINUX_ARCHIVE>
- <FILEBEAT_LINUX_ARCHIVE>
filters:
- <LINUX_HOST_FILTER>
- name: windows_inventory
apps:
- metricbeat_windows
- inventory_windows
binaries:
- <METRICBEAT_WINDOWS_ARCHIVE>
- <FILEBEAT_WINDOWS_ARCHIVE>
filters:
- <WINDOWS_HOST_FILTER>
Особенности inventory
Приложение inventory_linux реализовано как lightweight-приложение на базе:
run_inventory.shinstall_cron.shfilebeat.yml
Сбор выполняется по cron с периодичностью раз в 10 минут. В текущей поставке приложение формирует лог-файл с базовыми инвентаризационными сведениями и отправляет его в Logstash через Filebeat.
Приложение inventory_windows разделено на два сценария:
- fast inventory — быстрые технические сведения: CPU, RAM, диски, IP-адреса, материнская плата
- slow inventory — более тяжелые данные: ОС, ПО, обновления, Office-лицензии, антивирус
Запуск выполняется через Scheduled Tasks:
- fast inventory — каждые 10 минут
- slow inventory — раз в 6 часов
Порядок дальнейшей установки
После настройки Logstash и SmartBeatManager не запускайте и не перезапускайте эти службы сразу. Для корректной установки модуля сначала необходимо:
- Выполнить утилиту
servers_ko_maker - Загрузить контентный пакет
Servers - Только после этого запустить или перезапустить
LogstashиSmartBeatManager
Такая последовательность позволяет начать сбор данных уже после создания технических зависимостей, bootstrap-индексов и политик ISM.
Подробные действия по установке утилиты и загрузке контента приведены в разделе Servers: Установка модуля.