Поделиться через


Конфигурация пакета SDK JavaScript для Microsoft Azure Monitor Application Insights

Пакет SDK javaScript для приложение Azure Insights предоставляет конфигурацию для отслеживания, мониторинга и отладки веб-приложений.

Конфигурация пакета SDK

Эти поля конфигурации являются необязательными и по умолчанию имеют значение false, если иное не указано.

Инструкции по добавлению конфигурации пакета SDK см. в разделе "Добавление конфигурации пакета SDK".

Имя. Тип По умолчанию.
accountId

Необязательный идентификатор учетной записи, если ваше приложение группирует пользователей по учетным записям. Без пробелов, запятых, точек с запятой, знаков равенства и вертикальных линий
строка null
addRequestContext

Предоставьте способ обогащения журналов зависимостей контекстом в начале вызова API. Значение по умолчанию не определено. Необходимо проверить, существует xhr ли xhr контекст. Необходимо проверить, существует ли и fetch response существует, если fetch request вы настроите fetch связанный контекст. В противном случае вы можете не получить необходимые данные.
(requestContext: IRequestionContext) => {[key: string]: any} не определено
ajaxPerfLookupDelay

Значение по умолчанию — 25 мс. Время ожидания перед повторной обработкой, чтобы найти время ожидания windows.performance для запроса Ajax, время находится в миллисекундах и передается непосредственно в setTimeout().
numeric 25
appId

AppId используется для корреляции между клиентскими зависимостями AJAX с серверными запросами. Если API маяков включен, его нельзя использовать автоматически, но его можно задать вручную в конфигурации. Значение по умолчанию равно NULL
строка null
autoTrackPageVisitTime

Если задано значение true, то при просмотре страницы фиксируется и отправляется в виде данных телеметрии время просмотра предыдущей инструментированной страницы, а для текущего просмотра запускается новый таймер. Это время отправляется в качестве пользовательской метрики PageVisitTime в milliseconds, вычисляется с помощью функции Date now() (если она доступна) либо возвращается к методу (new Date()).getTime(), если функция now() недоступна (IE8 или более ранней версии). По умолчанию — false.
boolean false
ConvertUndefined

Предоставьте пользователю возможность преобразовать неопределенное поле в определяемое пользователем значение.
any не определено
cookieCfg

По умолчанию использование cookie включено (полных список значений по умолчанию см. в описании параметров ICookieCfgConfig).
ICookieCfgConfig
[Необязательный параметр]
(с версии 2.6.0)
не определено
cookieDomain

Настраиваемый домен cookie. Полезно предоставить общий доступ к файлам cookie Application Insights в поддоменах.
(с версии 2.6.0) Если cookieCfg.domain он определен, он имеет приоритет над этим значением.
Псевдоним для cookieCfg.domain
[Необязательный параметр]
null
cookiePath

Настраиваемый путь к файлам cookie. Полезно, если вы хотите поделиться файлами cookie Application Insights за шлюзом приложений.
Если cookieCfg.path он определен, он имеет приоритет.
Псевдоним для cookieCfg.path
[Необязательный параметр]
(с версии 2.6.0)
null
correlationHeaderDomains

Включение заголовков корреляции для определенных доменов.
string[] не определено
correlationHeaderExcludedDomains

Отключение заголовков корреляции для определенных доменов.
string[] не определено
correlationHeaderExcludePatterns

Отключение заголовков корреляции с помощью регулярных выражений.
regex[] не определено
createPerfMgr

