Устранение неполадок

Информация о возможных сценариях устранения неполадок.

Если нет трейсов и метрик от приложений в интерфейсе

Трейсы и метрики проходят следующий путь от приложения до отображения в интерфейсе:

Приложение > Трейсер ProtoOBP > Агент ProtoOBP > Бэкенд ProtoOBP

На каждом этапе возможно повление причин того, что данные не отображаются в интерфейсе ProtoOBP. Ниже рассмотрены возможные причины и способы решения.

Уровень приложения

Трейсы генерируются только в случае наличия запросов к приложению. Если приложение запущено, но никакая работа не выполняется (нет входящих или исходящих вызовов, нет healthcheck и тд) – трейсов не будет. Для появления трейсов следует дать нагрузку на приложение, например, зайти на веб-интерфейс подключаемого приложения, отослать к нему тестовый запрос и тд.

Уровень трейсера

Трейсер может быть может быть некорректно инициализирован, может использовать некорректные адреса для отправки данных. Необходимо проверить переменные инициализации трейсера, сетевую связность с агентом, а также логи трейсера на предмет ошибок (ошибки связи с агентом также будут в логах):

  • Обратите внимание на переменную окружения POBP_AGENT_HOST – она должна указывать на адрес агента, доступный для трейсера
  • Проведите диагностику и проверку логов трейсера .NET
  • Проверьте сетевую связность трейсера с агентом (выполняется из пода/контейнера с приложением, замените имя агента на актуальное):
    curl http://agent-address:8126
    

Уровень агента

  • Убедитесь, что агент успешно установлен и подключен и появился в веб-интерфейсе системы.

  • Выполните проверку корректности работы агента

  • Проверьте сетевую связность с бэкендом:

    • Проверьте сетевую связность сервера агента с бэкендом (с сервера с установленным агентом):
      curl http://backend-address
      curl https://backend-address
      
    • Проверьте успешную отправку данных в бэкенд, в случае агента в Docker:
      docker logs protoobp-agent 2>&1 | grep "Successfully"
      
      пример вывода команды:
      2024-11-15 14:45:45 UTC | CORE | INFO | (pkg/forwarder/transaction/transaction.go:375 in internalProcess) | Successfully posted payload to "https://backend-04/intake/?api_key=***************************aa111", the agent will only log transaction success every 500 transactions
      
    • Проверьте успешную отправку данных в бэкенд, в случае агента в Linux:
      grep Successfully /var/log/protoobp/agent.log
      
      пример вывода команды:
      2024-11-15 09:26:56 UTC | CORE | INFO | (pkg/forwarder/transaction/transaction.go:380 in internalProcess) | Successfully posted payload to "http://backend-04/api/v1/check_run?api_key=***************************-111"
      2024-11-15 09:56:21 UTC | CORE | INFO | (pkg/forwarder/transaction/transaction.go:380 in internalProcess) | Successfully posted payload to "http://backend-04/api/v1/series?api_key=***************************-111"
      
  • Проверьте, что в файлах конфигурации агента указаны корректные значения адресов бэкенда:

    • адреса бэкенда должны быть указаны с префиксом http:// или https:// и без символа / в конце строки
    • если на бэкенде в переменной окружения UI_URL указано значение с префиксом http://, то на агентах также необходимо указывать http:// (без s)
    • если на бэкенде в переменной окружения UI_URL указано значение с префиксом https://, то на агентах может быть указан как префикс http://, так и https:// (обратное неверно)
    • в случае с агентом для Windows после установки нужно в любом случае изменить конфигурацию, даже если в мастере установки значения указывались (мастер установки может не все значения корректно записать в файл конфигурации)
  • Проверьте логи агента на предмет ошибок

Уровень бэкенда

  • Проверьте логи компонента proto-nginx.

    • Через веб-интерфейс ProtoOBP. Перейдите в раздел Диагностика Логи бэкенда > proto-nginx.

    • или через терминал, на сервере бэкенда введите:

      docker logs proto-nginx
      

      Проверьте, есть ли какие-то ошибки в логе.
      Ошибки доступа к эндпоинту POST /api/v0.2/stats HTTP/1.1 можно игнорировать.

  • Проверьте логи компонента proto-trace-processor.

    • Через веб-интерфейс ProtoOBP. Перейдите в раздел Диагностика Логи бэкенда > proto-trace-processor.

    • или через терминал, на сервере бэкенда выполните:

      docker logs proto-trace-processor
      

      Проверьте, есть ли какие-то ошибки в логе. Например, ошибка активации лицензии или ошибки обработки.

  • Проверьте доступное место на диске.

    • В веб-интерфейсе ProtoOBP зайдите в раздел Инфраструктура > Хосты, выберите хост, на котором размещается компонент proto-storage, перейдите на вкладку Диски.

    • Или в терминале на том сервере, на котором расположен компонент proto-storage, выполните:

      df -h
      

      Если на диске, на котором хранятся данные, осталось меньше 10% свободного места – трейсы записываться не будут.

  • Проверьте значение метрики consumer lag с тегом protoobp-consumer в дашборде Инфраструктура > Kafka > хост бэкенда.

    • Значение не должно постоянно возрастать без уменьшения. Если значение постоянно возрастает, это говорит о нехватке системных ресурсов на сервере бэкенда. Обратитесь в техническую команду вендора или системного интегратора за дальнейшими рекомендациями.