Konfiguration des Microsoft Azure Monitor Application Insights JavaScript SDK

Das Azure Application Insights JavaScript SDK bietet eine Konfiguration zum Nachverfolgen, Überwachen und Debuggen Ihrer Webanwendungen.

SDK-Konfiguration

Diese Konfigurationsfelder sind optional und werden standardmäßig auf false festgelegt, sofern nichts anderes angegeben ist.

Anweisungen zum Hinzufügen der SDK-Konfiguration finden Sie unter Hinzufügen der SDK-Konfiguration.

Name type Standard
accountId

Eine optionale Konto-ID, wenn Ihre App Benutzer in Konten gruppiert. Keine Leerzeichen, Kommas, Semikolons, Gleichheitszeichen oder senkrechten Striche
Zeichenfolge NULL
addRequestContext

Stellen Sie eine Möglichkeit zum Anreichern von Abhängigkeitsprotokollen mit Kontext am Anfang des API-Aufrufs bereit. Der Standardwert ist nicht definiert. Sie müssen überprüfen, ob xhr vorhanden ist, wenn Sie den zugehörigen xhr-Kontext konfigurieren. Sie müssen überprüfen, ob fetch request und fetch response vorhanden sind, wenn Sie den zugehörigen fetch-Kontext konfigurieren. Andernfalls erhalten Sie möglicherweise nicht die benötigten Daten.
(requestContext: IRequestionContext) => {[key: string]: any} nicht definiert
ajaxPerfLookupDelay

Der Standardwert lautet 25 ms. Die Zeitdauer, die gewartet werden muss, bevor noch einmal versucht werden kann, die „windows.performance“-Timings für eine Ajax-Anforderung zu suchen. Die Zeit wird in Millisekunden angegeben und direkt an setTimeout() übergeben.
NUMERIC 25
appId

„AppId“ wird für die Korrelation zwischen AJAX-Abhängigkeiten verwendet, die clientseitig mit den serverseitigen Anforderungen erfolgt. Wenn die Beacon-API aktiviert ist, kann sie nicht automatisch verwendet werden. Sie kann aber in der Konfiguration manuell festgelegt werden. Die Standardeinstellung ist „null“.
Zeichenfolge NULL
autoTrackPageVisitTime

Bei „true“ wird in einem Seitenaufruf die Ansichtszeit der vorherigen instrumentierten Seite nachverfolgt und in Form von Telemetriedaten gesendet. Außerdem wird ein neuer Zeitgeber für den aktuellen Seitenaufruf gestartet. Diese Daten werden als benutzerdefinierte Metrik mit dem Namen PageVisitTime in milliseconds gesendet, und für die Berechnung wird die Funktion Date.now() verwendet (falls verfügbar). Falls „now()“ nicht verfügbar ist (IE8 oder früher), wird new Date().getTime() verwendet. Der Standardwert ist "false".
boolean false
convertUndefined

Stellen Sie dem Benutzer eine Option zum Konvertieren von undefinierten Feldern in einen benutzerdefinierten Wert zur Verfügung.
any nicht definiert
cookieCfg

Standardmäßig ist die Cokieverwendung aktiviert. weitere Standardeinstellungen finden Sie unter icookiecfgconfig-Einstellungen.
ICookieCfgConfig
[Optional]
(Seit 2.6.0)
nicht definiert
cookieDomain

Benutzerdefinierte Cookiedomäne. Das ist hilfreich, wenn Sie Application Insights-Cookies über untergeordnete Domänen hinweg freigeben möchten.
(Ab v2.6.0) Wenn cookieCfg.domain definiert ist, hat es Vorrang vor diesem Wert.
Alias für cookieCfg.domain
[Optional]
NULL
cookiePath

Benutzerdefinierter Cookie-Pfad. Das ist hilfreich, wenn Sie Application Insights-Cookies hinter einem Anwendungsgateway freigeben möchten.
Wenn cookieCfg.path definiert ist, hat es Vorrang.
Alias für cookieCfg.path
[Optional]
(Seit 2.6.0)
NULL
correlationHeaderDomains

Korrelations-Header für bestimmte Domänen aktivieren
string[] nicht definiert
correlationHeaderExcludedDomains

Korrelations-Header für bestimmte Domänen deaktivieren
string[] nicht definiert
correlationHeaderExcludePatterns

Korrelationskopfzeilen mit regulären Ausdrücken deaktivieren
regex[] nicht definiert
createPerfMgr

Rückruffunktion, die aufgerufen wird, um bei Bedarf eine IPerfManager-Instanz zu erstellen. Wenn enablePerfMgr aktiviert ist, ermöglicht es Ihnen, die Standarderstellung eines PerfManager() außer Kraft zu setzen, ohne dass setPerfMgr() nach der Initialisierung erforderlich ist.
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager nicht definiert
customHeaders

