Автоматическое внедрение OpenTelemetry в Java-приложение

Материал из Документация Ключ-АСТРОМ

В этом пошаговом руководстве показано, как добавить возможность наблюдения в ваше приложение Java с помощью автоматического агента инструментирования для OpenTelemetry Java.

Расширение с помощью ЕдиногоАгента

В настоящее время невозможно автоматически дополнять сервисы информацией, относящейся к хосту. Для этого потребуется перейти на ручное инструментирование.

Получите данные для доступа к Ключ-АСТРОМ

Определить базовый URL API

Подробную информацию о том, как собрать базовый URL-адрес конечной точки OTLP, см. в разделе Экспорт с помощью OTLP.

URL-адрес должен заканчиваться на /api/v2/otlp.

Получить токен доступа API

Токен доступа для сбора трассировок, логов и метрик можно создать в разделе Токены доступа .

Экспорт с помощью OTLP содержит более подробную информацию о формате и необходимых областях доступа.

Инструментируйте свое приложение

  1. Загрузите последний файл агента opentelemetry-javaagent.jar и сохраните его в директории, доступной вашему приложению (например, libs).
  2. Настройте следующие переменные среды, чтобы задать параметры службы и протокола. При экспорте с использованием OTLP также задайте соответствующие значения переменным URL и токена.
    OTEL_EXPORTER_OTLP_ENDPOINT=[URL]
    OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token [TOKEN]"
    OTEL_RESOURCE_ATTRIBUTES="service.name=java-quickstart,service.version=1.0.1"
    OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta
  3. Включите параметр -javaagent в команду вызова Java и укажите путь к файлу агента. Например, если вы запустили приложение из командной строки:
    java -javaagent:/PATH/TO/opentelemetry-javaagent.jar -jar myapplication.jar

Обеспечьте распространение контекста

Распространение контекста особенно важно, когда задействованы сетевые вызовы (например, REST).

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

Настройте сбор данных в соответствии с требованиями конфиденциальности (необязательно)

Хотя Ключ-АСТРОМ автоматически собирает все атрибуты OpenTelemetry, в веб-интерфейсе Ключ-АСТРОМ сохраняются и отображаются только значения атрибутов, указанные в списке разрешенных. Это предотвращает случайное сохранение персональных данных, позволяя вам соблюдать требования к конфиденциальности и контролировать объем хранимых данных мониторинга.

Чтобы просматривать пользовательские атрибуты, необходимо сначала разрешить их использование в веб-интерфейсе Ключ-АСТРОМ.

Проверка загрузки данных в Ключ-АСТРОМ

После завершения инструментирования вашего приложения выполните несколько тестовых действий для создания и отправки демонстрационных трассировок, метрик и логов, а также проверьте, что они были правильно загружены в Ключ-АСТРОМ.

Чтобы сделать это для трассировок, перейдите в раздел Distributed Tracing или Distributed Traces Classic и выберите вкладку Ingested traces. Если вы используете ЕдиныйАгент, выберите PurePaths.

Для просмотра метрик и логов перейдите в раздел Метрики или Логи или Журналы и события.