Problembehandlung ohne Daten: Application Insights für .NET und .NET Core
Dieser Artikel enthält Informationen zur Problembehandlung, um Probleme zu beheben, wenn Daten fehlen oder nicht angezeigt werden, wenn Sie Application Insights für .NET und .NET Core verwenden.
Notiz
Dieser Artikel wurde kürzlich aktualisiert, um den Begriff Azure Monitor-Protokolle anstelle von Log Analytics zu verwenden. Protokolldaten werden weiterhin in einem Log Analytics-Arbeitsbereich gespeichert, und sie werden weiterhin vom gleichen Log Analytics-Dienst erfasst und analysiert. Wir aktualisieren die Terminologie, um die Rolle von Protokollen in Azure Monitor besser widerzuspiegeln. Weitere Informationen finden Sie unter Azure Monitor-Terminologieänderungen.
Einige meiner Telemetriedaten fehlen
Beispielszenarien:
In Application Insights sehe ich nur einen Bruchteil der Ereignisse, die meine App generiert.
- Wenn immer der gleiche Anteil angezeigt wird, ist dies wahrscheinlich auf die adaptive Stichprobenerstellung zurückzuführen. Um diese Ursache zu bestätigen, wählen Sie "Übersichtssuche">aus, und sehen Sie sich eine Instanz einer Anforderung oder eines anderen Ereignisses an. Zum Anzeigen der vollständigen Eigenschaftendetails wählen Sie unten im Abschnitt Eigenschaften die Auslassungspunkte ( ... ) aus. Wenn die Anforderungsanzahl größer als 1 ist, wird das Sampling ausgeführt.
- Möglicherweise haben Sie einen Grenzwert für die Datenrate in Ihrem Tarif erreicht. Diese Grenzwerte gelten pro Minute.
Ich habe zufällig Datenverlust
- Überprüfen Sie, ob beim Telemetriekanal Datenverlust auftritt.
- Überprüfen Sie alle bekannten Probleme im Telemetriekanal des GitHub-Repositorys.
Notiz
Wenn Daten fehlen, ist es möglich, dass die Daten vom Back-End abgelehnt werden. Diese Situation kann aus verschiedenen Gründen auftreten, einschließlich der folgenden Ursachen:
- Erforderliche Felder fehlen.
- Mindestens ein Feld überschreitet Größenbeschränkungen.
- SDKs schlagen im Hintergrund fehl, anstatt Ausnahmen zu auslösen.
Sie können ein Tool wie Fiddler oder ein beliebiges anderes Tool verwenden, das HTTP-Datenverkehr überprüft, um erfolgreiche Telemetrieuploads zu bestätigen. Das Back-End gibt den HTTP-Statuscode "200 OK" zurück, um einen erfolgreichen Upload anzugeben. Sie können auch die SDK-Protokolle verwenden, um festzustellen, ob das Back-End Daten ablehnt.
Ich habe Datenverlust in einer Konsolen-App oder in einer Web-App, wenn die App beendet werden soll
- Der SDK-Kanal behält Telemetrie im Puffer und sendet sie in Batches. Wenn die Anwendung gerade heruntergefahren wird, müssen Sie möglicherweise Flush() explizit aufrufen. Das
Flush()
Verhalten hängt vom tatsächlich verwendeten Kanal ab. - Pro .NET Core/.NET Framework-Konsolenanwendung ist der explizite Aufruf
Flush()
des Ruhezustands in Konsolen-Apps erforderlich.
Die vom Application Insights SDK gesammelte Anforderungsanzahl stimmt nicht mit der ANZAHL der IIS-Protokolle für meine Anwendung überein.
Internetinformationsdienste (IIS)-Protokolle zählen alle Anforderungen, die IIS erreichen, und können sich von den Gesamtanforderungen unterscheiden, die eine Anwendung erreichen. Aufgrund dieses Verhaltens wird nicht garantiert, dass die von den SDKs gesammelte Anforderungsanzahl mit der Gesamtzahl der IIS-Protokollwerte übereinstimmt.
Keine Daten vom Server
Beispielszenarien:
Ich habe meine App auf meinem Webserver installiert, und jetzt sehe ich keine Telemetrie daraus. Es funktionierte auf meinem Entwicklungscomputer ok
Höchstwahrscheinlich ist ein Firewallproblem die Ursache. Legen Sie Firewallausnahmen für Application Insights fest, damit das Senden von Daten möglich ist.
Ich habe den Azure Monitor Application Insights Agent auf meinem Webserver installiert, um vorhandene Apps zu überwachen. Es werden keine Ergebnisse angezeigt
Siehe Problembehandlung für den Statusmonitor.
Überprüfen der TLS/SSL-Clienteinstellungen (ASP.NET)
Wenn Sie eine ASP.NET Anwendung in Azure-App Dienst oder in IIS auf einem virtuellen Computer gehostet haben, kann Ihre Anwendung aufgrund eines fehlenden SSL-Sicherheitsprotokolls keine Verbindung mit dem Snapshot Debugger-Dienst herstellen.
Der Endpunkt von Momentaufnahmedebugger erfordert die TLS-Version 1.2. Der Satz von SSL-Sicherheitsprotokollen ist eine der Eigenheiten, die durch den <httpRuntime>
Attributwert des targetFramework
Elements im <system.web>
Abschnitt der Web.config-Datei aktiviert werden. Wenn das Zielframework 4.5.2 oder niedriger ist, ist TLS 1.2 standardmäßig nicht enthalten.
Notiz
Der <httpRuntime>
Attributwert des targetFramework
Elements ist unabhängig vom Zielframework, das beim Erstellen der Anwendung verwendet wird.
Um die Einstellung zu überprüfen, öffnen Sie die Datei "web.config ", und suchen Sie den <system.web>
Abschnitt. Stellen Sie sicher, dass die For-Eigenschaft targetFramework
<httpRuntime>
auf 4,6 oder höher festgelegt ist.
<system.web>
...
<httpRuntime targetFramework="4.7.2" />
...
</system.web>
Notiz
Das Ändern des Werts des <httpRuntime>
targetFramework
Elements ändert die Laufzeit-Quirks, die auf Ihre Anwendung angewendet werden, und kann andere subtile Verhaltensänderungen verursachen. Testen Sie Ihre Anwendung sorgfältig, nachdem Sie diese Änderung vorgenommen haben. Eine vollständige Liste der Kompatibilitätsänderungen finden Sie unter Änderungen durch Neuausrichtung.
Wenn das Zielframework 4.7 oder höher ist, bestimmt Windows die verfügbaren Protokolle. In Azure App Service ist TLS 1.2 verfügbar. Wenn Sie jedoch Ihren eigenen virtuellen Computer verwenden, müssen Sie möglicherweise TLS 1.2 im Betriebssystem aktivieren.
FileNotFoundException: „Die Datei oder Assembly „Microsoft.AspNet TelemetryCorrelation“ konnte nicht geladen werden.“
Weitere Informationen zu diesem Fehler finden Sie unter GitHub-Problem 1610.
Stellen Sie beim Upgrade von Application Insights-SDKs, die älter als Version 2.4 sind, sicher, dass die folgenden Änderungen auf die Dateien "web.config " und "ApplicationInsights.config " angewendet wurden:
In "web.config" sollten Sie über zwei HTTP-Module statt über eins verfügen. Die Reihenfolge ist für einige Szenarien von Bedeutung:
<system.webServer> <modules> <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" /> <add name="ApplicationInsightsHttpModule" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" /> </modules> </system.webServer>
Zusätzlich zu
RequestTrackingTelemetryModule
ApplicationInsights.config sollten Sie über das folgende Telemetriemodul verfügen:<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule, Microsoft.AI.Web"/> </TelemetryModules>
Fehler beim ordnungsgemäßen Upgrade können zu unerwarteten Ausnahmen oder Telemetrie führen, die nicht erfasst werden.
Keine Option „Application Insights hinzufügen“ in Visual Studio
Beispielszenario:
Wenn ich in Projektmappen-Explorer mit der rechten Maustaste auf ein vorhandenes Projekt klicke, werden keine Application Insights-Optionen angezeigt.
- Die Tools unterstützen nicht alle Typen von .NET-Projekten. Web- und Windows Communication Foundation(WCF)-Projekte werden unterstützt. Bei anderen Projekttypen, z. B. Desktop- oder Dienstanwendungen, können Sie Ihrem Projekt weiterhin manuell ein Application Insights SDK hinzufügen.
- Stellen Sie sicher, dass Sie über Visual Studio 2013 Update 3 oder höherverfügen. Darin sind die Developer Analytics-Tools mit dem Application Insights SDK bereits vorinstalliert.
- Wählen Sie Tools>Erweiterungen und Updates aus. Überprüfen Sie dann, ob Die Entwickleranalysetools installiert und aktiviert sind. Wenn es installiert und aktiviert ist, wählen Sie "Updates " aus, um festzustellen, ob ein Update verfügbar ist.
- Öffnen Sie das Dialogfeld "Neues Projekt ", und wählen Sie ASP.NET Webanwendung aus. Wenn die Option "Application Insights " angezeigt wird, werden die Tools installiert. Falls nicht, deinstallieren Sie die Entwickleranalysetools, und installieren Sie sie erneut.
Fehler beim Hinzufügen von Application Insights
Beispielszenario:
Wenn ich versuche, Application Insights zu einem vorhandenen Projekt hinzuzufügen, wird eine Fehlermeldung angezeigt.
Wahrscheinliche Ursachen:
- Fehler bei der Kommunikation mit dem Application Insights-Portal.
- Es gibt ein Problem mit Ihrem Azure-Konto.
- Sie verfügen nur über Lesezugriff auf das Abonnement oder die Gruppe, in dem oder der Sie die neue Ressource erstellen möchten.
Behebung:
- Überprüfen Sie, ob Sie Anmeldeinformationen für das richtige Azure-Konto angegeben haben.
- Überprüfen Sie in Ihrem Browser, ob Sie auf das Azure-Portalzugreifen können. Öffnen Sie "Einstellungen" , und überprüfen Sie, ob eine Einschränkung vorhanden ist.
- Fügen Sie Ihrem vorhandenen Projekt Application Insights hinzu. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, und wählen Sie "Anwendungserkenntnisse hinzufügen" aus.
"NuGet-Pakete fehlen" auf meinem Buildserver
Beispielszenario:
Alles erstellt OK, wenn ich auf meinem Entwicklungscomputer debugginge, aber ich erhalte einen NuGet-Fehler auf dem Buildserver.
Informationen hierzu finden Sie unter NuGet-Paketwiederherstellung und Automatische Paketwiederherstellung.
Fehlender Menübefehl zum Öffnen von Application Insights aus Visual Studio
Beispielszenario:
Wenn ich mit der rechten Maustaste auf mein Projekt Projektmappen-Explorer klicke, wird keine Application Insights-Befehle angezeigt, oder ich sehe keinen Befehl "Application Insights öffnen"
Wahrscheinliche Ursachen:
- Sie haben die Application Insights-Ressource manuell erstellt.
- Das Projekt ist von einem Typ, den die Application Insights-Tools nicht unterstützen.
- Die Entwickleranalysetools sind in Ihrer Instanz von Visual Studio deaktiviert.
- Ihre Version von Visual Studio ist älter als Visual Studio 2013 Update 3.
Behebung:
- Stellen Sie sicher, dass Ihre Visual Studio-Version Visual Studio 2013 Update 3 oder höher ist.
- Wählen Sie Tools>Erweiterungen und Updates aus. Überprüfen Sie, ob Die Entwickleranalysetools installiert und aktiviert sind. Wenn es installiert und aktiviert ist, wählen Sie "Updates " aus, um festzustellen, ob ein Update verfügbar ist.
- Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt. Wenn der Befehl Application Insights>Configure Application Insights angezeigt wird, verwenden Sie ihn, um Ihr Projekt mit der Ressource im Application Insights-Dienst zu verbinden.
Andernfalls wird Ihr Projekttyp von Developer Analytics Tools nicht direkt unterstützt. Um Ihre Telemetrie anzuzeigen, melden Sie sich bei der Azure-Portal an, suchen und wählen Sie "Application Insights" aus, und wählen Sie Ihre Anwendung aus.
„Zugriff verweigert“ beim Öffnen von Application Insights aus Visual Studio
Beispielszenario:
Der Menübefehl "Anwendungseinblicke öffnen" führt mich zum Azure-Portal, aber ich erhalte einen Fehler "Zugriff verweigert".
Für die Microsoft-Anmeldung, die Sie zuletzt in Ihrem Standardbrowser verwendet haben, besteht kein Zugriff auf die Ressource, die beim Hinzufügen von Application Insights zu dieser App erstellt wurde. Es gibt zwei wahrscheinliche Ursachen:
Ursache | Lösung |
---|---|
Sie haben mehr als ein Microsoft-Konto – vielleicht ein geschäftliches und ein persönliches Microsoft-Konto. Wenn dies der Fall ist, war die Anmeldung, die Sie zuletzt in Ihrem Standardbrowser verwendet haben, für ein anderes Konto als das Konto, das Zugriff hat, um dem Projekt Application Insights hinzuzufügen. | Wählen Sie Ihren Namen in der oberen rechten Ecke des Browserfensters aus, und melden Sie sich ab. Melden Sie sich dann mit dem Konto an, das Zugriff hat. Suchen Und wählen Sie "Application Insights " aus, und wählen Sie Ihre Anwendung aus. |
Eine andere Person hat dem Projekt Application Insights hinzugefügt und vergessen, Ihnen Zugriff auf die Ressourcengruppe zu gewähren, in der sie erstellt wurde. | Wenn sie ein Organisationskonto verwendet haben, können sie Sie dem Team hinzufügen. Oder sie können Ihnen individuellen Zugriff auf die Ressourcengruppe gewähren. |
„Ressource nicht gefunden“ beim Öffnen von Application Insights aus Visual Studio
Beispielszenario:
Der Menübefehl "Anwendungseinblicke öffnen" führt mich zum Azure-Portal, aber ich erhalte einen Fehler "Ressource nicht gefunden".
Es gibt zwei wahrscheinliche Ursachen:
- Die Application Insights-Ressource für Ihre Anwendung wurde gelöscht.
- Jemand hat die Verbindungszeichenfolge in ApplicationInsights.config festgelegt oder geändert, ohne die Projektdatei zu aktualisieren.
Die Verbindungszeichenfolge in der Datei ApplicationInsights.config steuert, wo die Telemetrie gesendet wird. Über eine Zeile in der Projektdatei wird gesteuert, welche Ressource geöffnet wird, wenn Sie den Befehl in Visual Studio verwenden.
Wenden Sie eine der folgenden Fixes an:
- Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie "Application Insights>Configure Application Insights" aus. Im Dialogfeld können Sie entweder die Telemetrie an eine vorhandene Ressource senden oder eine neue erstellen.
- Öffnen Sie die Ressource direkt. Melden Sie sich beim Azure-Portal an, suchen Und wählen Sie "Application Insights" aus, und wählen Sie Ihre Anwendung aus.
Wo finde ich meine Telemetriedaten?
Beispielszenario:
Ich habe mich beim Azure-Portal angemeldet, und ich blicke auf das Azure-Startdashboard. Wo finde ich nun meine Application Insights-Daten?
- Suchen Und wählen Sie "Application Insights" aus, und wählen Sie Ihre Anwendung aus. Wenn noch keine Projekte vorhanden sind, müssen Sie Application Insights konfigurieren oder Ihrem Webprojekt hinzufügen. Sie können die Zusammenfassungsdiagramme durchsuchen, die angezeigt werden, um weitere Details anzuzeigen.
- Wählen Sie in Visual Studio beim Debuggen Ihrer App die Schaltfläche "Application Insights " aus.
Keine Serverdaten (oder überhaupt keine Daten)
Beispielszenario:
Ich habe meine App ausgeführt und dann den Application Insights-Dienst in Microsoft Azure geöffnet, aber alle Diagramme zeigen "Informationen zum Sammeln", "Nicht konfiguriert" oder nur Seitenansicht und Benutzerdaten, aber keine Serverdaten
Führen Sie Ihre Anwendung in Visual Studio im Debugmodus aus (F5). Verwenden Sie die Anwendung, um Telemetrie zu generieren. Überprüfen Sie, ob im Visual Studio-Ausgabefenster protokollierte Ereignisse angezeigt werden.
Wählen Sie im Portal "Application Insights" die Option "Übersichtssuche">aus. Hier werden Daten normalerweise zuerst angezeigt.
Klicken Sie auf Aktualisieren. Der Bereich wird regelmäßig aktualisiert, sie kann aber auch manuell ausgeführt werden. Das Aktualisierungsintervall für größere Zeiträume ist länger.
Stellen Sie sicher, dass die Verbindungszeichenfolge übereinstimmen. Sehen Sie sich im Hauptbereich für Ihre App im Application Insights-Portal in der Dropdownliste "Essentials" die Verbindungszeichenfolge an. Öffnen Sie dann in Ihrem Projekt in Visual Studio ApplicationInsights.config , und suchen Sie das
<ConnectionString>
Element. Überprüfen Sie, ob die beiden Zeichenfolgen gleich sind. Wenn die Zeichenfolgen nicht übereinstimmen, führen Sie eine der folgenden Aktionen aus:Environment Aktion Azure-Portal Suchen Und wählen Sie Application Insights aus, und suchen Sie dann mit der richtigen Zeichenfolge nach der App-Ressource. Visual Studio Klicken Sie in Visual Studio Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie "Anwendungseinblicke konfigurieren" aus.> Setzen Sie die App zurück, um Telemetrie an die richtige Ressource zu senden. Wenn Sie die übereinstimmenden Zeichenfolgen nicht finden können, stellen Sie sicher, dass Sie dieselben Anmeldeinformationen in Visual Studio verwenden, die Sie zum Anmelden beim Portal verwenden.
Suchen Sie im Azure-Portal nach Dienststatus, und wählen Sie "Dienststatus" aus. Wenn die Karte einige Warnungsanzeigen enthält, warten Sie, bis sie wieder in den Zustand zurückgekehrt sind. Schließen Sie dann den Anwendungsbereich "Application Insights", und öffnen Sie sie erneut.
Haben Sie Code für das serverseitige SDK geschrieben, mit dem die Verbindungszeichenfolge in
TelemetryClient
-Instanzen oder inTelemetryContext
geändert wird? Oder haben Sie eine Konfiguration für die Filterung oder Stichprobenerstellung geschrieben, bei der ggf. zu viel herausgefiltert wird?Wenn Sie ApplicationInsights.config bearbeitet haben, überprüfen Sie sorgfältig die Konfiguration von <TelemetryInitializers>- und <TelemetryProcessors-Elementen>. Ein falsch benannter Typ oder Parameter kann dazu führen, dass das SDK keine Daten sendet.
Keine Daten in Seitenansichten, Browsern und Verwendung
Beispielszenario:
Ich sehe Daten in Serverantwortzeit- und Serveranforderungen-Diagrammen, aber keine Daten in der Seitenansicht Ladezeit, oder im Browser- oder Verwendungsbereich
Die Daten kommen von Skripts auf den Webseiten.
- Wenn Sie Application Insights zu einem vorhandenen Webprojekt hinzugefügt haben, müssen Sie die Skripts manuell hinzufügen.
- Stellen Sie sicher, dass Internet Explorer Ihre Website nicht im Kompatibilitätsmodus anzeigt.
- Verwenden Sie das Debugfeature des Browsers (F12 in einigen Browsern, und wählen Sie dann Netzwerk) aus, um zu überprüfen, an ob Daten gesendet
dc.services.visualstudio.com
werden.
Keine Abhängigkeits- oder Ausnahmedaten
Weitere Informationen finden Sie unter Telemetriedaten zu Abhängigkeiten und Telemetriedaten für Ausnahmen.
Keine Leistungsdaten
Leistungsdaten wie CPU und E/A-Rate sind für die folgenden Umgebungen unter "Einstellungsserver">verfügbar:
- Java-Webdienste
- Windows-Desktop-Apps
- IIS-Web-Apps und -Dienste (wenn Sie den Application Insights-Agent installieren)
- Azure Cloud Services
Keine Daten (Serverdaten), seitdem ich die App auf meinem Server veröffentlicht habe
- Überprüfen Sie, ob Sie alle
Microsoft.ApplicationInsights
DLLs zusammen mitMicrosoft.Diagnostics.Instrumentation.Extensions.Intercept.dll
dem Server kopiert haben. - Möglicherweise müssen Sie in der Firewall einige TCP-Ports öffnen.
- Wenn Sie einen Proxy zum Senden aus Ihrem Unternehmensnetzwerk verwenden müssen, legen Sie das <defaultProxy-Element> in "web.config" fest.
Auswirkungen auf die Leistung, wenn Application Insights aktiviert ist
Das Aktivieren des Application Insights SDK in Ihrer Anwendung kann gelegentlich zu Leistungsproblemen führen, z. B. hohe CPU-Auslastung, Arbeitsspeicherverluste, Threadlecks oder TCP-Portausschöpfung. Diese Probleme stammen in der Regel aus den Anwendungsleckobjekten Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration
. Jede durchleckte Instanz erstellt zwei zusätzliche Threads, was zu einer kontinuierlichen Zunahme der Threadanzahl des Prozesses im Laufe der Zeit führt. Wenn Sie eine wachsende Anzahl von Threads beobachten, ist es wichtig, auf Lecks von TelemetryConfiguration-Objekten zu überprüfen.
Häufige Ursachen von TelemetryConfiguration-Lecks
Es gibt zwei Hauptursachen für Lecks TelemetryConfiguration
von Objekten:
Explizite Erstellung im Code: Wenn Sie Objekte in Ihrem Code erstellen
TelemetryConfiguration
, stellen Sie sicher, dass sie nicht versehentlich pro Webanforderung erstellt werden. Verwenden Sie stattdessen eine freigegebene globale Instanz. Greifen Sie für .NET Framework-Anwendungen auf die globale Instanz mitTelemetryConfiguration.Active
. Verwenden SieTelemetryConfiguration.CreateDefault()
für .NET Core-Anwendungen zum Abrufen einer Standardkonfiguration.Unzulässige Dienstanbieternutzung: Vermeiden Sie in .NET Core-Anwendungen Anrufe
services.BuildServiceProvider()
innerhalbConfigureServices
von . Die BuildServiceProvider-Methode erstellt einen neuen Dienstanbieter, der die Konfiguration initialisiert und liest, was jedes Mal zu einem neuenTelemetryConfiguration
Objekt führt. Ein solches Muster kann zu Lecks führen und wird abgeraten, wie in der Visual Studio-Warnung gegen diese Codierungspraxis angegeben.
Ich habe verwendet, um Daten anzuzeigen, aber es wurde angehalten.
Ist Ihr monatliches Kontingent an Datenpunkten erreicht? Öffnen Sie das Einstellungskontingent>und die Preise, um herauszufinden. Wenn ja, können Sie Ihren Plan aktualisieren oder für mehr Kapazität bezahlen. Informationen hierzu finden Sie in der Preisübersicht.
Nicht alle Daten werden erwartungsgemäß angezeigt.
Wenn Ihre Anwendung erhebliche Daten sendet und Sie das Application Insights SDK für ASP.NET Version 2.0.0-Beta3 oder höher verwenden, funktioniert das Feature für adaptives Sampling möglicherweise und sendet nur einen Prozentsatz Ihrer Telemetrie.
Sie können es deaktivieren, es wird jedoch nicht empfohlen. Sampling ist so konzipiert, dass die zugehörige Telemetrie für Diagnosezwecke korrekt übertragen wird.
Die Client-IP-Adresse lautet 0.0.0.0.
Am 5. Februar 2018 haben wir angekündigt, dass wir die Protokollierung der Client-IP-Adresse entfernt haben. Diese Empfehlung wirkt sich nicht auf geolocation aus.
Notiz
Wenn Sie die ersten drei Oktette der IP-Adresse benötigen, können Sie einen Telemetrieinitialisierer verwenden, um ein benutzerdefiniertes Attribut hinzuzufügen. Dieses Problem betrifft keine Daten, die vor dem 5. Februar 2018 gesammelt wurden.
Falsche geografische Daten in Benutzertelemetriedaten
Die Dimensionen "Ort" und "Land/Region" werden von IP-Adressen abgeleitet und sind nicht immer korrekt. Diese IP-Adressen werden zuerst im Hinblick auf den Standort verarbeitet und dann für die Speicherung in „0.0.0.0“ geändert.
Ausnahme „Methode nicht gefunden“ bei der Ausführung in Azure Cloud Services
Haben Sie für .NET Long Term Support (LTS) erstellt? Frühere Versionen werden nicht automatisch in Azure Cloud Services-Rollen unterstützt. Installieren Sie LTS für jede Rolle , bevor Sie Ihre App ausführen.
Problembehandlung bei Protokollen
Befolgen Sie diese Anweisungen, um Problembehandlungsprotokolle für Ihr Framework zu erfassen.
.NET Framework
Notiz
Ab Version 2.14 ist das Paket "Microsoft.AspNet.ApplicationInsights.HostingStartup " nicht mehr erforderlich. SDK-Protokolle werden jetzt mit dem Microsoft.ApplicationInsights-Paket gesammelt. Es ist kein anderes Paket erforderlich.
Ändern Sie die Datei ApplicationInsights.config so, dass sie den folgenden XML-Code enthält:
<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.FileDiagnosticsTelemetryModule, Microsoft.ApplicationInsights"> <Severity>Verbose</Severity> <LogFileName>mylog.txt</LogFileName> <LogFilePath>C:\\SDKLOGS</LogFilePath> </Add> </TelemetryModules>
Ihre Anwendung muss über Schreibberechtigungen für den konfigurierten Speicherort verfügen.
Starten Sie den Prozess neu, damit das SDK diese neuen Einstellungen wieder einnimmt.
Setzen Sie diese Änderungen zurück, wenn Sie fertig sind.
.NET Core
Installieren Sie das Application Insights SDK NuGet-Paket für ASP.NET Core von NuGet. Die Version, die Sie installieren, muss mit der aktuell installierten Version von
Microsoft.ApplicationInsights
übereinstimmen.Die neueste Version von
Microsoft.ApplicationInsights.AspNetCore
2.14.0 und bezieht sich aufMicrosoft.ApplicationInsights
Version 2.14.0. Aus diesem Grund sollte die zu installierendeMicrosoft.ApplicationInsights.AspNetCore
Version 2.14.0 sein.Ändern Sie die
ConfigureServices
Methode in Ihrer Startup.cs Klasse:services.AddSingleton<ITelemetryModule, FileDiagnosticsTelemetryModule>(); services.ConfigureTelemetryModule<FileDiagnosticsTelemetryModule>( (module, options) => { module.LogFilePath = "C:\\SDKLOGS"; module.LogFileName = "mylog.txt"; module.Severity = "Verbose"; } );
Ihre Anwendung muss über Schreibberechtigungen für den konfigurierten Speicherort verfügen.
Starten Sie den Prozess neu, damit das SDK diese neuen Einstellungen wieder einnimmt.
Setzen Sie diese Änderungen zurück, wenn Sie fertig sind.
Sammeln von Protokollen mit PerfView
PerfView ist ein kostenloses Tool, das dabei hilft, CPU- und Arbeitsspeicherprobleme sowie andere Probleme zu isolieren.
Das Application Insights SDK-Protokoll EventSource
verfügt über Selbstbehandlungsprotokolle, die von PerfView erfasst werden können.
Laden Sie PerfView herunter, und führen Sie den folgenden Befehl aus, um Protokolle zu erfassen:
PerfView.exe collect -MaxCollectSec:300 -NoGui /onlyProviders=*Microsoft-ApplicationInsights-Core,*Microsoft-ApplicationInsights-Data,*Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Microsoft-ApplicationInsights-Extensibility-HostingStartup,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Microsoft-ApplicationInsights-Extensibility-Web,*Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Microsoft-ApplicationInsights-WindowsServer-Core,*Microsoft-ApplicationInsights-LoggerProvider,*Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Microsoft-ApplicationInsights-AspNetCore,*Redfield-Microsoft-ApplicationInsights-Core,*Redfield-Microsoft-ApplicationInsights-Data,*Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Redfield-Microsoft-ApplicationInsights-Extensibility-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Redfield-Microsoft-ApplicationInsights-LoggerProvider,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Redfield-Microsoft-ApplicationInsights-AspNetCore
Sie können die folgenden Parameter nach Bedarf ändern:
Parameter | Beschreibung |
---|---|
MaxCollectSec |
Legen Sie diesen Parameter fest, damit PerfView nicht unbegrenzt läuft und die Leistung Ihres Servers beeinträchtigt. |
OnlyProviders |
Legen Sie diesen Parameter so fest, dass nur Protokolle aus dem SDK gesammelt werden. Sie können diese Liste entsprechend Ihren jeweiligen Untersuchungen anpassen. |
NoGui |
Legen Sie diesen Parameter so fest, dass Protokolle ohne grafische Benutzeroberfläche (GUI) gesammelt werden. |
Weitere Informationen finden Sie unter:
Sammeln von Protokollen mit dotnet-trace
Alternativ können Sie ein plattformübergreifendes .NET Core-Tool , dotnet-trace, zum Sammeln von Protokollen verwenden, die weitere Hilfe bei der Problembehandlung bieten können. Dieses Tool kann für Linux-basierte Umgebungen hilfreich sein.
Führen Sie nach der Installation dotnet-trace
den folgenden Befehl zum Sammeln von dotnet-trace in bash aus:
dotnet-trace collect --process-id <PID> --providers Microsoft-ApplicationInsights-Core,Microsoft-ApplicationInsights-Data,Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Microsoft-ApplicationInsights-Extensibility-HostingStartup,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Microsoft-ApplicationInsights-Extensibility-Web,Microsoft-ApplicationInsights-Extensibility-WindowsServer,Microsoft-ApplicationInsights-WindowsServer-Core,Microsoft-ApplicationInsights-LoggerProvider,Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Microsoft-ApplicationInsights-AspNetCore,Redfield-Microsoft-ApplicationInsights-Core,Redfield-Microsoft-ApplicationInsights-Data,Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Redfield-Microsoft-ApplicationInsights-Extensibility-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,Redfield-Microsoft-ApplicationInsights-LoggerProvider,Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Redfield-Microsoft-ApplicationInsights-AspNetCore
Entfernen von Application Insights
Um Application Insights in Visual Studio zu entfernen, führen Sie die unter "Application Insights entfernen" in Visual Studio bereitgestellten Schritte aus.
Es funktioniert noch nicht
Weitere Informationen finden Sie auf der Microsoft Q&A-Seite für Application Insights.
Informationen zum Haftungsausschluss von Drittanbietern
Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.