Мониторинг Java приложений с помощью Proto Observability
Подключение трейсинга и сбора метрик для Java приложений.
Трейсинг (трассировка, tracing) - это процесс отслеживания и записи детальной информации о выполнении приложения для целей исправления ошибок в его работе или неудовлетворительного времени отклика. Трейсинг позволяет разработчикам, командам DevOps и мониторинга анализировать время исполнения функций, весь путь прохождения запросов от сервиса к сервису (для микросервисных приложений), взаимодействие между различными частями системы и как результат оперативно находить узкие места в работе приложений и сервисов.
Trace – слепок пути запроса. Содержит набор связанных span’ов, представляющих все шаги обработки запроса.
Span – операция, выполняемая в процессе запроса. Например, вызов базы данных или HTTP-запрос к микросервису. Трейсер присваивает уникальный идентификатор (Span ID), временные метки (начало и конец выполнения), метки (tags) и логи (logs) для предоставления детальной информации об исполнении запроса.
Parent-Child Relationship – иерархическая связь между span’ами, показывающая последовательность выполнения операций (например, вызов одного микросервиса другим).
Идентификаторы
Временные метки (Timestamps) – указывают время начала и завершения span’а, что помогает измерять задержки и длительность.
Метки (Tags) – это статические или динамические ключ-значения, описывающие контекст span’а. Часто используются для фильтрации и поиска операций. Пример: http.method=GET, db.statement=SELECT * FROM users.
Пользовательские данные – дополнительные поля, специфичные для приложения и содержащие информацию о пользователе. Пример: user.id=12345.
Состояние операции – статус span (например, status=success или status=error), HTTP или GRPC статус-коды (http.status_code=200).
Логи, записанные в процессе выполнения операции – это набор событий или сообщений, записанных во время исполнения span, которые дают дополнительную информацию о состоянии, ошибках или ключевых этапах. Они помогают понять, что именно происходило во время выполнения определенного шага запроса. Пример: error=true, exception=“TimeoutException: database query exceeded limit”, execution_time=45ms, result_size=128KB.
Proto Observability Platform предоставляет автоматический, end-to-end распределенный трейсинг для приложений, написанных на всех популярных языках программирования.
Перед подключением трейсера от Proto Observability убедитесь, что у вас уже установлены агенты ProtoOBP.
Для подключения трейсера воспользуйтесь инструкциями ниже.
Подключение трейсинга и сбора метрик для Java приложений.
Подключение трейсинга для PHP приложений.
Подключение трейсинга и сбора метрик для Node.js приложений.
Подключение трейсинга и сбора метрик для Python приложений.
Подключение трейсинга и сбора метрик для Go приложений.
Подключение трейсинга и сбора метрик для .NET приложений.
Подключение трейсинга c помощью OpenTelemetry.