Диагностика проблем Smart Beat и Smart Beat Manager
В статье описана диагностика агента Smart Beat и Smart Beat Manager (SBM). Примеры журналов соответствуют формату реальных сообщений. Номера строк в коде (например, client.go:88) могут различаться между версиями, поэтому ориентируйтесь на текст сообщения и имя логгера.
Условные обозначения
SB_HOME- домашняя директория Smart Beat, обычно/app/smartBeat/(см. Установка Smart Beat для Linux)SBM_HOME- домашняя директория Smart Beat Manager, обычно/app/smartBeatManager/(см. Установка Smart Beat Manager)
Статус служб
Проверьте состояние служб на хостах агента и 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)
Что делать
-
Найдите причину сбоя в журнале службы (см. Журналы): ошибку конфигурации, недоступный сертификат или занятый порт
-
Устраните причину и перезапустите службу
systemctl restart smartBeat.service -
Если служба остается в состоянии
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.
Что делать
-
В развернутой карточке клиента проверьте блок
Список файлов: архив нужного типа агента должен быть загружен. Например, для приложения Winlogbeat требуется архив видаwinlogbeat-*.zip -
Если архив загружен, проверьте журналы приложения. Отсутствие записей означает, что приложение еще не запускалось; перейдите к следующему шагу
-
Проверьте поле
Названиев разделеПриложения: название приложения должно начинаться с типа агента, даже если архив дистрибутива назван правильно. Распространенная ошибка - название начинается сwindowsвместоwinlogbeat. Примеры соответствия- архиву
winlogbeat-8.13.4-windows-x86_64.zipсоответствует название приложения, начинающееся сwinlogbeat - архиву
filebeat-9.4.2-linux-x86_64.tar.gzсоответствует название, начинающееся сfilebeat
Если название приложения начинается иначе, добавьте тип агента в начало названия и повторно разверните приложение на агенте
- архиву