Диагностика лог-коллектора
Общие действия по диагностике лог-коллектора:
- Проверка конфигурационного файла.
- Проверка состояния службы
- Проверка файлов журнала.
- Решение известных проблем.
Проверка конфигурационного файла
Расположение конфигурационного файла:
- ОС Windows:
%ProgramFiles%\Log Collector\config.yaml
; - ОС Linux:
/opt/pangeoradar/configs/logcollector/config.yaml
.
Для корректной работы лог-коллектора в конфигурационном файле должны быть заданы, как минимум, следующие параметры:
license_path
– путь к файлу лицензии;url
(секцияcluster
) – адрес API для подключения к Платформе;api_key
(секцияcluster
) – ключ API, сгенерированный в настройках кластера Платформы Радар;address
(секцияapi_server
) – адрес сетевого интерфейса, используемого лог-коллектором.
Логика настройки конфигурационного файла должна соответствовать следующей:
- В секции
collectors
присутствуют источники событий. - В секции
senders
присутствуют получатели событий. - В секции
route
настроены правила перенаправления событий. - В секции
routers
заданы действующие маршруты пересылки событий.
Проверка состояния службы Log Collector
Внимание! После внесения любых изменений в конфигурационный файл
config.yaml
необходимо перезапустить службу лог-коллектора
ОС Windows
Название службы: PangeoRadarLogCollector
Проверка состояния службы:
# sc query PangeoRadarLogCollector
Если служба находится в состоянии "Работает", в командой строке должен отобразиться следующий вывод:
SERVICE_NAME: PangeoRadarLogCollector
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
ОС Linux
В ОС Linux состав unit-файлов лог-коллектора различается в зависимости от того, каким способом была выполнена установка:
-
В случае если установка была выполнена вручную, в системе создается один unit-файл:
pangeoradar-logcollector-agent.service
.
-
В случае, если установка лог-коллектора была выполнена удаленно из веб-интерфейса Платформы Радар, создается несколько unit-файлов служб:
nginx.service
;pangeoradar-logcollector-agent.service
;node_exporter.service
.
Выполнение диагностики осуществляется стандартными средствами ОС Linux:
# systemctl status <unit_file>
# sudo journalctl -u <unit_file>
Проверка файлов журнала
В случае, если конфигурация в файле config.yaml
была задана некорректно, в директории с исполняемым файлом лог-коллектора создается файл журнала logcollector.crash.log
с описанием возникшей ошибки.
Расположение журнала:
- ОС Windows –
%ProgramFiles%\Log Collector
; - ОС Linux –
/var/log/logcollector/crash.log
.
Для регистрации событий в процессе работы лог-коллетора используется журнал journal.log
.
Расположение журнала:
- ОС Windows –
%ProgramFiles%\Log Collector\journal.log
; - ОС Linux –
/var/log/logcollector/journal.log
.
Уровень журналирования настраивается в конфигурационном файле config.yaml
, секция journal
, параметр log_level
. Подробнее см. раздел Настройка лог-коллектора. Журнал.
Решение известных проблем
Ошибки, отображаемые в журнале logcollector.crash.log
:
-
Отсутствует файл лицензии и/или указан неверный путь до нее
Пример ошибки
open C:/Program Files (x86)/LOGCOLLECTOR//pgr-agent.lic: The system cannot find the file specified
Как исправить
Для того чтоб ошибка не возникала необходимо указать правильный путь до файла лицензии или скопировать его по указанному, в ошибке, пути.
-
Отсутствует секция collectors в конфигурационном файле
Пример ошибки
2024/09/20 09:31:06 should be at least one collector
Как исправить
В конфигурационный файл
config.yaml
необходимо добавить секцию collectors.
Ошибки, отображаемые в журнале service.log
:
-
Неудачная попытка подключения
Пример ошибки
service=api_gate level=ERROR time=2024-10-07T18:23:59+03:00 message=Post " https://192.168.250.254:9000/cm/api/agent/ ": dial tcp 192.168.250.254:9000: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Как исправить
Проверьте доступность узла к которому выполняется подключение.
Проверьте правильно ли указан адрес платформы в конфигурационном файле
config.yaml
в секцияхcluster: url
иapi_key
После исправления ошибок, перезапустите службу лог-коллектора.
-
Сертификат подписан неизвестным центром сертификации и/или нет доверия к корневому сертификату
Пример ошибки
service=api_gate level=ERROR time=2022-10-07T18:30:17+03:00 message=Post " https://172.30.254.185:9000/cm/api/agent/ ": x509: certificate signed by unknown authority
Как исправить
Выполните "Шаг 4. Установка сертификата для API взаимодействия" и перезапустите службу лог-коллектора.
-
Неправильно указан IP-адрес и порт платформы в секции tcp_output / Не включены и/или не синхронизированы источники в веб-интерфейсе платформы
Пример ошибок
192.168.250.254:5555: connectex: No connection could be made because the target machine actively refused it.
service=outputs_module level=INFO time=2022-10-09T23:26:09+03:00 message=tcp_output stopped. uptime: 1.0186957s
service=tcp_output level=INFO time=2022-10-09T23:26:13+03:00 message=Write message started service=outputs_module level=ERROR time=2022-10-09T23:26:13+03:00 message=tcp_output off. Restarting... service=outputs_module level=INFO time=2022-10-09T23:26:13+03:00 message=sender tcp_output started
service=outputs_module level=ERROR time=2022-10-09T23:26:14+03:00 message=tcp_output start error newConnection: net.Dial: dial tcp
Как исправить
В веб интерфейсе платформы проверьте включен ли Источник, от которого планируется передавать события. Для этого перейдите в раздел Источники → вкладка Активные и проверьте включен ли нужный Источник. После изменения состояния нужного источника нажмите кнопку Синхронизировать.
Проверьте корректность заполненных данных в конфигурационном файле
config.yaml
в секцииtcp_output: target_host, port
После выполнения всех действий перезапустите службу лог-коллектора.