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

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

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

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

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

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

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

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

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

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

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

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

1. Убедитесь, что у вас есть соответствующая среда сборки для вашей системы, состоящая из GCC, Make и Autoconfig.

2. Соберите и установите библиотеку инструментов с помощью pickle.

php pickle.phar install opentelemetry

3. Добавьте вновь скомпилированную библиотеку как расширение к вашему php.ini.

extension=opentelemetry.so

4. Перезапустите PHP и убедитесь, что расширение загружено.

  • Из командной строки, с помощью php -m
  • В рамках веб-сервера, путем вызова phpinfo()

5. Установите SDK и другие зависимости.

  • необходимо Установите SDK для OpenTelemetry PHP.
  • необязательно В зависимости от библиотек, используемых вашим приложением, вам может потребоваться добавить другие библиотеки инструментирования в зависимости. Список поддерживаемых библиотек можно найти в реестре OpenTelemetry .
  • необходимо Вам необходимо использовать автозагрузку композитора , поскольку это механизм, который все пакеты автоинструментации используют для своей регистрации.

6. Настройте следующие переменные среды.

OTEL_PHP_AUTOLOAD_ENABLED=true

OTEL_SERVICE_NAME=php-quickstart

OTEL_PROPAGATORS=baggage,tracecontext

OTEL_EXPORTER=otlp

OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf

OTEL_EXPORTER_OTLP_ENDPOINT=[URL]

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

OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta

Замените [URL] и [TOKEN] соответствующими значениями.

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

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

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

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

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

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

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

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

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

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