Функция обратного вызова, которая будет вызываться для создания экземпляра IPerfManager при необходимости и enablePerfMgr включена, позволяет переопределить создание perfManager() по умолчанию без необходимости setPerfMgr() после инициализации.
(ядро: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager не определено
customHeaders

Возможность предоставления дополнительных заголовков при использовании пользовательской конечной точки. Пользовательские хедеры не добавляются в момент завершения работы браузера при использовании отправителя маяка. Добавление пользовательских заголовков не поддерживается в IE9 или более ранних версиях.
[{header: string, value: string}] не определено
diagnosticLogInterval

(Внутренний параметр.) Интервал опроса (в мс) для внутренней очереди журнала.
numeric 10000
disableAjaxTracking

Если это значение равно true, автоматический сбор вызовов AJAX не производится. По умолчанию — false.
boolean false
disableCookiesUsage

Значение false по умолчанию. Логическое значение, указывающее, следует ли отключить использование файлов cookie пакетом SDK. Если значение true, пакет SDK не сохраняет или считывает данные из файлов cookie.
(с версии 2.6.0) Если cookieCfg.enabled он определен, он имеет приоритет. Использование файлов cookie можно повторно включить после инициализации с помощью core.getCookieMgr().setEnabled(true).
Псевдоним для cookieCfg.enabled
[Необязательный параметр]
false
disableCorrelationHeaders

Если значение false, пакет SDK добавляет два заголовка ("Request-Id" и "Request-Context" для всех запросов зависимостей, чтобы сопоставить их с соответствующими запросами на стороне сервера. По умолчанию — false.
boolean false
disableDataLossAnalysis

Если значение false, внутренние буферы отправителей телеметрии проверяются при запуске для элементов, которые еще не отправлены.
boolean true
disableExceptionTracking

Если это значение равно true, автоматический сбор исключений не производится. По умолчанию — false.
boolean false
disableFetchTracking

Значение по умолчанию disableFetchTracking — это falseозначает, что он включен. Однако в версиях до версии 2.8.10 она была отключена по умолчанию. Если задано значение true, запросы на получение не собираются автоматически. Параметр по умолчанию изменился с true false версии 2.8.0.
boolean false
disableFlushOnBeforeUnload

Значение false по умолчанию. Если значение true, метод flush не вызывается при триггерах событий onBeforeUnload
boolean false
disableIkeyDeprecationMessage

Отключите сообщение об ошибке отключения ключа инструментирования. Если значение true, сообщения об ошибках не отправляются.
boolean true
disableInstrumentationKeyValidation

Если это значение равно true, проверка ключа инструментирования пропускается. По умолчанию используется значение false.
boolean false
disableTelemetry

Если это значение равно true, данные телеметрии не собираются и не отправляются. По умолчанию — false.
boolean false
disableXhr

Не используйте XMLHttpRequest или XDomainRequest (для Internet Explorer < версии 9) по умолчанию попытайтесь использовать fetch() или sendBeacon. Если другой транспорт недоступен, он использует XMLHttpRequest
boolean false
distributedTracingMode

Задает режим распределенной трассировки. Если задан режим AI_AND_W3C или режим W3C, заголовки контекста трассировки W3C (traceparent/tracestate) создаются и включаются во все исходящие запросы. AI_AND_W3C обеспечивает обратную совместимость со всеми устаревшими службами, инструментированными с помощью Application Insights.
числовой или DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

Значение false по умолчанию. Если задано значение true, включите текст данных об ошибке ответа в событие зависимости от неудачных запросов AJAX.
boolean false
enableAjaxPerfTracking

Значение false по умолчанию. Пометка, чтобы включить поиск и включение дополнительных временных значений окна браузера.performance в сообщаемом метриках Ajax (XHR и получение).
boolean false
enableAutoRouteTracking

Автоматическое отслеживание изменений маршрута в одностраничных приложениях (SPA). Если задано значение true, каждое изменение маршрута отправляет новое представление Страницы в Application Insights. Изменения маршрута хэша (example.com/foo#bar) также регистрируются как новые просмотры страниц.
Примечание. Если включить это поле, не включите history объект для конфигурации маршрутизатора React, так как вы получите несколько событий представления страниц.
boolean false
enableCorsCorrelation

Если задано значение true, пакет SDK добавляет два заголовка ("Request-Id" и "Request-Context" для всех запросов CORS для сопоставления исходящих зависимостей AJAX с соответствующими запросами на стороне сервера. Значение по умолчанию — false.
boolean false
enableDebug

Если это значение равно true, для внутренних данных отладки выдаются исключения (они не заносятся в журнал) независимо от параметров журналирования пакета SDK. По умолчанию — false.
Примечание. Включение этого параметра приводит к удалению телеметрии при возникновении внутренней ошибки. Это может быть полезно для быстрого выявления проблем с конфигурацией или использованием пакета SDK. Если вы не хотите терять данные телеметрии во время отладки, использовать loggingLevelConsole или loggingLevelTelemetry вместо enableDebug.
boolean false
enablePerfMgr

При включении (true) он создает локальные perfEvents для кода, который был инструментирован для выдачи perfEvents (через вспомогательный элемент doPerf(). Его можно использовать для выявления проблем с производительностью в пакете SDK на основе использования или при необходимости в собственном инструментированного кода.
boolean false
enableRequestHeaderTracking

Если задано значение true, заголовки запросов AJAX и Fetch отслеживаются, значение по умолчанию равно false. Если игнорироватьheaders не настроены, заголовки авторизации и ключа X-API не регистрируются.
boolean false
enableResponseHeaderTracking

Если задано значение true, заголовки ответа запроса AJAX и Fetch отслеживаются, значение по умолчанию равно false. Если игнорироватьHeaders не настроено, заголовок WWW-Authenticate не регистрируется.
boolean false
enableSessionStorageBuffer

Значение true по умолчанию. Если это значение равно true, в хранилище сеанса находится буфер со всеми неотправленными данными телеметрии. Буфер восстанавливается при загрузке страницы.
boolean true
enableUnhandledPromiseRejectionTracking

Если значение true, необработанные отказы от обещаний автоматически обрабатываются как ошибка JavaScript. Если disableExceptionTracking имеет значение true (не отслеживайте исключения), значение конфигурации игнорируется и необработанные отказы от обещаний не сообщаются.
boolean false
eventsLimitInMem

Количество событий, которые можно хранить в памяти, прежде чем пакет SDK начнет удалять события, если не используется хранилище сеансов (по умолчанию).
number 10000
excludeRequestFromAutoTrackingPatterns

Укажите способ исключения определенного маршрута из автоматического отслеживания для запроса XMLHttpRequest или Fetch. Если задано, для запроса Ajax или получения, который URL-адрес запроса соответствует шаблонам регулярных выражений, автоматическое отслеживание отключается. Значение по умолчанию не определено.
string[] | RegExp[] не определено
featureOptIn

Настройка сведений о выборе компонента.

Это поле конфигурации доступно только в версии 3.0.3 и более поздних версиях.
IFeatureOptIn не определено
idLength

Определяет длину по умолчанию, используемую для создания новых случайных сеансов и идентификаторов пользователей. Значение по умолчанию равно 22, предыдущее значение по умолчанию равно 5 (версия 2.5.8 или меньше), если необходимо сохранить предыдущую максимальную длину, необходимо задать значение 5.
numeric 22
ignoreHeaders

Заголовки запросов и ответов AJAX и ответов, которые следует игнорировать в данных журнала. Чтобы переопределить или отменить значение по умолчанию, добавьте массив со всеми заголовками, которые следует исключить или пустой массив в конфигурацию.
string[] ["Authorization", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Если значение false, пакет SDK отправляет все данные телеметрии с помощью API маяка.
boolean true
isBrowserLinkTrackingEnabled

По умолчанию — false. Если значение true, пакет SDK отслеживает все запросы ссылки на браузер.
boolean false
isRetryDisabled

Значение false по умолчанию. Если это значение равно false, попытка не повторяется для кодов 206 (частично успешное завершение), 408 (истекло время ожидания), 429 (слишком много запросов), 500 (внутренняя ошибка сервера), 503 (служба недоступна) и 0 (вне сети, только в случае обнаружения).
boolean false
isStorageUseDisabled

Если значение true, пакет SDK не сохраняет или считывает данные из локального и сеансового хранилища. По умолчанию — false.
boolean false
loggingLevelConsole

Вывод внутренних ошибок Application Insights на консоль.
0: выкл.,
1. Критические ошибки, только
2: все (ошибки и предупреждения)
numeric 0
loggingLevelTelemetry

Отправка внутренних ошибок Application Insights в качестве данных телеметрии.
0: выкл.,
1. Критические ошибки, только
2: все (ошибки и предупреждения)
numeric 1
maxAjaxCallsPerView

По умолчанию 500 — определяет количество вызовов Ajax для каждого представления страницы. Задайте значение -1, чтобы отслеживать все вызовы AJAX на странице (без ограничений).
numeric 500
maxAjaxPerfLookupAttempts

Значение по умолчанию — 3. Максимальное количество раз, когда требуется искать время выполнения window.performance (если доступно). Не все браузеры заполняют окно.performance, прежде чем сообщать о завершении запроса XHR. Для запросов на получение он добавляется после завершения.
numeric 3
maxBatchInterval

Продолжительность пакетного сбора данных телеметрии перед отправкой (в миллисекундах).
numeric 15000
maxBatchSizeInBytes

Максимальный размер пакета телеметрии. Если размер пакета превышает этот лимит, он немедленно отправляется и запускается новый пакет.
numeric 10000
namePrefix

Необязательное значение, используемое в качестве postfix имени для localStorage и имени файла cookie сеанса.
строка не определено
onunloadDisableBeacon

Значение false по умолчанию. При закрытии вкладки пакет SDK отправляет все оставшиеся данные телеметрии с помощью API Маяка.
boolean false
onunloadDisableFetch

Если поддержка сохранения получения не используется для отправки событий во время выгрузки, она по-прежнему может вернуться к выборке() без сохранения.
boolean false
overridePageViewDuration

Если это значение равно true, trackPageView по умолчанию записывает окончание интервала сеанса просмотра страницы при вызове trackPageView. Если это значение равно false и для trackPageView не задана пользовательское значение длительности, то характеристики просмотра страницы вычисляются с помощью API времени навигации. По умолчанию — false.
boolean false
perfEvtsSendAll

Если включен параметр enablePerfMgr и IPerfManager инициирует INotificationManager.perfEvent(), этот флаг определяет, инициируется ли (и отправляется всем прослушивателям) событие для всех (true) или только для "родительских" (значение false, вариант <по умолчанию>) событий.
Родительский объект IPerfEvent — это событие, в котором ни один другой объект IPerfEvent по-прежнему работает в момент создания события, а его родительское свойство не равно null или не определено. С версии 2.5.7
boolean false
samplingPercentage

Процент отправляемых событий. Значение по умолчанию — 100, то есть отправляются все события. Установите его, если вы хотите сохранить ограничение данных для крупномасштабных приложений.
numeric 100
sdkExtension

Задает имя расширения пакета SDK. Допускаются только буквы. Имя расширения добавляется в качестве префикса к тегу ai.internal.sdkVersion (например, ext_javascript:2.0.0). Значение по умолчанию — null.
строка null
sessionCookiePostfix

Необязательное значение, используемое в качестве postfix имени имени файла cookie сеанса. Если не определено, имяPrefix используется в качестве postfix имени имени сеанса для имени файла cookie сеанса.
строка не определено
sessionExpirationMs

Сеанс регистрируется, если он продолжался в течение этого времени в миллисекундах. Значение по умолчанию — 24 часа
numeric 86400000
sessionRenewalMs

Сеанс регистрируется, если пользователь неактивен в течение этого периода времени в миллисекундах. Значение по умолчанию — 30 минут.
numeric 1800000
throttleMgrCfg

Задайте конфигурацию throttle mgr по ключу.

Это поле конфигурации доступно только в версии 3.0.3 и более поздних версиях.
{[key: number]: IThrottleMgrConfig} не определено
userCookiePostfix

Необязательное значение, используемое в качестве postfix имени имени пользователя. Если не определено, то в имени файла cookie пользователя не добавляется postfix.
строка не определено

Начиная с версии 2.6.0 пакет SDK javaScript для приложение Azure Insights предоставляет управление файлами cookie на основе экземпляров, которые можно отключить и повторно включить после инициализации.

Если вы отключили файлы cookie во время инициализации с помощью disableCookiesUsage конфигураций или cookieCfg.enabled конфигураций, их можно повторно включить с помощью setEnabled функции объекта ICookieMgr.

Управление файлами cookie на основе экземпляров заменяет предыдущие глобальные функции disableCookies()CoreUtils , а setCookie()getCookie()deleteCookie()также .

Чтобы воспользоваться преимуществами усовершенствований дерева, представленных в версии 2.6.0, рекомендуется больше не использовать глобальные функции.

ICookieMgrConfig — это конфигурация файлов cookie для управления файлами cookie на основе экземпляров, добавленная в версии 2.6.0. Указанные параметры позволяют включить или отключить использование файлов cookie пакетом SDK. Вы также можете настроить пользовательские домены и пути cookie, а также настроить функции для получения, настройки и удаления файлов cookie.

Параметры ICookieMgrConfig определены в следующей таблице.

Имя. Тип По умолчанию. Description
включена boolean true Текущий экземпляр пакета SDK использует это логическое значение, чтобы указать, включен ли использование файлов cookie. Если значение false, экземпляр пакета SDK, инициализированный этой конфигурацией, не сохраняет или считывает данные из файлов cookie.
domain строка null Настраиваемый домен cookie. Полезно предоставить общий доступ к файлам cookie Application Insights в поддоменах. Если это значение не указано, используется значение корневого параметра cookieDomain.
path строка / Указывает путь, используемый для файла cookie, если он не предоставляет любое значение из корневого cookiePath значения.
ignoreCookies string[] не определено Укажите имена файлов cookie, которые следует игнорировать, это приводит к тому, что любое соответствующее имя файла cookie никогда не считывается или не записывается. Они по-прежнему могут быть явно удалены или удалены. Вам не нужно повторять имя в blockedCookies конфигурации. (с версии 2.8.8)
заблокированныеcookies string[] не определено Укажите имена файлов cookie, которые никогда не записываются. Он предотвращает создание или обновление любого имени файла cookie, но они по-прежнему могут быть прочитаны, если они также не включены в ignoreCookies. Они по-прежнему могут быть удалены или удалены явным образом. Если он не указан, он по умолчанию использует тот же список в ignoreCookies. (с версии 2.8.8)
getCookie (name: string) => string null Функция для получения именованного значения cookie, если она не указана, использует внутренний анализ файлов cookie или кэширование.
setCookie (name: string, value: string) => void null Функция для установки именованного файла cookie с указанным значением. Вызывается только при добавлении или обновлении файла cookie.
delCookie (name: string, value: string) => void null Функция для удаления именованного файла cookie с указанным значением. Отделена от функции setCookie, чтобы избежать необходимости анализировать значение на предмет того, добавляется или удаляется файл cookie. Если он не указан, использует внутренний анализ и кэширование файлов cookie.

Исходная карта

Поддержка исходной карты помогает отлаживать минифицированный код JavaScript с возможностью отмены минифицированного вызова телеметрии исключений.

  • Совместима со всеми текущими интеграциями на панели сведений об исключении
  • Поддерживает все текущие и будущие пакеты SDK JavaScript, включая Node.JS, без необходимости обновления пакета SDK

Application Insights поддерживает отправку исходных карт в контейнер BLOB-объектов служба хранилища Azure учетной записи. С помощью исходных карт можно использовать стеки вызовов, найденные на странице сведений о сквозных транзакциях. Вы также можете использовать карты источников, чтобы отменить любое исключение, отправленное пакетом SDK JavaScript или пакетом SDK для Node.js.

Снимок экрана: выбор параметра для отмены стека вызовов путем связывания с учетной записью хранения.

Создание учетной записи хранения и контейнера BLOB-объектов

Если у вас уже есть учетная запись хранения или контейнер BLOB-объектов, вы можете пропустить этот шаг.

  1. Создайте новую учетную запись хранения.

  2. Создайте контейнер BLOB-объектов в учетной записи хранения. Задайте для уровня общедоступного доступа значение Private , чтобы убедиться, что исходные карты недоступны в общедоступном режиме.

    Снимок экрана: установка уровня доступа к контейнеру для private.

Отправка исходных карт в контейнер BLOB-объектов

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

Вы можете передать исходные карты в контейнер Хранилище BLOB-объектов Azure с той же структурой папок, с которыми они были скомпилированы и развернуты. Распространенный вариант использования — префикс папки развертывания со своей версией, например 1.2.3/static/js/main.js. При отмене с помощью вызываемого sourcemapsконтейнера BLOB-объектов Azure конвейер пытается получить исходную карту, расположенную по адресу sourcemaps/1.2.3/static/js/main.js.map.

Если вы используете Azure Pipelines для непрерывной сборки и развертывания приложения, добавьте задачу копирования файлов Azure в конвейер для автоматической отправки исходных карт.

Снимок экрана: добавление задачи копирования файлов Azure в конвейер для отправки исходных карт в Хранилище BLOB-объектов Azure.

Настройка ресурса Application Insights с помощью учетной записи хранения карты источника

У вас есть два варианта настройки ресурса Application Insights с учетной записью хранения исходной карты.

Вкладка "Сведения о сквозных транзакциях"

На вкладке сведений о сквозной транзакции выберите Unminify. Настройте ресурс, если он не настроен.

  1. В портал Azure просмотрите сведения об исключении, которое было минифицировано.
  2. Выберите Unminify.
  3. Если ресурс не настроен, настройте его.
Вкладка Свойства

Чтобы настроить или изменить учетную запись хранения или контейнер BLOB-объектов, связанный с ресурсом Application Insights:

  1. Перейдите на вкладку "Свойства " ресурса Application Insights.

  2. Выберите " Изменить исходный контейнер BLOB-объектов".

  3. Выберите другой контейнер BLOB-объектов в качестве контейнера карты источника.

  4. Выберите Применить.

    Снимок экрана: перенастройка выбранного контейнера BLOB-объектов Azure на панели

Просмотр неуправляемого вызова

Чтобы просмотреть неуправляемые вызовы, выберите элемент телеметрии исключений в портал Azure, найдите исходные карты, соответствующие стеку вызовов, и перетащите исходные карты в стек вызовов в портал Azure. Исходная карта должна иметь то же имя, что и исходный файл кадра стека, но с расширением map .

Если возникают проблемы, связанные с поддержкой карт источника для приложений JavaScript, см. статью "Устранение неполадок с поддержкой карты источника" для приложений JavaScript.

Анимация, демонстрирующая функцию unminify.

Древовидная тряска

Древовидная тряска устраняет неиспользуемый код из окончательного пакета JavaScript.

Чтобы воспользоваться преимуществами тряски дерева, импортируйте только необходимые компоненты пакета SDK в код. Таким образом, неиспользуемый код не включается в окончательный пакет, уменьшая его размер и повышая производительность.

Усовершенствования и рекомендации по древовидной тряски

В версии 2.6.0 мы устарели и удалили внутреннее использование этих статических вспомогательных классов, чтобы улучшить поддержку алгоритмов древовидной тряски. Он позволяет пакетам npm безопасно удалять неиспользуемый код.

  • CoreUtils
  • EventHelper
  • Util
  • UrlHelper
  • DateTimeUtils
  • ConnectionStringParser

Теперь функции экспортируются в виде корней верхнего уровня из модулей, что упрощает рефакторинг кода для улучшения тряски дерева.

Статические классы были изменены на константные объекты, ссылающиеся на новые экспортированные функции, и будущие изменения планируются для дальнейшего рефакторинга ссылок.

Древовидная тряска нерекомендуемых функций и замены

Этот раздел применяется только к вам, если вы используете устаревшие функции и хотите оптимизировать размер пакета. Мы рекомендуем использовать функции замены для уменьшения размера и поддержки всех версий Internet Explorer.

Существующий Замена
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Нет. Не используйте так, как это приводит к включению всех ссылок CoreUtils в окончательный код.
Рефакторинг обработки файлов cookie для задания appInsights.getCookieMgr().setEnabled(true/false) значения и appInsights.getCookieMgr().isEnabled() проверки значения.
CoreUtils.isTypeof isTypeof
CoreUtils.isUndefined isUndefined
CoreUtils.isNullOrUndefined isNullOrUndefined
CoreUtils.hasOwnProperty hasOwnProperty
CoreUtils.isFunction isFunction
CoreUtils.isObject isObject
CoreUtils.isDate isDate
CoreUtils.isArray isArray
CoreUtils.isError isError
CoreUtils.isString isString
CoreUtils.isNumber isNumber
CoreUtils.isBoolean isBoolean
CoreUtils.toISOString toISOString или getISOString
CoreUtils.arrForEach arrForEach
CoreUtils.arrIndexOf arrIndexOf
CoreUtils.arrMap arrMap
CoreUtils.arrReduce arrReduce
CoreUtils.strTrim strTrim
CoreUtils.objCreate objCreateFn
CoreUtils.objKeys objKeys
CoreUtils.objDefineAccessors objDefineAccessors
CoreUtils.addEventHandler addEventHandler
CoreUtils.dateNow dateNow
CoreUtils.isIE isIE
CoreUtils.disableCookies disableCookies
Ссылка либо приводит к тому, что CoreUtils будет ссылаться на обратную совместимость.
Рефакторинг обработки файлов cookie для использования appInsights.getCookieMgr().setEnabled(false)
CoreUtils.newGuid newGuid
CoreUtils.perfNow perfNow
CoreUtils.newId newId
CoreUtils.randomValue randomValue
CoreUtils.random32 random32
CoreUtils.mwcRandomSeed mwcRandomSeed
CoreUtils.mwcRandom32 mwcRandom32
CoreUtils.generateW3CId generateW3CId
EventHelper @microsoft/applicationinsights-core-js
EventHelper.Attach attachEvent
EventHelper.AttachEvent attachEvent
EventHelper.Detach detachEvent
EventHelper.DetachEvent detachEvent
Util @microsoft/applicationinsights-common-js
Util.NotSpecified strNotSpecified
Util.createDomEvent createDomEvent
Util.disableStorage utlDisableStorage
Util.isInternalApplicationInsightsEndpoint isInternalApplicationInsightsEndpoint
Util.canUseLocalStorage utlCanUseLocalStorage
Util.getStorage utlGetLocalStorage
Util.setStorage utlSetLocalStorage
Util.removeStorage utlRemoveStorage
Util.canUseSessionStorage utlCanUseSessionStorage
Util.getSessionStorageKeys utlGetSessionStorageKeys
Util.getSessionStorage utlGetSessionStorage
Util.setSessionStorage utlSetSessionStorage
Util.removeSessionStorage utlRemoveSessionStorage
Util.disableCookies disableCookies
Ссылка либо приводит к тому, что CoreUtils будет ссылаться на обратную совместимость.
Рефакторинг обработки файлов cookie для использования appInsights.getCookieMgr().setEnabled(false)
Util.canUseCookies canUseCookies
Ссылка либо приводит к тому, что CoreUtils будет ссылаться на обратную совместимость.
Рефакторинг обработки файлов cookie для использования appInsights.getCookieMgr().isEnabled()
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
Ссылка приводит к тому, что CoreUtils будет ссылаться на обратную совместимость.
Рефакторинг обработки файлов cookie для использования appInsights.getCookieMgr().set(name: string, value: string)
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
Ссылка приводит к тому, что CoreUtils будет ссылаться на обратную совместимость.
Рефакторинг обработки файлов cookie для использования appInsights.getCookieMgr().get(name: string)
Util.deleteCookie coreDeleteCookie
Ссылка приводит к тому, что CoreUtils будет ссылаться на обратную совместимость.
Рефакторинг обработки файлов cookie для использования appInsights.getCookieMgr().del(name: string, path?: string)
Util.trim strTrim
Util.newId newId
Util.random32 ---
Нет замены, рефакторинг кода для использования core random32(true)
Util.generateW3CId generateW3CId
Util.isArray isArray
Util.isError isError
Util.isDate isDate
Util.toISOStringForIE8 toISOString
Util.getIEVersion getIEVersion
Util.msToTimeSpan msToTimeSpan
Util.isCrossOriginError isCrossOriginError
Util.dump dumpObj
Util.getExceptionName getExceptionName
Util.addEventHandler attachEvent
Util.IsBeaconApiSupported isBeaconApiSupported
Util.getExtension getExtensionByName
UrlHelper @microsoft/applicationinsights-common-js
UrlHelper.parseUrl urlParseUrl
UrlHelper.getAbsoluteUrl urlGetAbsoluteUrl
UrlHelper.getPathName urlGetPathName
UrlHelper.getCompeteUrl urlGetCompleteUrl
UrlHelper.parseHost urlParseHost
UrlHelper.parseFullHost urlParseFullHost
DateTimeUtils @microsoft/applicationinsights-common-js
DateTimeUtils.Now dateTimeUtilsNow
DateTimeUtils.GetDuration dateTimeUtilsDuration
ConnectionStringParser @microsoft/applicationinsights-common-js
ConnectionStringParser.parse parseConnectionString

Уведомления службы

Уведомления службы — это функция, встроенная в пакет SDK для предоставления практических рекомендаций для обеспечения непрерывности потоков телеметрии в Application Insights. Уведомления будут отображаться как сообщение об исключении в Application Insights. Мы убедитесь, что уведомления относятся к вам на основе параметров пакета SDK, и мы корректируем детализацию на основе срочности рекомендации. Рекомендуется оставить уведомления о службе, но вы можете отказаться от использования конфигурации featureOptIn . Ниже приведен список активных уведомлений.

В настоящее время активные уведомления не отправляются.

Устранение неполадок

См. специальные инструкции по устранению неполадок.

Часто задаваемые вопросы

В этом разделы приводятся ответы на часто задаваемые вопросы.

Как обновить конфигурацию стороннего сервера для пакета SDK javaScript?

На стороне сервера должна быть возможность принимать подключения с такими заголовками. В зависимости от конфигурации Access-Control-Allow-Headers на стороне сервера часто требуется расширить список разрешений и добавить в него вручную Request-Id, Request-Context и traceparent (заголовок распределенной трассировки W3C).

Заголовки Access-Control-Allow-Headers: Request-Id, traceparent, Request-Context, <your header>.

Как отключить распределенную трассировку для пакета SDK javaScript?

Распределенная трассировка может быть отключена в конфигурации.

Всегда ли ответы HTTP 502 и 503 регистрируются Application Insights?

№ Ошибки "502 плохого шлюза" и "503 службы недоступны" не всегда фиксируются Application Insights. Если для мониторинга используется только клиентский JavaScript, это поведение будет ожидаться, так как ответ на ошибку возвращается до страницы, содержащей заголовок HTML с отрисовкой фрагмента кода JavaScript для мониторинга.

Если ответ 502 или 503 был отправлен с сервера с включенным мониторингом на стороне сервера, ошибки собираются пакетом SDK Application Insights.

Даже если на веб-сервере приложения включен мониторинг на стороне сервера, иногда ошибка 502 или 503 не фиксируется Application Insights. Многие современные веб-серверы не позволяют клиенту напрямую взаимодействовать. Вместо этого они используют такие решения, как обратные прокси-серверы для передачи информации между клиентом и внешними веб-серверами.

В этом сценарии ответ 502 или 503 может быть возвращен клиенту из-за проблемы на обратном прокси-уровне, поэтому он не записывается вне поля Application Insights. Чтобы выявить проблемы на этом уровне, может потребоваться перенаправить журналы из обратного прокси-сервера в Log Analytics и создать настраиваемое правило для проверки ответов 502 или 503. Дополнительные сведения о распространенных причинах ошибок 502 и 503 см. в статье "Устранение ошибок HTTP", связанных с "502 плохим шлюзом" и "503 служба недоступна" в службе приложение Azure.

Следующие шаги