Die Möglichkeit für den Benutzer, zusätzliche Header bereitzustellen, wenn er einen benutzerdefinierten Endpunkt verwendet. customHeader werden beim Herunterfahren des Browsers nicht hinzugefügt, wenn der Beacon-Absender verwendet wird. Das Hinzufügen benutzerdefinierter Header wird in IE9 oder früher nicht unterstützt.
[{header: string, value: string}] nicht definiert
diagnosticLogInterval

(intern) Abrufintervall (in ms) für interne Protokollierungswarteschlange
NUMERIC 10000
disableAjaxTracking

Bei „true“ werden AJAX-Aufrufe nicht automatisch gesammelt. Der Standardwert ist "false".
boolean false
disableCookiesUsage

Die Standardeinstellung ist „false“. Ein boolescher Wert, der angibt, ob die Verwendung von Cookies durch das SDK deaktiviert werden soll. Bei „true“ speichert oder liest das SDK keine Daten aus Cookies.
(Ab v2.6.0) Wenn cookieCfg.enabled definiert ist, hat es Vorrang. Die Cookie-Verwendung kann nach der Initialisierung über core.getCookieMgr().setEnabled(true) reaktiviert werden.
Alias für cookieCfg.enabled
[Optional]
false
disableCorrelationHeaders

Bei „false“ fügt das SDK allen Abhängigkeitsanforderungen zwei Kopfzeilen („Request-Id“ und „Request-Context“) hinzu, um sie mit entsprechenden serverseitigen Anforderungen zu korrelieren. Der Standardwert ist "false".
boolean false
disableDataLossAnalysis

Bei „false“ werden interne Absenderpuffer für Telemetriedaten beim Start auf noch nicht gesendete Elemente überprüft.
boolean true
disableExceptionTracking

Bei „true“ werden Ausnahmen nicht automatisch gesammelt. Der Standardwert ist "false".
boolean false
disableFetchTracking

Die Standardeinstellung für disableFetchTracking ist false, d. h. sie ist aktiviert. In Versionen vor 2.8.10 war sie jedoch standardmäßig deaktiviert. Bei Festlegung auf true werden Fetch-Anforderungen nicht automatisch erfasst. Die Standardeinstellung wurde in Version 2.8.0 von true in false geändert.
boolean false
disableFlushOnBeforeUnload

Die Standardeinstellung ist „false“. Bei „true“ wird die Methode „Flush“ (Leeren) beim Auslösen eines „onBeforeUnload“-Ereignisses nicht aufgerufen.
boolean false
disableIkeyDeprecationMessage

Deaktivieren Sie die Fehlermeldung, dass der Instrumentierungsschlüssel veraltet ist. Bei „true“ werden keine Fehlermeldungen gesendet.
boolean true
disableInstrumentationKeyValidation

Bei „wahr“ wird die Validierungsprüfung des Instrumentierungsschlüssels umgangen. Der Standardwert ist „false“.
boolean false
disableTelemetry

Bei „true“ werden Telemetriedaten nicht gesammelt oder gesendet. Der Standardwert ist "false".
boolean false
disableXhr

Verwenden Sie standardmäßig nicht XMLHttpRequest oder XDomainRequest (für IE < 9), sondern versuchen Sie, fetch() oder sendBeacon zu verwenden. Wenn kein anderer Transport verfügbar ist, wird XMLHttpRequest verwendet.
boolean false
distributedTracingMode

Legt den Modus für verteilte Ablaufverfolgung fest. Wenn der AI_AND_W3C-Modus oder der W3C-Modus festgelegt ist, werden Kontextheader für die W3C-Ablaufverfolgung (traceparent/tracestate) generiert und in alle ausgehenden Anforderungen eingeschlossen. AI_AND_W3C wird für Abwärtskompatibilität mit beliebigen mit älteren Application Insights-Versionen instrumentierten Diensten bereitgestellt.
numerisch oder DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

Die Standardeinstellung ist „false“. Bei „true“ wird der Boolesche Wert zu Antwortfehlerdatentext im Abhängigkeitsereignis für fehlerhafte AJAX-Anforderungen aufgeführt.
boolean false
enableAjaxPerfTracking

Die Standardeinstellung ist „false“. Flag, das die Suche nach und das Aufnehmen von zusätzlichen „window.performance“-Timings von Browsern in gemeldeten Ajax-Metriken (XHR und fetch) ermöglicht.
boolean false
enableAutoRouteTracking

