Ограничения брандмауэра для данных с веб-браузеров и мобильных приложений
Мониторинг пользовательских данных использует технологии HTTP для отправки данных о производительности из браузеров конечных пользователей в Dynatrace. Для этого RUM JavaScript внедряется на веб-страницы приложения. Этот тег или фрагмент кода взаимодействует с Dynatrace. Однако вы должны проверить конфигурацию своих брандмауэров, прокси-серверов и веб-серверов, чтобы обеспечить прохождение всех необходимых данных.
Запросы
Запросы
Для полноценной работы анализа пользовательских данных в Dynatrace должны быть доставлены следующие HTTP-запросы:
ruxitagentjs_используется для JavaScript при автоматической инъекции — имя тега может содержать дополнительную информацию, такую как активные модули кода и версия тега. Безагентный способ требует использованияruxitagent_.
/rb_<id>и/bfили/bf_<id>являются сигналами монитора, которые RUM JavaScript отправляет обратно в Dynatrace.- Монитор использует параметры запроса. Для предыдущей версии протокола 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также можно использовать тип содержимого.
- Монитор использует параметры запроса. Для предыдущей версии протокола beacon 2 они 
 
Заголовки
RUM использует следующие HTTP-заголовки. Все эти заголовки должны иметь доступ к Dynatrace.
Заголовки запросов
| Заголовок | Цель | 
|---|---|
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, чтобы избежать дублирования.
 Имеет одно из следующих значений: 
 
  | 
X-ruxit-JS-Agent
 | 
Подтверждает, что был введен RUM JavaScript, чтобы избежать дублирования.
 Имеет одно из следующих значений: 
 
  | 
x-dtHealthCheck
 | 
Содержит результаты диагностики внедрения RUM JavaScript, необходимой для анализа технической поддержкой. | 
x-dtAgentId
 | 
Если проверка работоспособности RUM включена, любой задействованный модуль кода ЕА добавляет сюда свой идентификатор. Устанавливается для ответов на специальные запросы. | 
x-dtInjectedServlet
 | 
Содержит полное имя введенного сервлета или фильтра. | 
Set-Cookie
 | 
Устанавливает файл cookie состояния сеанса Единого Агента. | 
ETag
 | 
Единый агент добавляет пользовательскую строку к исходному ETag заголовку ответа, чтобы отслеживать изменения в конфигурации приложения.
 | 
Last-modified
 | 
Если заголовок ETag ответа обрабатывается, Единый Агент также вычитает 1 секунду из исходного значения этого заголовка. Устанавливается для ответов на специальные запросы.
 | 
Content-Length
 | 
Адаптировано после внедрения HTML. Устанавливается для ответов на специальные запросы. | 
Vary
 | 
Адаптировано во время внедрения HTML в сжатые ответы. Устанавливается для ответов на специальные запросы. | 
Content-Encoding
 | 
Адаптировано во время внедрения HTML в сжатые ответы. | 
Content-Type
 | 
Устанавливается для ответов на специальные запросы. | 
Access-Control-Allow-Origin
 | 
Устанавливается для ответов на специальные запросы. | 
Cache-Control
 | 
Устанавливается для ответов на специальные запросы. | 
Server-Timing
 | 
Используется для передачи информации, которая имеет отношение к корреляции RUM. | 
Timing-Allow-Origin
 | 
Позволяет RUM JavaScript получать доступ к информации, которая имеет отношение к корреляции RUM, в случае запросов из разных источников. | 
Access-Control-Allow-Headers
 | 
Устанавливается для ответов на специальные запросы. | 
Access-Control-Allow-Methods
 | 
Устанавливается для ответов на специальные запросы. | 
Access-Control-Max-Age
 | 
Устанавливается для ответов на специальные запросы. | 
Файлы cookie
RUM использует следующие файлы cookie. Все это должно быть доступно для Dynatrace.
| Cookie | Максимальный размер | Цель | 
|---|---|---|
dtCookie
 | 
Нет установленного ограничения, но обычно менее 100 B | Отслеживает посещение по нескольким запросам. | 
dtLatC
 | 
5 B | Измеряет задержку сервера для мониторинга производительности. | 
dtPC
 | 
58 B | Определяет надлежащие конечные точки для передачи маяка; включает идентификатор сеанса для корреляции. | 
dtSa
 | 
Максимальная длина URL-адреса | Служит промежуточным хранилищем для действий, охватывающих страницы. | 
dtValidationCookie
 | 
Длина dTValidationCookieValue строки, то есть 23
 | 
Определяет домен верхнего уровня. | 
dtDisabled
 | 
4 B | Определяет, следует ли деактивировать RUM JavaScript из-за затрат и контроля трафика или предотвращения перегрузки. | 
rxVisitor
 | 
45 B | Содержит идентификатор посетителя для сопоставления сеансов. | 
rxvt
 | 
27 B | Включает временную метку тайм-аута сеанса. | 
Мобильный RUM
Единый Агент для мобильных устройств использует x-dynatrace заголовок для пометки HTTP-запросов. Dynatrace использует этот заголовок, чтобы связать мобильную часть веб-запроса с сервисной частью, захваченной другим Единым Агентом.
Для гибридных приложений файл dtAdk cookie позволяет присоединяться к сеансу из Единого Агента для мобильных устройств и сеансу из RUM JavaScript, чтобы эти сеансы отображались как один сеанс, в то время dtAdkSettings как файл cookie используется для синхронизации настроек между Единым Агентом для мобильных устройств и RUM JavaScript.
/mbeacon это сигнал монитора, который Единый Агент для мобильных устройств отправляет обратно в Ключ АСТРОМ, если данные передаются через Активный Шлюз. Если данные отправляются другому Единому агенту, сигнал монитора будет/dtmb.