Перейти к содержанию

Диагностика лог-коллектора

Общие действия по диагностике лог-коллектора:

  1. Проверка конфигурационного файла.
  2. Проверка состояния службы
  3. Проверка файлов журнала.
  4. Решение известных проблем.

Проверка конфигурационного файла

Расположение конфигурационного файла:

  • ОС 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) – адрес сетевого интерфейса, используемого лог-коллектором.

Логика настройки конфигурационного файла должна соответствовать следующей:

  1. В секции collectors присутствуют источники событий.
  2. В секции senders присутствуют получатели событий.
  3. В секции route настроены правила перенаправления событий.
  4. В секции 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

    После выполнения всех действий перезапустите службу лог-коллектора.