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 под определенной разрядностью:
- Если Windows x32, необходимо запустить
SmartBeat-windows-x86-version.msi
. - Если Windows x64, необходимо запустить
SmartBeat-windows-x64-version.msi
.
Выберите путь установки Smart Beat (стандартный путь установки: С:\Program Files\smartBeat
):
Настройка подключения к 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
.
Ротация лог-файлов
На этом шаге настраиваются параметры, отвечающие за логирование:
- Rotation time - частота ротации файла логирования. По умолчанию - 24 часа.
- Max age - время жизни файла логирования. По умолчанию - 1 неделя.
- Logs path - директория сохранения логов. По умолчанию:
C:\Program Files\smartBeat\logs\
.
Дополнительные настройки Smart Beat
На данном шаге можно настроить следующие действия:
- Delete GUID SmartBeat - данное действие необходимо выполнить только при обновлении Smart Beat. Если выполнить это действие при установке, то ничего не произойдет. Удалить файл
guid.yml
(файл содержащий в себе уникальный идентификатор Smart Beat). - Set ExecutionPolicy on RemoteSigned - данное действие необходимо выполнить, когда вы собираетесь настроить сбор с помощью Powershell-скриптов. Политика для пользователя изменится на
RemoteSigned
. - 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. Если не указать ключ, то применится значение по умолчанию.
Параметр | Описание | Значение по умолчанию |
---|---|---|
GUID_SALT | Добавление соли при генерации GUID. Требуется в случае использования виртуальных машин, скопированных из одной. По умолчанию - пустой. Возможно добавить <IP> <MAC> , значения подставляются автоматически из текущего сервера. | |
APPDIR | Путь установки Smart Beat | C:\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 нужно выполнить следующие действия:
- Остановить службу Smart Beat.
- В директории
${SB_HOME}/cert/
удалить все существующие сертификаты и закрытые ключи. - В эту же директорию
${SB_HOME}/cert/
перенести существующий сертификат ЦС, с ертификат и закрытый ключ Smart Beat. - Отредактировать при необходимости конфигурационный файл
${SB_HOME}/config/config.yaml
:ssl.cert_ca
- указать имя сертификата x509 ЦС.ssl.node_cert
- имя файла сертификата x509 Smart Beat.ssl.node_key
- имя файла закрытого ключа Smart Beat.ssl.enable: true
- включить SSL/TLS.ssl.verify: true
- включить проверку на валидность сертификата.
- Запустить службу Smart Beat.
Изменение пользователя
Для того, чтобы сменить пользователя, под которым работает Smart Beat, нужно сделать следующие действия:
- Выключить службу Smart Beat.
- Сменить владельца директории
${SB_HOME}
и всех вложенных файлов и директорий. - Добавить разрешение на чтение всех необходимых файлов новому пользователю Smart Beat.
- Запустить "Локальную политику безопасности", открыть "Параметры безопасности -> Локальные политики -> Назначение прав пользователя -> Вход в качестве службы" - добавьте нового пользователя Smart Beat
- Запустить службу 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, нужно выполнить следующие действия:
- Остановить службу Smart Beat.
- Удалить файл
${SB_HOME}/config/guid.yml
. - Отредактировать конфигурационный файл
${SB_HOME}/config/config.yaml
и внести изменения в параметрguid_salt
- указать необходимую "соль", рекомендуется использовать значение из токенов<IP> <MAC>
. - Запустить службу 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.ip | IP-адрес агента. Используется в случае нескольких сетевых интерфейсов для выбора отправляемого в 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 |