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

Smart Beat для Windows

Обратите внимание

Smart Beat может работать с любой версией ElasticBeat, но если Вы планируете отправлять данные напрямую в OpenSearch, то версия ElasticBeat должна быть 7.12.1 (или 7.10.2 - более стабильная версия). Если планируется использовать Logstash, то версия ElasticBeat не имеет значения. Подробнее на официальном сайте.

Условные обозначения

  • $SB_HOME - домашняя директория установки Smart Beat: C:\Program Files\smartBeat\

Установка с помощью MSI-файла

Запустите MSI-файл Smart Beat под определенной разрядностью:

  1. Если Windows x32, необходимо запустить SmartBeat-windows-x86-version.msi.
  2. Если Windows x64, необходимо запустить SmartBeat-windows-x64-version.msi.

Выберите путь установки Smart Beat (стандартный путь установки: С:\Program Files\smartBeat):

Обратите внимание!

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

Если каких-нибудь файлов или директорий будет не хватать, то они будут созданы при запуске сервиса. Если какой-нибудь файл уже существует, то он не будет создан.

Настройка подключения к Smart Beat Manager

На этом шаге необходимо настроить следующие параметры конфигурационного файла Smart Beat:

ПараметрОписаниеЗначение по умолчанию
ManagerНастройка для подключения к Smart Beat Manager. Необходимо указать IP-адрес или DNS-имя машины, где установлен Smart Beat Manager, и порт подключения (хост и порт должны быть разделены символом :).localhost:7767
HeartbeatНастройка частоты подключения Smart Beat к Smart Beat Manager.

Настройка SSL-соединения

примечание

Рекомендуется использовать безопасное подключение.

Введите пути до сертификатов для безопасного подключения Smart Beat к Smart Beat Manager:

По умолчанию включено безопасное подключение с проверкой сертификатов, для этого необходимо указать путь до сертификата ЦС и сертификат и ключ самого Smart Beat. Сертификаты рекомендуется сгенерировать с параметрами:

  • keyUsage = critical, digitalSignature, keyEncipherment
  • extendedKeyUsage = serverAuth, clientAuth
  • Subject Alternative Name - указать все возможные IP и доменные имена сервера, где установлен агент

Для генерации сертификата можно воспользоваться утилитой, идущей в установщике $SM_INSTALLER/utils/ssl-tls-gen/gencerts.sh. Для того, чтобы отключить проверку сертификата нужно отключить галочку Enable verification. Для того, чтобы сгенерировались самоподписанные сертификаты установите галочку Generate self-signed certificate. При этом сертификат ЦС не будет учитываться и будет проигнорирован. Для того, чтобы не использовать защищенное подключение уберите галочку Enable SSL.

Ротация лог-файлов

На этом шаге настраиваются параметры, отвечающие за логирование:

  1. Rotation time - частота ротации файла логирования. По умолчанию - 24 часа.
  2. Max age - время жизни файла логирования. По умолчанию - 1 неделя.
  3. Logs path - директория сохранения логов. По умолчанию: C:\Program Files\smartBeat\logs\.

Дополнительные настройки Smart Beat

На данном шаге можно настроить следующие действия:

  1. Delete GUID SmartBeat - данное действие необходимо выполнить только при обновлении Smart Beat. Если выполнить это действие при установке, то ничего не произойдет. Удалить файл guid.yml (файл содержащий в себе уникальный идентификатор Smart Beat).
  2. Set ExecutionPolicy on RemoteSigned - данное действие необходимо выполнить, когда вы собираетесь настроить сбор с помощью Powershell-скриптов. Политика для пользователя изменится на RemoteSigned.
  3. The salt in the SmartBeat GUID - данное действие рекомендуется выполнить во избежание дубликатов GUID Smart Beat установленных на разных машинах, которые были скопированы. Внести соль при генерации GUID Smart Beat (параметр guid_salt в конфигурационном файле config.yaml).

После корректной настройки Smart Beat запустите установку - Install, и при запросе "Контроль учетных записей - Разрешите этому приложению от неизвестного издателя вносить изменения на вашем устройстве", нажмите Да.

После того как Smart Beat установится на ваш компьютер, запустится служба Smart Beat и агент подключится к Smart Beat Manager.

Тихая установка

Для установке Smart Beat на Windows, используя тихую установку MSI, необходимо открыть командную строку или powershell от имени администратора для выполнения команд.

cd 'C:\<путь к SmartBeat-windows-x64-version.msi>'
msiexec /i SmartBeat-x64.msi /qn
предупреждение

При установке Smart Beat, используя тихую установку MSI, можно указать ключи для настройки MSI. Если не указать ключ, то применится значение по умолчанию.

Обратите внимание!

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

Если каких-нибудь файлов или директорий будет не хватать, то они будут созданы при запуске сервиса. Если какой-нибудь файл уже существует, то он не будет создан.

