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

Материал из Документация Ключ-АСТРОМ
Версия от 18:49, 9 октября 2025; IKuznetsov (обсуждение | вклад) (Новая страница: «В этом пошаговом руководстве показано, как добавить наблюдаемость в ваше приложение '''Pyt...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

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

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

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

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

Определение базового URL API

Подробную информацию о сборке базового URL-адреса конечной точки OTLP см. в разделе Экспорт с помощью OTLP. URL-адрес должен заканчиваться на /api/v2/otlp.

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

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

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

Инструментирование своего приложения

В следующем примере показано, как автоматически настроить все доступные и применимые библиотеки инструментирования opentelemetry-distro. Вместо этого вы можете пропустить шаги 1 и 2 и выборочно добавить библиотеки инструментирования opentelemetry-instrumentation, установив их вручную.

1. Используйте pip для установки следующих пакетов.

pip install opentelemetry-distro

pip install opentelemetry-exporter-otlp

2. Выполните следующую команду для инициализации и начальной загрузки автоматического инструментария.

opentelemetry-bootstrap -a install

3. Настройте следующие переменные среды, чтобы задать сведения о службе и экспорте, заменив [URL] и [TOKEN] значениями для базового URL-адреса и токена доступа .

OTEL_EXPORTER_OTLP_ENDPOINT=[URL]

OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token%20[TOKEN]"

OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta

OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf

OTEL_SERVICE_NAME="python-quickstart"

URL-кодирование в переменных среды

Обратите внимание, что пробел кодируется так, как если бы переменная следовала соглашению о контексте корреляции OTEL_EXPORTER_OTLP_HEADERS, а ее значение должно быть кодировано процентами %20.

4. Запустите приложение opentelemetry-instrument с помощью агента.

opentelemetry-instrument python myapp.py

Добавление телеметрических сигналов вручную (необязательно)

Поскольку автоматическое инструментирование на Python не предоставляет предварительно настроенных поставщиков трассировщиков и измерителей, вам необходимо будет выполнить шаги инициализации и инструментирования , описанные в разделе Ручное инструментирование вашего приложения Python с помощью OpenTelemetry, если вы хотите вручную добавлять пользовательские сигналы (такие как трассировки и метрики) поверх автоматического инструментирования.

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

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

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

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

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

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

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

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

Чтобы сделать это для трассировок, перейдите в раздел Трассировки и выберите вкладку Распределенные трассировки. Если вы используете ЕдиныйАгент, выберите PurePaths .

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