Routenänderungen in Single-Page-Webanwendungen (Single Page Applications, SPA) automatisch nachverfolgen. Bei „true“ sendet jede Routenänderung einen neuen Seitenaufruf an Application Insights. Hashroutenänderungen (example.com/foo#bar) werden ebenfalls als neue Seitenaufrufe aufgezeichnet.
Hinweis: Wenn Sie dieses Feld aktivieren, dürfen Sie das history-Objekt nicht auch für die React-Routerkonfiguration aktivieren, da Sie mehrere Seitenansichtsereignisse erhalten.
boolean false
enableCorsCorrelation

Bei „true“ fügt das SDK allen CORS-Anforderungen zwei Kopfzeilen („Request-Id“ und „Request-Context“) hinzu, um ausgehende AJAX-Abhängigkeiten mit entsprechenden serverseitigen Anforderungen zu korrelieren. Die Standardeinstellung ist „false“.
boolean false
enableDebug

Bei „true“ werden interne Debugdaten als eine Ausnahme ausgelöst statt protokolliert zu werden. Dies geschieht unabhängig von den SDK-Protokollierungseinstellungen. Der Standardwert ist "false".
Hinweis: Wenn Sie diese Einstellung aktivieren, werden die Telemetriedaten beim Auftreten eines internen Fehlers verworfen. Das kann hilfreich sein, um schnell Probleme mit Ihrer Konfiguration oder der Nutzung des SDK zu identifizieren. Wenn beim Debuggen keine Telemetriedaten verloren gehen sollen, empfiehlt es sich, loggingLevelConsole oder loggingLevelTelemetry statt enableDebug zu verwenden.
boolean false
enablePerfMgr

Wenn dies aktiviert ist (true), werden lokale perfEvents für Code erzeugt, der so instrumentiert wurde, dass er perfEvents ausgibt (über den doPerf()-Helper). Das kann verwendet werden, um Performance-Probleme innerhalb des SDKs basierend auf Ihrer Nutzung oder optional innerhalb Ihres eigenen instrumentierten Codes zu identifizieren.
boolean false
enableRequestHeaderTracking

Bei „true“ werden AJAX- und Fetch-Anforderungsheader nachverfolgt.Der Standardwert ist „false“. Wenn ignoreHeaders nicht konfiguriert ist, werden Autorisierungs- und X-API-Key-Header nicht protokolliert.
boolean false
enableResponseHeaderTracking

Bei „true“ werden Antwortheader für AJAX- und Fetch-Anforderungen nachverfolgt.Der Standardwert ist „false“. Wenn ignoreHeaders nicht konfiguriert ist, wird WWW-Authenticate Header nicht protokolliert.
boolean false
enableSessionStorageBuffer

Die Standardeinstellung ist „true“. Bei „true“ wird der Puffer mit allen nicht gesendeten Telemetriedaten im Sitzungsspeicher gespeichert. Der Puffer wird beim Laden der Seite wiederhergestellt.
boolean true
enableUnhandledPromiseRejectionTracking

Bei „true“ werden unverarbeitete Ablehnungen von Zusagen automatisch erfasst und als JavaScript-Fehler gemeldet. Wenn disableExceptionTracking TRUE ist (Ausnahmen werden nicht nachverfolgt), wird der Konfigurationswert ignoriert, und unverarbeitete Ablehnungen von Zusagen werden nicht gemeldet.
boolean false
eventsLimitInMem

Die Anzahl der Ereignisse, die im Arbeitsspeicher gespeichert werden können, bevor das SDK beginnt, Ereignisse zu löschen, wenn kein Sitzungsspeicher verwendet wird (Standard).
number 10000
excludeRequestFromAutoTrackingPatterns

Stellen Sie eine Möglichkeit bereit, bestimmte Routen von der automatischen Nachverfolgung für XMLHttpRequest- oder Fetch-Anforderung auszuschließen. Wenn dies definiert ist, wird für eine Ajax-/Fetch-Anforderung, deren Anforderungs-URL mit den RegEx-Mustern übereinstimmt, die automatische Nachverfolgung deaktiviert. Der Standardwert ist nicht definiert.
string[] | RegExp[] nicht definiert
featureOptIn

Details zum Festlegen des Feature-Opt-ins

Dieses Konfigurationsfeld ist nur in Version 3.0.3 und höher verfügbar.
IFeatureOptIn nicht definiert
idLength

Gibt die Standardlänge an, die zum Erzeugen neuer zufälliger Sitzungs- und Benutzer-IDs verwendet wird. Der Standardwert ist 22, der vorherige Standardwert war 5 (v2.5.8 oder darunter). Wenn Sie die vorherige maximale Länge beibehalten wollen, sollten Sie diesen Wert auf 5 setzen.
NUMERIC 22
ignoreHeaders

AJAX & Fetch-Anforderungs- und Antwortheader, die in Protokolldaten ignoriert werden sollen. Um die Standardeinstellung zu überschreiben oder zu verwerfen, fügen Sie der Konfiguration ein Array mit allen auszuschließenden Headern oder ein leeres Array hinzu.
string[] ["Authorization", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Bei „false“ sendet das SDK alle Telemetriedaten mithilfe der Beacon-API.
boolean true
isBrowserLinkTrackingEnabled

Der Standardwert ist "false". Bei „true“ verfolgt das SDK alle Anforderungen vom Typ Browserverknüpfung nach.
boolean false
isRetryDisabled

Die Standardeinstellung ist „false“. Bei „false“ wiederholen Sie den Vorgang für 206 (teilweise erfolgreich), 408 (Timeout), 429 (zu viele Anforderungen), 500 (interner Serverfehler), 503 (Dienst nicht verfügbar) und 0 (offline, nur wenn erkannt).
boolean false
isStorageUseDisabled

Bei „true“ speichert und liest das SDK keine Daten aus dem lokalen Speicher und dem Sitzungsspeicher. Der Standardwert ist "false".
boolean false
loggingLevelConsole

Protokolliert interne Application Insights-Fehler in der Konsole.
0: aus,
1: Nur schwerwiegende Fehler
2: Alles (Fehler & Warnungen)
NUMERIC 0
loggingLevelTelemetry

Sendet interne Application Insights-Fehler als Telemetriedaten.
0: aus,
1: Nur schwerwiegende Fehler
2: Alles (Fehler & Warnungen)
NUMERIC 1
maxAjaxCallsPerView

Standardwert 500. Dieses Element steuert, wie viele Ajax-Aufrufe pro Seitenaufruf überwacht werden. Legen Sie „–1“ fest, wenn alle (unbegrenzt) Ajax-Aufrufe auf der Seite überwacht werden sollen.
NUMERIC 500
maxAjaxPerfLookupAttempts

Der Standardwert ist 3. Die maximale Anzahl von Wiederholungen für die Suche nach „window.performance“-Timings ist erforderlich. Nicht alle Browser füllen die window.performance aus, bevor sie das Ende der XHR-Anforderung melden. Bei Fetch-Anforderungen wird dies nach Abschluss der Anforderung hinzugefügt.
NUMERIC 3
maxBatchInterval

Dauer der Batchverarbeitung von Telemetriedaten vor dem Senden (Millisekunden)
NUMERIC 15000
maxBatchSizeInBytes

Maximale Größe des Telemetriedatenbatches. Wenn ein Batch diesen Grenzwert überschreitet, wird er sofort gesendet, und ein neuer Batch wird gestartet.
NUMERIC 10000
namePrefix

Ein optionaler Wert, der als „name“-Postfix für „localStorage“ und den Cookienamen verwendet wird.
Zeichenfolge nicht definiert
onunloadDisableBeacon

Die Standardeinstellung ist „false“. Wenn die Registerkarte geschlossen wird, sendet das SDK alle verbleibenden Telemetriedaten mit der Beacon-API.
boolean false
onunloadDisableFetch

Wenn fetch keepalive unterstützt wird, verwenden Sie es nicht zum Senden von Ereignissen während des Entladens. Es kann ein Fallback auf fetch() ohne keepalive erfolgen.
boolean false
overridePageViewDuration

Bei „true“ wird das Standardverhalten von „trackPageView“ geändert, um bei dessen Aufruf das Ende des Intervalls für die Seitenaufrufdauer aufzuzeichnen. Bei „false“ ohne Angabe eines benutzerdefinierten Zeitraums für „trackPageView“ wird die Seitenaufrufleistung mithilfe der Navigationszeit-API berechnet. Der Standardwert ist "false".
boolean false
perfEvtsSendAll

Wenn enableperfmgr aktiviert ist und iperfmanager ein inotificationmanager. perfevent () auslöst, bestimmt dieses Flag, ob ein Ereignis ausgelöst (und an alle Listener) für alle Ereignisse (true) oder nur für übergeordnete Ereignisse (false < Standard) gesendet wird > .
Bei einem übergeordneten IPerfEvent-Element handelt es sich um ein Ereignis, bei dem zum Zeitpunkt der Erstellung dieses Ereignisses noch kein anderes IPerfEvent ausgeführt wird, und seine übergeordnete Eigenschaft nicht Null oder nicht definiert ist. Seit v2.5.7
boolean false
samplingPercentage

Prozentsatz der Ereignisse, die gesendet werden. Die Standardeinstellung ist „100“. Dies bedeutet, dass alle Ereignisse gesendet werden. Legen Sie diesen Wert fest, wenn Sie Ihre Datenobergrenze für umfangreiche Anwendungen beibehalten möchten.
NUMERIC 100
sdkExtension

Legt den SDK-Erweiterungsnamen fest. Hierbei sind nur alphabetische Zeichen zulässig. Der Erweiterungsname wird dem Tag ‚ai.internal.sdkVersion‘ als Präfix hinzugefügt (z.B. ‚ext_javascript:2.0.0‘). Der Standardwert lautet null.
Zeichenfolge NULL
sessionCookiePostfix

Ein optionaler Wert, der als „name“-Postfix für den Sitzungscookienamen verwendet wird. Wenn er nicht definiert ist, wird namePrefix als Namenspostfix für den Namen des Sitzungscookies verwendet.
Zeichenfolge nicht definiert
sessionExpirationMs

Eine Sitzung wird protokolliert, wenn sie während dieser Zeitspanne (in Millisekunden) fortgesetzt wurde. Die Standardeinstellung ist „24 Stunden“.
NUMERIC 86400000
sessionRenewalMs

Eine Sitzung wird protokolliert, wenn der Benutzer während dieser Zeitspanne (in Millisekunden) inaktiv ist. Die Standardeinstellung ist „30 Minuten“.
NUMERIC 1800000
throttleMgrCfg

Legen Sie die Drosselungs-Manager-Konfiguration per Schlüssel fest.

Dieses Konfigurationsfeld ist nur in Version 3.0.3 und höher verfügbar.
{[key: number]: IThrottleMgrConfig} nicht definiert
userCookiePostfix

Ein optionaler Wert, der als „name“-Postfix für den Benutzercookienamen verwendet wird. Wenn dies nicht definiert ist, wird kein Postfix für den Cookienamen des Benutzers hinzugefügt.
Zeichenfolge nicht definiert

Ab Version 2.6.0 bietet das Azure Application Insights JavaScript SDK eine instanzbasierte Cookieverwaltung, die nach der Initialisierung deaktiviert und wieder aktiviert werden kann.

Wenn Sie Cookies während der Initialisierung mithilfe der disableCookiesUsage- oder cookieCfg.enabled-Konfiguration deaktiviert haben, können Sie sie mithilfe der setEnabled-Funktion des ICookieMgr-Objekts erneut aktivieren.

Die instanzbasierte Cookieverwaltung ersetzt auch die vorherigen globalen CoreUtils-Funktionen von disableCookies(), setCookie(), getCookie() und deleteCookie().

Um die in Version 2.6.0 eingeführten Verbesserungen für das Strukturschütteln zu nutzen, wird empfohlen, die globalen Funktionen nicht mehr zu verwenden.

ICookieMgrConfig ist eine Cookiekonfiguration für die instanzbasierte Cookieverwaltung, die in Version 2.6.0 hinzugefügt wurde. Mit den bereitgestellten Optionen können Sie die Verwendung von Cookies durch das SDK aktivieren oder deaktivieren. Sie können auch benutzerdefinierte Cookiedomänen und -pfade festlegen und die Funktionen zum Abrufen, Festlegen und Löschen von Cookies anpassen.

Die ICookieMgrConfig-Optionen sind in der folgenden Tabelle definiert.

Name type Standard BESCHREIBUNG
enabled boolean true Die aktuelle Instanz des SDK verwendet diesen booleschen Wert, um anzugeben, ob die Verwendung von Cookies aktiviert ist. „False“ gibt an, dass die von dieser Konfiguration initialisierte SDK-Instanz keine Daten aus Cookies speichert oder liest.
Domäne Zeichenfolge NULL Benutzerdefinierte Cookiedomäne. Das ist hilfreich, wenn Sie Application Insights-Cookies über untergeordnete Domänen hinweg freigeben möchten. Wenn nicht angegeben, wird der Wert aus dem cookieDomain Stammwert verwendet.
path Zeichenfolge / Gibt den Pfad an, der für das Cookie verwendet werden soll. Wenn er nicht angegeben wird, wird ein beliebiger Wert aus dem Stamm-cookiePath-Wert verwendet.
ignoreCookies string[] nicht definiert Geben Sie die Cookienamen an, die ignoriert werden sollen. Dadurch werden alle übereinstimmenden Cookienamen nie gelesen oder geschrieben. Sie können weiterhin explizit bereinigt oder gelöscht werden. Sie müssen den Namen nicht in der blockedCookies-Konfiguration wiederholen. (ab v2.8.8)
blockedCookies string[] nicht definiert Geben Sie die Cookienamen an, die nie geschrieben werden sollen. Das verhindert das Erstellen oder Aktualisieren von Cookienamen, sie können aber weiterhin gelesen werden, sofern sie nicht auch in ignoreCookies enthalten sind. Sie können weiterhin explizit bereinigt oder gelöscht werden. Wenn nicht angegeben, wird standardmäßig dieselbe Liste wie in ignoreCookies verwendet. (ab v2.8.8)
getCookie (name: string) => string NULL Funktion zum Abrufen des benannten Cookiewerts. Ist dies nicht angegeben, wird die interne Cookieanalyse/das interne Cookie-Zwischenspeichern verwendet.
setCookie (name: string, value: string) => void NULL Funktion zum Festlegen des benannten Cookies mit dem angegebenen Wert, das nur beim Hinzufügen oder Aktualisieren eines Cookies aufgerufen wird.
delCookie (name: string, value: string) => void NULL Funktion zum Löschen des benannten Cookies mit dem angegebenen Wert, getrennt von setCookie, um zu vermeiden, dass der Wert geparst werden muss, um festzustellen, ob das Cookie hinzugefügt oder entfernt wird. Wenn es nicht angegeben ist, wird die interne Cookieanalyse/das interne Cookie-Zwischenspeichern verwendet.

Quellzuordnungsdatei

Die Quellcodezuordnungsunterstützung hilft Ihnen beim Debuggen von minimiertem JavaScript-Code mit der Möglichkeit, die minimierte Aufrufliste Ihrer Ausnahmetelemetriedaten zu deminimieren.

  • Kompatibel mit allen aktuellen Integrationen im Bereich Ausnahmedetails
  • Unterstützt alle aktuellen und zukünftigen JavaScript-SDKs, einschließlich Node.JS, ohne dass ein SDK-Upgrade erforderlich ist.

Application Insights unterstützt das Hochladen von Quellzuordnungsdateien in den Blobcontainer Ihres Azure Storage-Kontos. Sie können Quellzuordnungsdateien verwenden, um die Minimierung von Aufruflisten auf der Seite mit End-to-End-Transaktionsdetails aufzuheben. Sie können Quellzuordnungsdateien auch verwenden, um die Minimierung aller vom JavaScript-SDK oder dem Node.js-SDK gesendeten Ausnahmen aufzuheben.

Screenshot that shows selecting the option to unminify a call stack by linking with a storage account.

Erstellen eines neuen Speicherkontos und eines Blobcontainers

Wenn Sie bereits über ein vorhandenes Speicherkonto oder einen Blobcontainer verfügen, können Sie diesen Schritt überspringen.

  1. Erstellen eines neuen Speicherkontos.

  2. Erstellen Sie einen Blobcontainer in Ihrem Speicherkonto. Legen Sie öffentliche Zugriffsebene auf Privat fest, um sicherzustellen, dass Ihre Quellzuordnungsdateien nicht öffentlich zugänglich sind.

    Screenshot that shows setting the container access level to Private.

Pushen Ihrer Quellzuordnungsdateien an Ihren Blobcontainer

Integrieren Sie Ihre Continuous Deployment-Pipeline in Ihr Speicherkonto, indem Sie es so konfigurieren, dass die Quellzuordnungsdateien automatisch in den konfigurierten Blobcontainer hochgeladen werden.

Sie können Quellzuordnungsdateien in Ihren Azure Blob Storage-Container mit derselben Ordnerstruktur hochladen, mit der sie kompiliert und bereitgestellt wurden. Ein gängiger Anwendungsfall ist es, einem Bereitstellungsordner seine Version voranzustellen, beispielsweise 1.2.3/static/js/main.js. Wenn Sie das Minimieren über einen Azure-Blobcontainer namens sourcemaps aufheben, versucht die Pipeline, eine Quellzuordnungsdatei abzurufen, die sich unter sourcemaps/1.2.3/static/js/main.js.map befindet.

Wenn Sie Azure Pipelines zum kontinuierlichen Erstellen und Bereitstellen Ihrer Anwendung verwenden, fügen Sie Ihrer Pipeline eine Aufgabe vom Typ Azure-Dateikopiervorgang hinzu, um die Quellzuordnungsdateien automatisch hochzuladen.

Screenshot that shows adding an Azure file copy task to your pipeline to upload your source maps to Azure Blob Storage.

Konfigurieren Ihrer Application Insights-Ressource mit einem Speicherkonto für Quellzuordnungsdateien

Sie haben zwei Optionen zum Konfigurieren Ihrer Application Insights-Ressource mit einem Speicherkonto für Quellzuordnungsdateien.

Registerkarte mit ausführlichen Transaktionsdetails

Wählen Sie auf der Registerkarte End-to-End-Transaktionsdetails die Option Deminimieren aus. Konfigurieren Sie Ihre Ressource, wenn sie nicht konfiguriert ist.

  1. Zeigen Sie im Azure-Portal die Details einer Ausnahme an, die minimiert ist.
  2. Wählen sie Deminimieren aus.
  3. Wenn Ihre Ressource nicht konfiguriert ist, konfigurieren Sie diese.
Eigenschaften (Registerkarte)

So konfigurieren oder ändern Sie das Speicherkonto oder den Blobcontainer, der mit Ihrer Application Insights-Ressource verknüpft ist:

  1. Wechseln Sie zur Registerkarte Eigenschaften Ihrer Application Insights-Ressource.

  2. Wählen Sie Blobcontainer für Quellzuordnungsdatei ändern aus.

  3. Wählen Sie einen anderen Blobcontainer als Container für Quellzuordnungsdateien aus.

  4. Wählen Sie Übernehmen.

    Screenshot that shows reconfiguring your selected Azure blob container on the Properties pane.

Anzeigen des nicht minimierten Callstacks

Um die nicht minimierte Aufrufliste anzuzeigen, wählen Sie im Azure-Portal ein Ausnahmetelemetrieelement aus, suchen Sie die Quellzuordnungsdateien, die der Aufrufliste entsprechen, und ziehen Sie die Quellzuordnungsdateien auf die Aufrufliste im Azure-Portal. Die Quellzuordnungsdatei muss den gleichen Namen wie die Quelldatei eines Stapelrahmens haben, aber mit der Erweiterung map.

Wenn Probleme auftreten, die die Quellzuordnungsdateiunterstützung für JavaScript-Anwendungen betreffen, lesen Sie Problembehandlung bei der Quellzuordnungsdateiunterstützung für JavaScript-Anwendungen.

Animation demonstrating unminify feature.

Strukturschütteln

Durch das Schütteln von Strukturen wird nicht verwendeter Code aus dem endgültigen JavaScript-Paket entfernt.

Um das Strukturschütteln zu nutzen, importieren Sie nur die erforderlichen Komponenten des SDK in Ihren Code. Auf diese Weise ist nicht verwendeter Code nicht im endgültigen Paket enthalten, wodurch die Größe reduziert und die Leistung verbessert wird.

Verbesserungen und Empfehlungen zum Strukturschütteln

In Version 2.6.0 wurde die interne Verwendung dieser statischen Hilfsklassen als veraltet eingestuft und entfernt, um die Unterstützung für Strukturschüttelalgorithmen zu verbessern. Dadurch können npm-Pakete ungenutzten Code sicher löschen.

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

Die Funktionen werden jetzt als Stammelemente der obersten Ebene aus den Modulen exportiert, sodass Sie Ihren Code für besseres Strukturschütteln einfacher umgestalten können.

Die statischen Klassen wurden in const-Objekte geändert, die auf die neuen exportierten Funktionen verweisen, und zukünftige Änderungen sind geplant, um die Verweise weiter umzugestalten.

Veraltete Funktionen und Ersetzungen – Strukturschütteln

Dieser Abschnitt gilt nur für Sie, wenn Sie die veralteten Funktionen verwenden und die Paketgröße optimieren möchten. Es wird empfohlen, die Ersetzungsfunktionen zu verwenden, um die Größe zu reduzieren und alle Versionen des Internet Explorers zu unterstützen.

Vorhanden Ersetzung
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Keine. Verwenden Sie dies nicht, da es bewirkt, dass alle CoreUtils-Verweise in Ihren endgültigen Code eingeschlossen werden.
Gestalten Sie Ihre Behanldung von Cookies so um, dass appInsights.getCookieMgr().setEnabled(true/false) verwendet wird, um den Wert festzulegen, und appInsights.getCookieMgr().isEnabled(), um den Wert zu überprüfen.
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 oder 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
Bei einem Verweis wird aus Gründen der Abwärtskompatibilität auf CoreUtils verwiesen.
Gestalten Sie die Handhabung der Cookies so um, dass appInsights.getCookieMgr().setEnabled(false) verwendet wird.
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
Bei einem Verweis wird aus Gründen der Abwärtskompatibilität auf CoreUtils verwiesen.
Gestalten Sie die Handhabung der Cookies so um, dass appInsights.getCookieMgr().setEnabled(false) verwendet wird.
Util.canUseCookies canUseCookies
Bei einem Verweis wird aus Gründen der Abwärtskompatibilität auf CoreUtils verwiesen.
Gestalten Sie die Handhabung der Cookies so um, dass appInsights.getCookieMgr().isEnabled() verwendet wird.
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
Durch das Verweisen wird aus Gründen der Abwärtskompatibilität auf CoreUtils verwiesen.
Gestalten Sie die Handhabung der Cookies so um, dass appInsights.getCookieMgr().set(name: string, value: string) verwendet wird.
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
Durch das Verweisen wird aus Gründen der Abwärtskompatibilität auf CoreUtils verwiesen.
Gestalten Sie die Handhabung der Cookies so um, dass appInsights.getCookieMgr().get(name: string) verwendet wird.
Util.deleteCookie coreDeleteCookie
Durch das Verweisen wird aus Gründen der Abwärtskompatibilität auf CoreUtils verwiesen.
Gestalten Sie die Handhabung der Cookies so um, dass appInsights.getCookieMgr().del(name: string, path?: string) verwendet wird.
Util.trim strTrim
Util.newId newId
Util.random32 ---
Kein Ersatz, gestalten Sie Ihren Code so um, dass random32(true) verwendet wird.
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

Dienstbenachrichtigungen

Bei Dienstbenachrichtigungen handelt es sich um ein in das SDK integriertes Feature, über das umsetzbare Empfehlungen bereitgestellt werden können, um sicherzustellen, dass Telemetriedaten unterbrechungsfrei an Application Insights gesendet werden. Sie sehen die Benachrichtigungen als Ausnahmemeldung in Application Insights. Wir stellen anhand Ihrer SDK-Einstellungen sicher, dass Benachrichtigungen für Sie relevant sind, und wir passen die Ausführlichkeit basierend auf der Dringlichkeit der Empfehlung an. Wir empfehlen, Dienstbenachrichtigungen aktiviert zu lassen, Sie können sie jedoch über die featureOptIn-Konfiguration deaktivieren. Eine Liste der aktiven Benachrichtigungen finden Sie weiter unten.

Derzeit werden keine aktiven Benachrichtigungen gesendet.

Problembehandlung

Informationen finden Sie in dem dedizierten Artikel zur Problembehandlung.

Häufig gestellte Fragen

Dieser Abschnitt enthält Antworten auf häufig gestellte Fragen.

Wie kann ich die Serverkonfiguration eines Drittanbieters für das JavaScript SDK aktualisieren?

Auf Serverseite müssen Verbindungen mit diesen Headern akzeptiert werden können. Je nach serverseitiger Konfiguration von Access-Control-Allow-Headers ist es häufig erforderlich, die serverseitige Liste zu erweitern, indem Request-Id, Request-Context und traceparent (verteilter W3C-Header) manuell hinzugefügt werden.

Access-Control-Allow-Headers: Request-Id, traceparent, Request-Context, <your header>.

Wie kann ich die verteilte Ablaufverfolgung für das JavaScript SDK deaktivieren?

Die verteilte Ablaufverfolgung kann in der Konfiguration deaktiviert werden.

Werden HTTP 502- und 503-Antworten immer von Application Insights erfasst?

Nein. Die Fehler „502 Ungültiges Gateway“ und „503 Dienst nicht verfügbar“ werden nicht immer von Application Insights erfasst. Wenn nur clientseitiges JavaScript für die Überwachung verwendet wird, ist dieses Verhalten zu erwarten, da die Fehlerantwort vor der Seite zurückgegeben wird, die den HTML-Header mit dem gerenderten JavaScript-Codeausschnitt für die Überwachung enthält.

Wenn die 502- oder 503-Antwort von einem Server mit aktivierter serverseitiger Überwachung gesendet wird, werden die Fehler vom Application Insights SDK erfasst.

Selbst bei aktivierter serverseitiger Überwachung auf dem Webserver einer Anwendung wird manchmal ein 502- oder 503-Fehler nicht von Application Insights erfasst. Viele moderne Webserver ermöglichen Clients keine direkte Kommunikation. Stattdessen wenden sie Lösungen wie Reverseproxys an, um Informationen zwischen dem Client und den Front-End-Webservern zu übergeben.

In diesem Szenario kann eine 502- oder 503-Antwort aufgrund eines Problems auf Reverseproxyebene an einen Client zurückgegeben werden, weshalb sie nicht in der Standardkonfiguration von Application Insights erfasst wird. Um Probleme auf dieser Ebene zu erkennen, müssen Sie möglicherweise Protokolle vom Reverseproxy an Log Analytics weiterleiten und eine benutzerdefinierte Regel erstellen, um nach 502- oder 503-Antworten zu suchen. Weitere Informationen zu häufigen Ursachen von 502- und 503-Fehlern finden Sie unter Problembehandlung von HTTP-Fehlern „502 Ungültiges Gateway“ und „503 Dienst nicht verfügbar“ in Azure App Service.

Nächste Schritte