Внедрение Мониторинга реального пользователя JavaScript: различия между версиями
ENetrebin (обсуждение | вклад) |
|||
| Строка 1: | Строка 1: | ||
'''''[[Применение Ключ-АСТРОМ]] / [[Применение Ключ-АСТРОМ#.D0.9C.D0.BE.D0.BD.D0.B8.D1.82.D0.BE.D1.80.D0.B8.D0.BD.D0.B3%20.D1.80.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE%20.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F|Мониторинг реального пользователя]] / Установка и конфигурация / Веб приложения / Начальная конфигурация / Внедрение Мониторинга реального пользователя JavaScript''''' | '''''[[Применение Ключ-АСТРОМ]] / [[Применение Ключ-АСТРОМ#.D0.9C.D0.BE.D0.BD.D0.B8.D1.82.D0.BE.D1.80.D0.B8.D0.BD.D0.B3%20.D1.80.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE%20.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F|Мониторинг реального пользователя]] / Установка и конфигурация / Веб приложения / Начальная конфигурация / Внедрение Мониторинга реального пользователя JavaScript''''' | ||
Компонент Ключ-АСТРОМ Пользовательский опыт (RUM) собирает метрики из веб-браузеров ваших клиентов и сопоставляет данные браузера с информацией на стороне сервера, полученной от Единого Агента. Данные веб-браузера собираются RUM JavaScript, который помещается в HTML веб-страниц ваших веб-приложений. Мы называем это размещение RUM JavaScript | Компонент Ключ-АСТРОМ Пользовательский опыт (RUM) собирает метрики из веб-браузеров ваших клиентов и сопоставляет данные браузера с информацией на стороне сервера, полученной от Единого Агента. Данные веб-браузера собираются RUM JavaScript, который помещается в HTML веб-страниц ваших веб-приложений. Мы называем это размещение RUM JavaScript «внедрением». | ||
== Как работает внедрение RUM JavaScript? == | == Как работает внедрение RUM JavaScript? == | ||
Вы можете инициировать | Вы можете инициировать внедрение одним из двух способов: | ||
* Внедрение JavaScript в ЕдиныйАгент RUM выполняется автоматически для технологий, перечисленных в разделе Технологическая поддержка — Мониторинг реальных пользователей — Веб-серверы и приложения . Все, что вам нужно сделать, чтобы начать внедрение, — это перезапустить процессы вашего веб-сервера после установки Единого Агента. Единый Агент идентифицирует ответы HTML-содержимого и автоматически внедряет RUM JavaScript в раздел заголовка каждой страницы. | * Внедрение JavaScript в ЕдиныйАгент RUM выполняется автоматически для технологий, перечисленных в разделе Технологическая поддержка — Мониторинг реальных пользователей — Веб-серверы и приложения . Все, что вам нужно сделать, чтобы начать внедрение, — это перезапустить процессы вашего веб-сервера после установки Единого Агента. Единый Агент идентифицирует ответы HTML-содержимого и автоматически внедряет RUM JavaScript в раздел заголовка каждой страницы. | ||
| Строка 21: | Строка 21: | ||
Наш RUM JavaScript внедряется только в HTML. Мы не изменяем изображения, CSS, службы REST или XML-файлы. ЕдиныйАгент всегда пытается внедрить свой RUM JavaScript в качестве первого скрипта на странице. Это помогает сохранить ваше веб-приложение в целости, но также гарантирует более надежные результаты мониторинга (например, время). Если вы вставляете RUM JavaScript вручную, убедитесь, что это первый исполняемый скрипт на каждой странице. | Наш RUM JavaScript внедряется только в HTML. Мы не изменяем изображения, CSS, службы REST или XML-файлы. ЕдиныйАгент всегда пытается внедрить свой RUM JavaScript в качестве первого скрипта на странице. Это помогает сохранить ваше веб-приложение в целости, но также гарантирует более надежные результаты мониторинга (например, время). Если вы вставляете RUM JavaScript вручную, убедитесь, что это первый исполняемый скрипт на каждой странице. | ||
== Как контролировать | == Как контролировать внедрение JS? == | ||
Независимо от того, используете ли вы автоматическое внедрение через ЕдиныйАгент или решили вручную вставить RUM JavaScript в свое веб-приложение, Ключ-АСТРОМ предлагает различные форматы внедрения для интеграции RUM в ваше веб-приложение. Но давайте сначала рассмотрим отдельные части, необходимые для интеграции Ключ-АСТРОМ RUM в ваше веб-приложение: | Независимо от того, используете ли вы автоматическое внедрение через ЕдиныйАгент или решили вручную вставить RUM JavaScript в свое веб-приложение, Ключ-АСТРОМ предлагает различные форматы внедрения для интеграции RUM в ваше веб-приложение. Но давайте сначала рассмотрим отдельные части, необходимые для интеграции Ключ-АСТРОМ RUM в ваше веб-приложение: | ||
| Строка 28: | Строка 28: | ||
* по желанию Тег JavaScript , который можно использовать для простой интеграции предыдущих двух частей в ваше веб-приложение в зависимости от выбранного формата. | * по желанию Тег JavaScript , который можно использовать для простой интеграции предыдущих двух частей в ваше веб-приложение в зависимости от выбранного формата. | ||
=== Форматы | === Форматы внедрений JS === | ||
Найдите формат внедрения, который лучше всего подходит для вашего веб-приложения и потребностей, в следующих подразделах, относящихся к каждому типу внедрения. | Найдите формат внедрения, который лучше всего подходит для вашего веб-приложения и потребностей, в следующих подразделах, относящихся к каждому типу внедрения. | ||
| Строка 35: | Строка 35: | ||
* получение через REST API | * получение через REST API | ||
=== | === Автоматическое внедрение === | ||
Автоматическое внедрение поддерживает все форматы внедрения и обеспечивает бесшовные автоматические обновления, выполняемые ЕдиныйАгент. | |||
{| class="wikitable" | {| class="wikitable" | ||
!Формат | !Формат внедрения | ||
!Описание | !Описание | ||
!Кэширование | !Кэширование | ||
| Строка 46: | Строка 46: | ||
|- | |- | ||
|Все форматы | |Все форматы | ||
|Ключ-АСТРОМ ЕдиныйАгент может использовать все форматы | |Ключ-АСТРОМ ЕдиныйАгент может использовать все форматы внедрения, перечисленные в разделе « Вставка вручную » , для автоматической интеграции RUM в ваше приложение. | ||
Единственным исключением является формат тега JavaScript, поскольку тег JavaScript ЕдиныйАгент по сути такой же, с той разницей, что включает конфигурацию , поскольку ЕдиныйАгент может автоматически обновлять ее. | Единственным исключением является формат тега JavaScript, поскольку тег JavaScript ЕдиныйАгент по сути такой же, с той разницей, что включает конфигурацию , поскольку ЕдиныйАгент может автоматически обновлять ее. | ||
| Строка 52: | Строка 52: | ||
| | | | ||
| | | | ||
|Используйте, когда | |Используйте, когда возможно автоматическое внедрение в ваше веб-приложение. Независимо от выбранного формата внедрения ЕдиныйАгент автоматически обновит вашу конфигурацию и код мониторинга . | ||
|} | |} | ||
=== Ручная вставка === | === Ручная вставка === | ||
Используйте ручную вставку, когда | Используйте ручную вставку, когда автоматическое внедрение невозможно. В этом случае имейте в виду, что выбор правильного формата внедрения важен, потому что в противном случае вы можете потерять информацию, такую как определенные тайминги или действия пользователя, которые доступны только тогда, когда и код мониторинга RUM, и конфигурация полностью загружены. Это особенно верно в тех случаях, когда этот момент времени может быть отложен. Например, при использовании формата фрагмента кода с отложенным режимом или при использовании диспетчера тегов. Независимо от выбранного вами формата внедрения всегда лучше вставить предоставленный RUM JavaScript как можно раньше в код вашего приложения. | ||
{| class="wikitable" | {| class="wikitable" | ||
!Формат | !Формат внедрения | ||
!Описание | !Описание | ||
!Когда использовать | !Когда использовать | ||
| Строка 86: | Строка 86: | ||
Используйте его только в целях тестирования или в сочетании с полностью автоматическими обновлениями API встроенного кода , чтобы убедиться, что код мониторинга и конфигурация всегда актуальны. | Используйте его только в целях тестирования или в сочетании с полностью автоматическими обновлениями API встроенного кода , чтобы убедиться, что код мониторинга и конфигурация всегда актуальны. | ||
|} | |} | ||
1 | 1 Имейте в виду, что это требует регулярных обновлений фрагментов кода, чтобы гарантировать совместимость. | ||
2 используйте собственный CDN. | |||
2 | |||
используйте собственный CDN. | |||
Для всех форматов внедрения, за исключением отложенного фрагмента кода ( <code>asyncCS</code>) , полная функциональность кода мониторинга загружается синхронно. | Для всех форматов внедрения, за исключением отложенного фрагмента кода ( <code>asyncCS</code>) , полная функциональность кода мониторинга загружается синхронно. | ||
| Строка 99: | Строка 95: | ||
{| class="wikitable" | {| class="wikitable" | ||
|Настроено в Ключ-АСТРОМ. | |Настроено в Ключ-АСТРОМ. | ||
|Код мониторинга и конфигурация обновляются в соответствии с продолжительностью кэширования, пока изменения не станут активными. Вы можете настроить продолжительность кэширования при настройке | |Код мониторинга и конфигурация обновляются в соответствии с продолжительностью кэширования, пока изменения не станут активными. Вы можете настроить продолжительность кэширования при настройке внедрения. | ||
|- | |- | ||
|Настроено на ваших серверах | |Настроено на ваших серверах | ||
| Строка 112: | Строка 108: | ||
Если ваши группы процессов оснащены ЕдиныйАгент и для вашей технологии поддерживается автоматическое внедрение, вы все равно можете вставить RUM JavaScript вручную, если хотите. | Если ваши группы процессов оснащены ЕдиныйАгент и для вашей технологии поддерживается автоматическое внедрение, вы все равно можете вставить RUM JavaScript вручную, если хотите. | ||
Чтобы подавить | Чтобы подавить автоматическое внедрение и вручную вставить RUM JavaScript | ||
# В меню Ключ-АСТРОМ выберите Web . | # В меню Ключ-АСТРОМ выберите Web . | ||
| Строка 121: | Строка 117: | ||
# В разделе «Определите собственные правила инжекта» выберите « Добавить пользовательское правило » . | # В разделе «Определите собственные правила инжекта» выберите « Добавить пользовательское правило » . | ||
# Определите оператора и, при необходимости, соответствующий шаблон URL -адреса, чтобы контролировать, на каких страницах вам нужно подавить | # Определите оператора и, при необходимости, соответствующий шаблон URL -адреса, чтобы контролировать, на каких страницах вам нужно подавить автоматическое внедрение. | ||
# В разделе Правило выберите Не инжектировать . | # В разделе Правило выберите Не инжектировать . | ||
# Выберите Добавить , чтобы сохранить пользовательское правило | # Выберите Добавить , чтобы сохранить пользовательское правило внедрения. | ||
# Перейдите на вкладку Вставка вручную , выберите нужный формат | # Перейдите на вкладку Вставка вручную , выберите нужный формат внедрения и скопируйте предоставленный фрагмент. | ||
== Как обеспечить своевременное обновление конфигурации для | == Как обеспечить своевременное обновление конфигурации для автоматического внедрения? == | ||
🟢Включено по умолчанию | 🟢Включено по умолчанию | ||
| Строка 148: | Строка 144: | ||
* <code>If-Match</code>1 | * <code>If-Match</code>1 | ||
1 | 1 Не изменено для запросов диапазона, которые обычно исключаются из мониторинга RUM. | ||
Не изменено для запросов диапазона, которые обычно исключаются из мониторинга RUM. | |||
ЕдиныйАгент не изменяет заголовки <code>Expires</code>и <code>Cache-Control</code>, которые содержат явное время истечения срока действия ресурсов. Чтобы гарантировать своевременные обновления, мы рекомендуем указывать более короткие сроки действия в этих заголовках. | ЕдиныйАгент не изменяет заголовки <code>Expires</code> и <code>Cache-Control</code>, которые содержат явное время истечения срока действия ресурсов. Чтобы гарантировать своевременные обновления, мы рекомендуем указывать более короткие сроки действия в этих заголовках. | ||
Вот как ЕдиныйАгент изменяет заголовки управления кешем. | Вот как ЕдиныйАгент изменяет заголовки управления кешем. | ||
| Строка 158: | Строка 152: | ||
==== При изменении конфигурации RUM ==== | ==== При изменении конфигурации RUM ==== | ||
* Заголовки входящих сообщений <code>If-None-Match</code>и <code>If-Modified-Since</code>запросов удаляются. | * Заголовки входящих сообщений <code>If-None-Match</code> и <code>If-Modified-Since</code> запросов удаляются. | ||
* Изменения, внесенные в заголовки <code>If-Unmodified-Since</code>и <code>If-Match</code>, удаляются. | * Изменения, внесенные в заголовки <code>If-Unmodified-Since</code> и <code>If-Match</code>, удаляются. | ||
* Когда используются оба <code>ETag</code>и <code>Last-Modified</code>заголовки: | * Когда используются оба <code>ETag</code> и <code>Last-Modified</code> заголовки: | ||
** <code>ETag</code> | ** К заголовку <code>ETag</code> добавляется суффикс . | ||
** Одна секунда вычитается из <code>Last-Modified</code> | ** Одна секунда вычитается из заголовка <code>Last-Modified</code>. | ||
* Когда <code>ETag</code> | * Когда используется только заголовок <code>ETag</code>: | ||
** <code>ETag</code> | ** К заголовку добавляется суффикс <code>ETag</code>. | ||
* Когда <code>Last-Modified</code> | * Когда используется только заголовок <code>Last-Modified</code>: | ||
** Заголовок <code>ETag</code>создан. | ** Заголовок <code>ETag</code> создан. | ||
** Одна секунда вычитается из <code>Last-Modified</code> | ** Одна секунда вычитается из заголовка <code>Last-Modified</code>. | ||
==== Когда конфигурация RUM не изменена ==== | ==== Когда конфигурация RUM не изменена ==== | ||
| Строка 173: | Строка 167: | ||
* Прежде чем запрос будет обработан веб-сервером или сервером приложений, изменения, внесенные в заголовки, удаляются, чтобы веб-сервер или сервер приложений не видел изменений. | * Прежде чем запрос будет обработан веб-сервером или сервером приложений, изменения, внесенные в заголовки, удаляются, чтобы веб-сервер или сервер приложений не видел изменений. | ||
Если приложение состоит из нескольких инструментированных уровней, изменения заголовков <code>ETag</code>и <code>Last-Modified</code>применяются на каждом уровне. | Если приложение состоит из нескольких инструментированных уровней, изменения заголовков <code>ETag</code> и <code>Last-Modified</code> применяются на каждом уровне. | ||
=== Оптимизация заголовка кеша для ресурсов, отличных от HTML === | === Оптимизация заголовка кеша для ресурсов, отличных от HTML === | ||
| Строка 185: | Строка 179: | ||
Чтобы отключить оптимизацию заголовка управления кешем | Чтобы отключить оптимизацию заголовка управления кешем | ||
# В меню Ключ-АСТРОМ выберите Веб . | # В меню Ключ-АСТРОМ выберите '''Веб-приложения'''. | ||
# Выберите приложение, которое вы хотите настроить. | # Выберите приложение, которое вы хотите настроить. | ||
# В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Ред . | # В правом верхнем углу страницы обзора приложения выберите '''Дополнительно ( … ) > Ред'''. | ||
# В настройках приложения перейдите в | # В настройках приложения перейдите в '''Захват > Расширенная настройка'''. | ||
# В разделе | # В разделе '''Настройки cookie и заголовков''' отключите параметр '''Оптимизировать значение заголовков управления кешем для использования с Ключ-АСТРОМ для мониторинга реальных пользователей'''. | ||
Если вы отключите эту функцию для одного из ваших приложений, время, необходимое для развертывания новой конфигурации RUM, будет зависеть исключительно от режима кэширования вашего приложения. | Если вы отключите эту функцию для одного из ваших приложений, время, необходимое для развертывания новой конфигурации RUM, будет зависеть исключительно от режима кэширования вашего приложения. | ||
Текущая версия на 20:52, 21 августа 2025
Применение Ключ-АСТРОМ / Мониторинг реального пользователя / Установка и конфигурация / Веб приложения / Начальная конфигурация / Внедрение Мониторинга реального пользователя JavaScript
Компонент Ключ-АСТРОМ Пользовательский опыт (RUM) собирает метрики из веб-браузеров ваших клиентов и сопоставляет данные браузера с информацией на стороне сервера, полученной от Единого Агента. Данные веб-браузера собираются RUM JavaScript, который помещается в HTML веб-страниц ваших веб-приложений. Мы называем это размещение RUM JavaScript «внедрением».
Как работает внедрение RUM JavaScript?
Вы можете инициировать внедрение одним из двух способов:
- Внедрение JavaScript в ЕдиныйАгент RUM выполняется автоматически для технологий, перечисленных в разделе Технологическая поддержка — Мониторинг реальных пользователей — Веб-серверы и приложения . Все, что вам нужно сделать, чтобы начать внедрение, — это перезапустить процессы вашего веб-сервера после установки Единого Агента. Единый Агент идентифицирует ответы HTML-содержимого и автоматически внедряет RUM JavaScript в раздел заголовка каждой страницы.
- В качестве альтернативы вы можете вставить RUM JavaScript в HTML-код вашего веб-приложения вручную, не устанавливая ЕдиныйАгент. Мы предоставляем вам RUM JavaScript в процессе установки. Вы можете вставить тег на страницы, которые вы собираетесь отслеживать.
Для управления закачкой можно использовать альтернативные форматы закачки .
В зависимости от того, как вы включаете RUM, данные мониторинга отправляются в Ключ-АСТРОМ в различных типах запросов:
- Если у вас установлен ЕдиныйАгент: RUM JavaScript отправляет данные обратно на ваш веб-сервер или сервер приложений. ЕдиныйАгент выполняет некоторый первоначальный мониторинг данных, а затем перенаправляет их в кластер Ключ-АСТРОМ. Данные передаются с помощью запросов XHR POST. По умолчанию конечная точка маяка относится к текущему домену. Также возможно отправлять данные через АктивныйШлюз.
- Если у вас не установлен ЕдиныйАгент: данные отправляются непосредственно в Ключ-АСТРОМ, минуя вашу инфраструктуру.
Куда внедряется RUM JavaScript?
Ключ-АСТРОМ RUM JavaScript работает только с действительным HTML. Грязный код страницы часто является причиной сбоя потока данных мониторинга. Поэтому обратите особое внимание на основные передовые методы работы с HTML, например, убедитесь, что в вашем коде нет незакрытых или отсутствующих тегов.
Наш RUM JavaScript внедряется только в HTML. Мы не изменяем изображения, CSS, службы REST или XML-файлы. ЕдиныйАгент всегда пытается внедрить свой RUM JavaScript в качестве первого скрипта на странице. Это помогает сохранить ваше веб-приложение в целости, но также гарантирует более надежные результаты мониторинга (например, время). Если вы вставляете RUM JavaScript вручную, убедитесь, что это первый исполняемый скрипт на каждой странице.
Как контролировать внедрение JS?
Независимо от того, используете ли вы автоматическое внедрение через ЕдиныйАгент или решили вручную вставить RUM JavaScript в свое веб-приложение, Ключ-АСТРОМ предлагает различные форматы внедрения для интеграции RUM в ваше веб-приложение. Но давайте сначала рассмотрим отдельные части, необходимые для интеграции Ключ-АСТРОМ RUM в ваше веб-приложение:
- Код мониторинга : код JavaScript, который предоставляет вам возможности мониторинга RUM, такие как захват действий пользователя.
- Конфигурация : все настройки, связанные с RUM, которые вы определили в пользовательском интерфейсе Ключ-АСТРОМ, включая активированные модули, такие как воспроизведение сеанса.
- по желанию Тег JavaScript , который можно использовать для простой интеграции предыдущих двух частей в ваше веб-приложение в зависимости от выбранного формата.
Форматы внедрений JS
Найдите формат внедрения, который лучше всего подходит для вашего веб-приложения и потребностей, в следующих подразделах, относящихся к каждому типу внедрения.
- автоматического инжектирование JS
- Ручная вставка
- получение через REST API
Автоматическое внедрение
Автоматическое внедрение поддерживает все форматы внедрения и обеспечивает бесшовные автоматические обновления, выполняемые ЕдиныйАгент.
| Формат внедрения | Описание | Кэширование | Мониторинг обновлений кода | Обновления конфигурации | Когда использовать |
|---|---|---|---|---|---|
| Все форматы | Ключ-АСТРОМ ЕдиныйАгент может использовать все форматы внедрения, перечисленные в разделе « Вставка вручную » , для автоматической интеграции RUM в ваше приложение.
Единственным исключением является формат тега JavaScript, поскольку тег JavaScript ЕдиныйАгент по сути такой же, с той разницей, что включает конфигурацию , поскольку ЕдиныйАгент может автоматически обновлять ее. |
Используйте, когда возможно автоматическое внедрение в ваше веб-приложение. Независимо от выбранного формата внедрения ЕдиныйАгент автоматически обновит вашу конфигурацию и код мониторинга . |
Ручная вставка
Используйте ручную вставку, когда автоматическое внедрение невозможно. В этом случае имейте в виду, что выбор правильного формата внедрения важен, потому что в противном случае вы можете потерять информацию, такую как определенные тайминги или действия пользователя, которые доступны только тогда, когда и код мониторинга RUM, и конфигурация полностью загружены. Это особенно верно в тех случаях, когда этот момент времени может быть отложен. Например, при использовании формата фрагмента кода с отложенным режимом или при использовании диспетчера тегов. Независимо от выбранного вами формата внедрения всегда лучше вставить предоставленный RUM JavaScript как можно раньше в код вашего приложения.
| Формат внедрения | Описание | Когда использовать |
|---|---|---|
Тег JavaScript ( jsTagComplete)
|
Предоставляет вам тег JavaScript, чтобы вручную вставить его в код вашего веб-приложения. Файл JavaScript, на который указывает ссылка в теге, содержит код конфигурации и мониторинга , что снижает возможную продолжительность кэширования. | Используйте, если вы не хотите заниматься конфигурацией или отслеживать изменения кода вручную. Часто используется в сочетании с менеджером тегов для интеграции RUM. |
Синхронный фрагмент кода ( syncCS)
|
Предоставляет вам фрагмент кода JavaScript (включая конфигурацию ) с базовыми функциями для ручной вставки его в код вашего веб-приложения. Полная функциональность кода мониторинга загружается синхронно | Используйте, когда обновления конфигурации должны немедленно отражаться на клиентах ваших реальных пользователей и когда вы не хотите вручную обновлять конфигурацию или код мониторинга. Этот тип может приводить к задержкам рендеринга страницы! 1 |
Фрагмент кода асинхронный ( asyncCS)
|
Предоставляет вам фрагмент кода JavaScript (включая конфигурацию ) с базовыми функциями для ручной вставки его в код вашего веб-приложения. Полная функциональность кода мониторинга загружается асинхронно (отложенно) . | Используйте, когда обновления конфигурации должны немедленно отражаться на клиентах ваших реальных пользователей, когда вы не хотите вручную обновлять конфигурацию или код мониторинга, и когда вы хотите отложить загрузку Ключ-АСТРОМ RUM. 1 |
Встроенный код ( jsInlineScript)
|
Предоставляет вам полный код конфигурации и мониторинга , чтобы вручную встроить их в код вашего веб-приложения. | Используйте, если вы хотите избежать повторного запроса и свести количество веб-запросов к минимуму.
В идеале используйте это в сочетании с полностью автоматическим обновлением встроенного кода через API , чтобы гарантировать, что код мониторинга и конфигурация всегда актуальны. |
Тег JavaScript ЕдиныйАгент ( jsTag)
|
Предоставляет вам тег JavaScript (включая конфигурацию ), чтобы вручную вставить его в код вашего веб-приложения. Код мониторинга загружается отдельным файлом из CDN 2 | Используйте тот же тег JavaScript, который автоматически вставляется Ключ-АСТРОМ ЕдиныйАгент с включенным автоматическим внедрением.
Используйте его только в целях тестирования или в сочетании с полностью автоматическими обновлениями API встроенного кода , чтобы убедиться, что код мониторинга и конфигурация всегда актуальны. |
1 Имейте в виду, что это требует регулярных обновлений фрагментов кода, чтобы гарантировать совместимость.
2 используйте собственный CDN.
Для всех форматов внедрения, за исключением отложенного фрагмента кода ( asyncCS) , полная функциональность кода мониторинга загружается синхронно.
Обновления в ручной вставке
| Настроено в Ключ-АСТРОМ. | Код мониторинга и конфигурация обновляются в соответствии с продолжительностью кэширования, пока изменения не станут активными. Вы можете настроить продолжительность кэширования при настройке внедрения. |
| Настроено на ваших серверах | Мы рекомендуем вам регулярно обновлять фрагмент, чтобы новая конфигурация была доступна с самого начала. В противном случае новая конфигурация будет доступна только после первой перезагрузки страницы. Вы должны настроить кэширование в своей среде, используя конфигурацию вашего веб-сервера. |
Все указанные длительности кэширования относятся к тому, как долго Ключ-АСТРОМ CDN будет кэшировать ваш код мониторинга и/или конфигурацию. Если вы используете собственную CDN, указанные длительности неприменимы, поскольку они зависят от вашей собственной конфигурации.
Получить через REST API
Используйте API Ключ-АСТРОМ, чтобы вставить RUM JavaScript с помощью скриптов сборки.
Использовать ручную вставку для групп процессов
Если ваши группы процессов оснащены ЕдиныйАгент и для вашей технологии поддерживается автоматическое внедрение, вы все равно можете вставить RUM JavaScript вручную, если хотите.
Чтобы подавить автоматическое внедрение и вручную вставить RUM JavaScript
- В меню Ключ-АСТРОМ выберите Web .
- Выберите приложение, которое вы хотите настроить.
- В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Ред. .
- В настройках приложения перейдите в Инжектирование .
- В разделе «Определите собственные правила инжекта» выберите « Добавить пользовательское правило » .
- Определите оператора и, при необходимости, соответствующий шаблон URL -адреса, чтобы контролировать, на каких страницах вам нужно подавить автоматическое внедрение.
- В разделе Правило выберите Не инжектировать .
- Выберите Добавить , чтобы сохранить пользовательское правило внедрения.
- Перейдите на вкладку Вставка вручную , выберите нужный формат внедрения и скопируйте предоставленный фрагмент.
Как обеспечить своевременное обновление конфигурации для автоматического внедрения?
🟢Включено по умолчанию
Чтобы обеспечить своевременную доставку изменений конфигурации RUM, ЕдиныйАгент изменяет определенные заголовки кэша. Эта функция называется оптимизацией заголовка управления кешем .
Когда оптимизация заголовка управления кешем включена и конфигурация RUM изменена, запросы, которые в противном случае привели бы к ответу 304 Not Modifiedс помощью 200 OK, дают ЕдиныйАгент возможность внедрить JavaScript RUM в HTML-код вашего приложения. Если конфигурация RUM не была изменена, запросы приводят к 304 Not Modifiedответу.
Измененные заголовки
ЕдиныйАгент изменяет следующие заголовки ответов и запросов:
Заголовки ответа
ETagLast-Modified
Заголовки запроса
If-None-MatchIf-Modified-SinceIf-Unmodified-Since1If-Match1
1 Не изменено для запросов диапазона, которые обычно исключаются из мониторинга RUM.
ЕдиныйАгент не изменяет заголовки Expires и Cache-Control, которые содержат явное время истечения срока действия ресурсов. Чтобы гарантировать своевременные обновления, мы рекомендуем указывать более короткие сроки действия в этих заголовках.
Вот как ЕдиныйАгент изменяет заголовки управления кешем.
При изменении конфигурации RUM
- Заголовки входящих сообщений
If-None-MatchиIf-Modified-Sinceзапросов удаляются. - Изменения, внесенные в заголовки
If-Unmodified-SinceиIf-Match, удаляются. - Когда используются оба
ETagиLast-Modifiedзаголовки:- К заголовку
ETagдобавляется суффикс . - Одна секунда вычитается из заголовка
Last-Modified.
- К заголовку
- Когда используется только заголовок
ETag:- К заголовку добавляется суффикс
ETag.
- К заголовку добавляется суффикс
- Когда используется только заголовок
Last-Modified:- Заголовок
ETagсоздан. - Одна секунда вычитается из заголовка
Last-Modified.
- Заголовок
Когда конфигурация RUM не изменена
- Прежде чем запрос будет обработан веб-сервером или сервером приложений, изменения, внесенные в заголовки, удаляются, чтобы веб-сервер или сервер приложений не видел изменений.
Если приложение состоит из нескольких инструментированных уровней, изменения заголовков ETag и Last-Modified применяются на каждом уровне.
Оптимизация заголовка кеша для ресурсов, отличных от HTML
Иногда ЕдиныйАгент изменяет заголовки элементов управления кэшем не-HTML-ресурсов. Это происходит потому, что изменение заголовка происходит до того, как становится известен точный тип содержимого. Ключ-АСТРОМ исключает определенные ресурсы из оптимизации заголовка кэша на основе суффикса URI, но невозможно охватить все ресурсы, отличные от HTML.
Чтобы исключить ресурсы, отличные от HTML, из оптимизации заголовка кэша, создайте собственное правило внедрения , чтобы отключить внедрение RUM JavaScript.
Исправление проблем
В редких случаях оптимизация заголовка кэша может ухудшить функциональность вашего приложения. В этом случае либо отключите оптимизацию заголовка кэша, либо, если проблема касается только ресурсов, отличных от HTML, создайте пользовательское правило внедрения , чтобы отключить внедрение RUM JavaScript для этих ресурсов.
Чтобы отключить оптимизацию заголовка управления кешем
- В меню Ключ-АСТРОМ выберите Веб-приложения.
- Выберите приложение, которое вы хотите настроить.
- В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Ред.
- В настройках приложения перейдите в Захват > Расширенная настройка.
- В разделе Настройки cookie и заголовков отключите параметр Оптимизировать значение заголовков управления кешем для использования с Ключ-АСТРОМ для мониторинга реальных пользователей.
Если вы отключите эту функцию для одного из ваших приложений, время, необходимое для развертывания новой конфигурации RUM, будет зависеть исключительно от режима кэширования вашего приложения.