Ограничения брандмауэра для данных с веб-браузеров и мобильных приложений

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

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

Запросы

Запросы

Для полноценной работы анализа пользовательских данных в Ключ-АСТРОМ должны быть доставлены следующие HTTP-запросы:

  • ruxitagentjs_ используется для JavaScript при автоматической инъекции — имя тега может содержать дополнительную информацию, такую как активные модули кода и версия тега. Безагентный способ требует использования ruxitagent_.
  • /rb_<id> и /bf или /bf_<id>являются сигналами монитора, которые RUM JavaScript отправляет обратно в Ключ-АСТРОМ.
    • Монитор использует параметры запроса. Для предыдущей версии протокола beacon 2 они app, flavor, format, referer, session, svrid, type, visitID, size, zip, va, tt, ns, и даже больше. Для нового протокола beacon версии 3 они type, svrid, rf, sn, app, dbg, flavor, vi, modifiedSince, bp, contentType, crc, v, end.
    • POST Тело содержит полезную нагрузку. Полезная нагрузка отправляется с text/plain типом содержимого. Для воспроизведения сеанса application/octet-stream также можно использовать тип содержимого.

Заголовки

RUM использует следующие HTTP-заголовки. Все эти заголовки должны иметь доступ к Ключ-АСТРОМ.

Заголовки запросов

Заголовок Цель
x-dynatrace Используется для объединения транзакций в заголовках HTTP. Устанавливается Единым Агентом для соединения веб-серверов. Убедитесь, что сетевые компоненты, такие как брандмауэры и маршрутизаторы, не настроены на удаление этих заголовков. Неправильная конфигурация может потенциально привести к повреждению распределенных трассировок. Некоторые сетевые компоненты отключают такие запросы и выдают 403 ошибку HTTP, поэтому необходимо настроить эти компоненты для приема x-dynatrace заголовка.
x-dynatrace-application Содержит идентификатор приложения RUM, домен cookie и правило внедрения (noop, auto, before, или after). Также содержит шаблон внедрения, когда injectionRule=after или injectionRule=before.

Используется в случае, если между браузером пользователя и исходным процессом, который доставляет страницу, есть какой-то прокси.

x-dynatrace-origin-url Сохраняет исходный URL-адрес запроса в случае перезаписи URL.
X-dynaTrace-RequestState Отслеживает глубину дерева подпутей, чтобы избежать бесконечных распределенных трассировок.
x-dtpc Определяет надлежащие конечные точки для передачи маяка; включает идентификатор сеанса для корреляции.
x-dtreferer Содержит ссылку на страницу для действия и улучшает результаты корреляции.
x-dtc Содержит информацию для корреляции временных интервалов между источниками.
Cookie Устанавливает dtCookie cookie на случай, если HTTP-запрос их не содержит.
X-Ruxit-Forwarded-For Используется для отслеживания сценариев прокси с помощью модуля кода NGINX.
X-ruxit-Apache-ServerNamePorts Используется модулем Apache code для синхронизации именования служб с модулем PHP code.
X-ruxit-Disposition Используется модулем кода IIS для удаления .Вложенные пути к модулю сетевого кода.
Accept-Encoding Отбрасывается модулем Apache code во время тонкой настройки поведения HTML-инъекции.
Content-Encoding Отбрасывается во время тонкой настройки поведения HTML-инъекции.
If-None-Match Отбрасывается при подавлении кэширования.
If-Not-Modified-Since Отбрасывается при подавлении кэширования.
If-Match Изменяется при подавлении кэширования.
If-Range Изменяется при подавлении кэширования.
tracecontext Используется для маркировки W3C.
referer Содержит адрес предыдущей веб-страницы, с которой была перейдена ссылка на запрашиваемую в данный момент страницу.
user-agent Используется для обнаружения браузера и операционной системы.
x-host Содержит информацию о хосте для доменов, отличных от http.

Заголовки ответов

Заголовок Цель
X-OneAgent-JS-Injection Подтверждает, что был введен RUM JavaScript, чтобы избежать дублирования.

Имеет одно из следующих значений:

  • true: внедрение завершено.
  • block: в это время не следует пытаться выполнить инъекцию.
X-ruxit-JS-Agent Подтверждает, что был введен RUM JavaScript, чтобы избежать дублирования.

Имеет одно из следующих значений:

  • true: внедрение завершено.
  • block: в это время не следует пытаться выполнить инъекцию.
x-dtHealthCheck Содержит результаты диагностики внедрения RUM JavaScript, необходимой для анализа технической поддержкой.
x-dtAgentId Если проверка работоспособности RUM включена, любой задействованный модуль кода ЕА добавляет сюда свой идентификатор. Устанавливается для ответов на специальные запросы.
x-dtInjectedServlet