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

Диагностика проблем Smart Beat и Smart Beat Manager

В статье описана диагностика агента Smart Beat и Smart Beat Manager (SBM). Примеры журналов соответствуют формату реальных сообщений. Номера строк в коде (например, client.go:88) могут различаться между версиями, поэтому ориентируйтесь на текст сообщения и имя логгера.

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

Статус служб​

Проверьте состояние служб на хостах агента и Smart Beat Manager:

systemctl status smartBeat.service
systemctl status smartBeatManager.service

Пример при исправной работе:

● smartBeat.service - SmartBeat
Loaded: loaded (/etc/systemd/system/smartBeat.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2026-10-07 09:00:12 UTC; 2h 14min ago
Main PID: 18422 (smartBeat)

Пример при сбое: служба не запускается и постоянно перезапускается:

● smartBeat.service - SmartBeat
Loaded: loaded (/etc/systemd/system/smartBeat.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2026-10-07 11:22:40 UTC; 4s ago
Process: 20911 ExecStart=/app/smartBeat/smartBeat (code=exited, status=1/FAILURE)

Что делать​

  1. Найдите причину сбоя в журнале службы (см. Журналы): ошибку конфигурации, недоступный сертификат или занятый порт

  2. Устраните причину и перезапустите службу

    systemctl restart smartBeat.service
  3. Если служба остается в состоянии activating (auto-restart), остановите ее командой systemctl stop smartBeat.service, устраните причину сбоя и запустите снова. Частые перезапуски создают дополнительную нагрузку и записи в журнале

Журналы​

  • директория журналов Smart Beat задается параметром rotation.log_path в ${SB_HOME}/config/config.yaml, по умолчанию ${SB_HOME}/logs. Уровень логирования задается параметром rotation.log_level (trace, debug, info, warn, error, fatal)
  • директория журналов Smart Beat Manager задается параметром logs.logPath, по умолчанию ${SBM_HOME}/logs

Для подробной диагностики временно установите уровень логирования debug и перезапустите службу.

Пример записи в журнале Smart Beat при успешном подключении к Smart Beat Manager:

2026-10-07T09:00:15.221Z INFO manager/client.go:88 successfully connected to Smart Beat Manager 192.0.2.10:7767

Проблемы подключения агента​

Если агент Smart Beat не отображается в интерфейсе Управление Smart Beat или отображается неактивным, последовательно выполните проверки ниже.

Связь агента с Smart Beat Manager​

Агент подключается к Smart Beat Manager через порт, заданный параметром manager.port (по умолчанию 7767). Проверьте доступность порта с хоста агента и правильность адреса в его конфигурации. Пример записи в журнале при недоступности сети:

2026-10-07T11:22:41.015Z ERROR manager/client.go:102 failed to connect to Smart Beat Manager 192.0.2.10:7767: dial tcp: i/o timeout

Что делать​

Разрешите соединение через порт manager.port в межсетевом экране между хостами агента и Smart Beat Manager либо укажите правильные адрес и порт в конфигурации агента. После изменения конфигурации перезапустите Smart Beat.

TLS-сертификаты​

Если включен параметр ssl.enable: true, несовпадение или истечение срока действия сертификата агента вызывает ошибку подключения. Проверьте журнал Smart Beat на ошибки проверки сертификата. Пути к сертификатам и ключу агента задаются параметрами ssl.cert_ca, ssl.node_cert и ssl.node_key в ${SB_HOME}/config/config.yaml (по умолчанию - ${SB_HOME}/cert/). На стороне Smart Beat Manager уровень проверки клиентского сертификата задается параметром ssl.smartBeatTLSLevel в ${SBM_HOME}/etc/config.yml, а путь к сертификату Smart Beat Manager - параметром ssl.certPath в том же файле (по умолчанию - ${SBM_HOME}/etc/ssl/). Пример записи в журнале при ошибке сертификата:

2026-10-07T11:25:03.552Z ERROR manager/client.go:102 failed to connect to Smart Beat Manager: x509: certificate signed by unknown authority

Для диагностики без отключения проверки сертификата проверьте цепочку сертификатов с хоста агента:

openssl s_client -connect <host_smart_beat_manager>:7767 -CAfile <путь до сертификата ЦС>

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

Что делать​

Перевыпустите или скопируйте действующие сертификат ЦС, сертификат и закрытый ключ Smart Beat в пути, заданные параметрами ssl.cert_ca, ssl.node_cert и ssl.node_key (см. Установка сертификатов Smart Beat). Затем перезапустите службу.

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

Отключение проверки сертификата (ssl.verify: false) может подтвердить причину ошибки, но не устраняет ее. Не оставляйте проверку отключенной в продуктивной среде. Используйте этот параметр только кратковременно для диагностики либо проверьте сертификат через openssl s_client, не изменяя конфигурацию.

Статус агента в интерфейсе​

На странице Управление Smart Beat проверьте поля клиента: Подключение должно иметь значение В сети, а Состояние - Без ошибок. Значение Не в сети в поле Подключение означает отсутствие связи со Smart Beat Manager (см. Связь агента с Smart Beat Manager и TLS-сертификаты). Значение Ошибка в поле Состояние указывает на проблему агента или его приложений, не связанную с сетью или сертификатами.

Что делать​

Если сеть и сертификаты исправны, но агент по-прежнему неактивен, перезапустите службу Smart Beat на его хосте и повторите проверку.

Доставка данных от агентов в Data Collector или Data Storage​

Smart Beat передает собранные данные в Smart Monitor Data Collector (далее - Data Collector) через пайплайн с input для Smart Beat либо непосредственно в Smart Monitor Data Storage (далее - Data Storage). Получатель определяется настройками output в конфигурации приложения, распространенной на агент через Smart Beat Manager.

Приложение, например Winlogbeat, запускается Smart Beat как отдельный процесс и записывает сообщения в собственный журнал. Пример ошибки разрыва соединения с Data Collector в журнале приложения:

{"log.level":"error","@timestamp":"2026-10-08T12:06:59.598+0300","log.logger":"logstash","log.origin":{"function":"github.com/elastic/beats/v7/libbeat/outputs/logstash.(*msgRef).dec","file.name":"logstash/async.go","file.line":280},"message":"Failed to publish events caused by: write tcp 198.51.100.15:51970->192.0.2.70:5044: wsasend: An existing connection was forcibly closed by the remote host.","service.name":"winlogbeat","ecs.version":"1.6.0"}

Сообщение wsasend: An existing connection was forcibly closed by the remote host означает, что соединение разорвала удаленная сторона: Data Collector либо промежуточный межсетевой экран или балансировщик. Начните диагностику со стороны Data Collector на указанном порту.

Другой пример: ошибка connection refused вместо разрыва установленного соединения:

{"log.level":"error","@timestamp":"2026-10-03T01:22:27.304Z","log.logger":"publisher_pipeline_output","log.origin":{"function":"github.com/elastic/beats/v7/libbeat/publisher/pipeline.(*netClientWorker).run","file.name":"pipeline/client_worker.go","file.line":148},"message":"Failed to connect to backoff(async(tcp://192.0.2.71:5045)): dial tcp 192.0.2.71:5045: connect: connection refused","service.name":"auditbeat","ecs.version":"1.6.0"}

Ошибка connection refused означает, что на указанном адресе и порту нет принимающего сервиса. В отличие от forcibly closed, соединение не устанавливается. Проверьте, что Data Collector запущен и принимает соединения по этому адресу и порту, а конфигурация приложения содержит те же значения.

Что делать​

  • проверьте конфигурацию приложения, распространенную на агент (раздел Приложения на странице Управление Smart Beat): параметр output должен указывать на доступный адрес Data Collector или Data Storage
  • проверьте доступность и состояние принимающего компонента (см. Диагностика проблем Data Collector или Диагностика проблем Data Storage)
  • проверьте совместимость версии агента (ElasticBeat) с версией Data Collector (см. Установка Smart Beat Manager); при несоответствии обновите ElasticBeat до рекомендуемой версии

Приложение не находит дистрибутив агента​

Приложение типа Beat распространяется на агент вместе с архивом соответствующего дистрибутива (см. Файлы). Если агент не может определить нужный дистрибутив, в развернутой карточке клиента в блоке ошибок состояния появляется сообщение no beat for it app.

Что делать​

  1. В развернутой карточке клиента проверьте блок Список файлов: архив нужного типа агента должен быть загружен. Например, для приложения Winlogbeat требуется архив вида winlogbeat-*.zip

  2. Если архив загружен, проверьте журналы приложения. Отсутствие записей означает, что приложение еще не запускалось; перейдите к следующему шагу

  3. Проверьте поле Название в разделе Приложения: название приложения должно начинаться с типа агента, даже если архив дистрибутива назван правильно. Распространенная ошибка - название начинается с windows вместо winlogbeat. Примеры соответствия

    • архиву winlogbeat-8.13.4-windows-x86_64.zip соответствует название приложения, начинающееся с winlogbeat
    • архиву filebeat-9.4.2-linux-x86_64.tar.gz соответствует название, начинающееся с filebeat

    Если название приложения начинается иначе, добавьте тип агента в начало названия и повторно разверните приложение на агенте

Полезные ссылки​