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


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

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

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

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

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

Имя. Тип По умолчанию.
id учетной записи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Внутренний параметр.) Интервал опроса (в мс) для внутренней очереди логирования.
числовой 10 000
отключить отслеживание AJAX

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

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

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

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

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

Значение по умолчанию для disableFetchTracking - false, что означает, что он включен. Однако в версиях до версии 2.8.10 она была отключена по умолчанию. Если установить значение true, запросы Fetch не будут собираться автоматически. Параметр по умолчанию изменился с true на false в версии 2.8.0.
булевый ложь
отключитьСбросПриUnload

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

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

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

Если это значение равно true, данные телеметрии не собираются и не отправляются. По умолчанию — false.
булевый ложь
disableXhr (отключить XHR)

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

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

По умолчанию false. Если задано значение true, включите текст данных об ошибке ответа в событие зависимости от неудачных запросов AJAX.
булевый ложь
Включить отслеживание производительности Ajax

По умолчанию false. Флаг для включения возможности поиска и включения дополнительных временных метрик производительности окна браузера в сообщаемых метриках Ajax (XHR и fetch).
булевый ложь
включитьАвтоматическоеОтслеживаниеМаршрута

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

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

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

При включении (true) он создает локальные perfEvents для кода, который был подготовлен и модифицирован для генерации perfEvents через вспомогательную функцию doPerf(). Его можно использовать для выявления проблем с производительностью в пакете SDK в зависимости от вашего использования или при необходимости в вашем собственном инструментированном коде.
булевый ложь
ВключитьОтслеживаниеЗаголовковЗапросов

Если задано значение true, заголовки запросов AJAX и Fetch отслеживаются, значение по умолчанию равно false. Если параметр ignoreHeaders не настроен, заголовки Authorization и X-API-Key не регистрируются.
булевый ложь
включить отслеживание заголовков ответов

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

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

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

Количество событий, которые можно хранить в памяти, прежде чем пакет SDK начнет удалять события, если не используется хранилище сеансов (по умолчанию).
число/номер 10 000
Исключить запрос из шаблонов автоматического отслеживания

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

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

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

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

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

Если условие имеет значение false, пакет SDK отправляет все данные телеметрии с помощью Beacon API.
булевый правда
isBrowserLinkTrackingEnabled (Включено ли отслеживание ссылок в браузере)

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

По умолчанию false. Если false, повторите попытку при кодах 206 (частично успешное завершение), 408 (истекло время ожидания), 429 (слишком много запросов), 500 (внутренняя ошибка сервера), 503 (служба недоступна) и 0 (вне сети, только в случае обнаружения).
булевый ложь
использованиеХранилищаВыключено

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

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

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

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

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

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

Максимальный размер пакета телеметрии. Если размер пакета превышает этот лимит, он немедленно отправляется и запускается новый пакет.
числовой 10 000
префикс имени

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

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

Если поддерживается функция keepalive в fetch, не используйте её для отправки событий во время выгрузки, так как она всё равно может вернуться к fetch() без keepalive.
булевый ложь
overridePageViewDuration

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Создайте контейнер объектов blob в вашей учетной записи хранения. Установите уровень общего доступа на Приватный, чтобы ваши исходные карты не были доступны публично.

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

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

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

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

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

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

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

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

Вкладка "Информация о сквозных транзакциях от начала до конца"

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

  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 мы объявили устаревшими и удалили внутреннее использование этих статических вспомогательных классов, чтобы улучшить поддержку алгоритмов tree-shaking. Он позволяет пакетам 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 (Функция для проверки является ли значение null или undefined) isNullOrUndefined
CoreUtils.hasOwnProperty hasOwnProperty
CoreUtils.isFunction isFunction
CoreUtils.isObject являетсяОбъектом
CoreUtils.isDate isDate
CoreUtils.isArray isArray
CoreUtils.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 добавитьОбработчикСобытий
CoreUtils.dateNow текущая дата
CoreUtils.isIE isIE
CoreUtils.отключение файлов cookie 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 привязатьСобытие
EventHelper.AttachEvent привязатьСобытие
EventHelper.Detach detachEvent
EventHelper.DetachEvent detachEvent
Util @microsoft/applicationinsights-common-js
Util.NotSpecified strНеУказано
Util.createDomEvent createDomEvent
Util.disableStorage utlDisableStorage
Util.isInternalApplicationInsightsEndpoint этоВнутреннийКонечныйПунктApplicationInsights
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 (удаление данных из sessionStorage) 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 строкаВБулевоИлиПоУмолчанию
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 Ошибка
Util.isDate isDate
Util.toISOStringForIE8 toISOString
Util.getIEVersion ПолучитьВерсиюIE
Util.msToTimeSpan msToTimeSpan
Util.isCrossOriginError isCrossOriginError
Util.dump dumpObj
Util.getExceptionName getExceptionName
Util.addEventHandler привязатьСобытие
Util.IsBeaconApiSupported ЯвляетсяЛиПоддержкаAPIМаяка
Util.getExtension getExtensionByName
UrlHelper @microsoft/applicationinsights-common-js
UrlHelper.parseUrl (разбор URL) urlParseUrl
UrlHelper.getAbsoluteUrl urlGetAbsoluteUrl
UrlHelper.getPathName urlGetPathName
UrlHelper.getCompeteUrl urlGetCompleteUrl
UrlHelper.parseHost urlParseHost
UrlHelper.parseFullHost (функция для полного парсинга хоста) urlParseFullHost (функция для полного анализа хоста URL)
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, который регулярно опрашивает общедоступный JSON-файл для управления и обновления этих уведомлений. Чтобы отключить опросы, выполняемые SDK для JavaScript, отключите режим 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.

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