ПараметрОписаниеЗначение по умолчанию
GUID_SALTДобавление соли при генерации GUID. Требуется в случае использования виртуальных машин, скопированных из одной. По умолчанию - пустой. Возможно добавить <IP> <MAC>, значения подставляются автоматически из текущего сервера.
APPDIRПуть установки Smart BeatC:\Program Files\smartBeat
SBMANAGERХост (IP-адрес или DNS-имя) и порт Smart Beat Manager.localhost:7767
HEARTBEAT_MINМинимальная частота подключения Smart Beat.1m0s (1 минута)
HEARTBEAT_MULTIPLIERМножитель минимальной частоты подключения.2
HEARTBEAT_MAXМаксимальная частота подключения Smart Beat.1h0m0s (1 час)
ROTATION_INTERVALЧастота ротации файла логирования.24h (24 часа)
ROTATION_AGEВремя жизни файла логирования.168h (1 неделя)
ROTATION_LOG_LEVELРежим логирования (info/debug/trace) Smart Beat.info
ROTATION_LOG_PATHДиректория для сохранения логов.C:\Program Files\smartBeat\logs\
SSL_VERIFYБезопасное подключение к Smart Beat Manager.false
SSL_ENABLEПротокол подключения к Smart Beat Manager, где при значении true используется протокол https, а при false протокол http.true
SSL_CERT_CAАбсолютный/относительный путь до ЦС сертификата.
SSL_CERT_NODEАбсолютный/относительный путь, где сгенерируется node сертификат.C:/Program Files/smartBeat/cert/node-cert.pem
SSL_KEY_NODEАбсолютный/относительный путь, где сгенерируется node ключ.C:/Program Files/smartBeat/cert/node-key.pem
REMOVE_GUIDУдалить файл guid.yml.false
SET_EXECUTION_POLICYИзменить политику разрешения для запуска PowerShell скриптов.false
Обратите внимание!

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

Пример использования ключей при тихой установки MSI на Windows x64 с помощью powershell:

msiexec /i SmartBeat-цwindows-x64-version.msi /qn APPDIR=`"C:\Program Files\smartBeat`" GUID_SALT="<IP>_<MAC>" SBMANAGER="localhost:7767" HEARTBEAT_MIN="1m0s" HEARTBEAT_MULTIPLIER=2 HEARTBEAT_MAX="1h0m0s" ROTATION_INTERVAL="24h" ROTATION_AGE="168h" ROTATION_LOG_LEVEL=info ROTATION_LOG_PATH=`"C:\Program Files\smartBeat\logs`" SSL_VERIFY=true SSL_ENABLE=true SSL_CERT_CA=`"C:\Program Files\smartBeat\cert\ca-cert.pem`" SSL_CERT_NODE=`"C:\Program Files\smartBeat\cert\cert.pem`" SSL_KEY_NODE=`"C:\Program Files\smartBeat\cert\key.pem`" REMOVE_GUID=false SET_EXECUTION_POLICY=false
предупреждение

При использовании символа пробела в значении одного из параметров, необходимо указывать значение в двойных кавычках с экранированием с помощью символа `. Например:

APPDIR=`"C:\Program Files\smartBeat`"

Пример использования ключей при тихой установки MSI на Windows x64 с помощью командной строки:

msiexec /i SmartBeat-windows-x64.msi /qn APPDIR="C:\Program Files\smartBeat\" GUID_SALT="<IP>_<MAC>" SBMANAGER="localhost:7767" HEARTBEAT_MIN="1m0s" HEARTBEAT_MULTIPLIER=2 HEARTBEAT_MAX="1h0m0s" ROTATION_INTERVAL="24h" ROTATION_AGE="168h" ROTATION_LOG_LEVEL=info ROTATION_LOG_PATH="C:\Program Files\smartBeat\logs\" SSL_VERIFY=false SSL_ENABLE=true SSL_CERT_CA="C:\Program Files\smartBeat\cert\ca-cert.pem" SSL_CERT_NODE="C:\Program Files\smartBeat\cert\cert.pem" SSL_KEY_NODE="C:\Program Files\smartBeat\cert\key.pem" REMOVE_GUID=false SET_EXECUTION_POLICY=false

Дополнительные настройки Smart Beat

Замена сертификатов

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

  1. Остановить службу Smart Beat.
  2. В директории ${SB_HOME}/cert/ удалить все существующие сертификаты и закрытые ключи.
  3. В эту же директорию ${SB_HOME}/cert/ перенести существующий сертификат ЦС, сертификат и закрытый ключ Smart Beat.
  4. Отредактировать при необходимости конфигурационный файл ${SB_HOME}/config/config.yaml:
    1. ssl.cert_ca - указать имя сертификата x509 ЦС.
    2. ssl.node_cert - имя файла сертификата x509 Smart Beat.
    3. ssl.node_key - имя файла закрытого ключа Smart Beat.
    4. ssl.enable: true - включить SSL/TLS.
    5. ssl.verify: true - включить проверку на валидность сертификата.
  5. Запустить службу Smart Beat.

Изменение пользователя

Для того, чтобы сменить пользователя, под которым работает Smart Beat, нужно сделать следующие действия:

  1. Выключить службу Smart Beat.
  2. Сменить владельца директории ${SB_HOME} и всех вложенных файлов и директорий.
  3. Добавить разрешение на чтение всех необходимых файлов новому пользователю Smart Beat.
  4. Запустить "Локальную политику безопасности", открыть "Параметры безопасности -> Локальные политики -> Назначение прав пользователя -> Вход в качестве службы" - добавьте нового пользователя Smart Beat
  5. Запустить службу Smart Beat.

Изменение GUID

GUID формируется на основе UUID диска, который смонтирован на корень файловой системы. При запуске Smart Beat высчитывает GUID и при отсутствии файла ${SB_HOME}/config/guid.yml сохраняет в него полученное значение. При существующем файле сравнивает полученное значение и значение в файле и записывает результат в лог файле.

Если сервера виртуальные были склонированы, то может возникнуть ситуация, при которой UUID будут одинаковыми, для этого следует добавить соль при генерации GUID. В конфигурационном файле ${SB_HOME}/config/config.yaml нужно добавить параметр guid_salt. На текущий момент можно добавить 2 токена, которые высчитываются для каждого сервера:

  • <IP> - подставляет IP адрес, с которого идет обращение к серверу manager.host или берется значение из параметра agent.ip (должен быть реальным, иначе будет выбран случайно)
  • <MAC> - подставляет MAC сетевого устройства, на котором есть IP адрес, полученный выше

Для того, чтобы изменить GUID Smart Beat, нужно выполнить следующие действия:

  1. Остановить службу Smart Beat.
  2. Удалить файл ${SB_HOME}/config/guid.yml.
  3. Отредактировать конфигурационный файл ${SB_HOME}/config/config.yaml и внести изменения в параметр guid_salt - указать необходимую "соль", рекомендуется использовать значение из токенов <IP> <MAC>.
  4. Запустить службу Smart Beat.

Описание конфигурационного файла

Конфигурационный файл ${SB_HOME}/config/config.yaml состоит из следующих параметров:

ПараметрОписаниеЗначение по умолчанию
guid_saltСоль при генерации GUID для Smart Beat.<IP> <MAC>
heartbeat.min_conditionМинимальная частота подключения Smart Beat.1m0s (1 минута)
heartbeat.min_conditionМинимальная частота подключения Smart Beat.1m0s (1 минута)
heartbeat.multiplierМножитель минимальной частоты подключения.2
heartbeat.max_conditionМаксимальная частота подключения.1h0m0s (1 час)
manager.hostХост (IP-адрес или DNS имя) Smart Beat Manager.localhost
manager.portПорт Smart Beat Manager.7767
agent.ipIP-адрес агента. Используется в случае нескольких сетевых интерфейсов для выбора отправляемого в Smart Beat Manager IP-адреса агента. Указанный IP-адрес должен быть назначен одному из сетевых интерфейсов хоста, иначе параметр заполнится значением по умолчанию. Необязательный параметр.IP-адрес сетевого интерфейса хоста, через который проходит запрос к Smart Beat Manager.
agent.tagsМассив меток агента. На стороне Smart Beat Manager пока не используется. Необязательный параметр.[]
agent.send_addrsВключение отправки информации о сетевых интерфейсах хоста. Если значение true, то в Smart Beat Manager будет отправляться массив объектов addrs, где каждый объект состоит из трех полей inter - имя интерфейса, hwaddr - физический адрес интерфейса, ipv4 - назначенный интерфейсу ip-адрес. На стороне Smart Beat Manager пока не используется. Необязательный параметр.true
rotation.rotation_timeЧастота ротации файла логирования.24h (24 часа)
rotation.max_ageВремя жизни файла логирования.168h (1 неделя)
rotation.max_sizeОграничение размера файла логирования.10485760 (10 Мб)
rotation.log_levelУровень логирования. Может принимать значения trace, debug, info, warn, error, fatal. Для отладки рекомендуется использовать уровень debug.info
rotation.log_pathДиректория сохранения логов../logs
ssl.verifyПроверка ssl-сертификатов при безопасном подключении к Smart Beat Manager.false
ssl.enableБезопасное подключение к Smart Beat Manager.true
ssl.cert_caПуть до ЦС сертификата../cert/ca-cert.pem
ssl.node_certПуть для генерации node сертификата../cert/node-cert.pem
ssl.node_keyПуть для генерации node ключа../cert/node-key.pem