Felsöka Application Insights Profiler

I den här artikeln beskrivs felsökningssteg och information så att du kan använda Application Insights Profiler.

Använder du lämplig Profiler-slutpunkt?

För närvarande är de enda regioner som kräver slutpunktsändringar Azure Government och Microsoft Azure som drivs av 21Vianet.

Appinställning US Government Cloud Kina, moln
ApplicationInsightsProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
ApplicationInsightsEndpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

Körs appen på rätt version?

Profiler stöds i .NET Framework senare än 4.6.2.

Om din webbapp är ett ASP.NET Core-program måste den köras på den senaste ASP.NET Core-körningen som stöds.

Använder du rätt Azure-tjänstplan?

Profiler stöds för närvarande inte i kostnadsfria eller delade apptjänstplaner. Uppgradera till en av de grundläggande planerna för Profiler för att börja arbeta.

Kommentar

Azure Functions-förbrukningsplanen stöds inte. Se Profil live Azure Functions-app med Application Insights.

Söker du efter Profiler-data inom rätt tidsram?

Om de data du försöker visa är äldre än två veckor kan du försöka begränsa tidsfiltret och försöka igen. Spårningar tas bort efter sju dagar.

Kan du komma åt gatewayen?

Kontrollera att en brandvägg eller proxyservrar inte blockerar din åtkomst till den här webbsidan.

Ser du tidsgränser eller behöver du kontrollera om Profiler körs?

Profileringsdata laddas bara upp när de kan kopplas till en begäran som inträffade när Profiler kördes. Profiler samlar in data i två minuter i timmen. Du kan också utlösa Profiler genom att starta en profileringssession.

Profiler skriver spårningsmeddelanden och anpassade händelser till din Application Insights-resurs. Du kan använda dessa händelser för att se hur Profiler körs.

Sök efter spårningsmeddelanden och anpassade händelser som skickats av Profiler till din Application Insights-resurs.

  1. I Application Insights-resursen väljer du Sök på den översta menyn.

    Screenshot that shows selecting the Search button from the Application Insights resource.

  2. Använd följande söksträng för att hitta relevanta data:

    stopprofiler OR startprofiler OR upload OR ServiceProfilerSample
    

    Screenshot that shows the search results from aforementioned search string.

    Föregående sökresultat innehåller två exempel på sökningar från två AI-resurser:

    • Om programmet inte tar emot begäranden när Profiler körs förklarar meddelandet att uppladdningen avbröts på grund av ingen aktivitet.

    • Profiler startade och skickade anpassade händelser när begäranden som inträffade när Profiler kördes upptäcktes. Om den ServiceProfilerSample anpassade händelsen visas innebär det att en profil har registrerats och är tillgänglig i fönstret Application Insights-prestanda .

    Om inga poster visas körs inte Profiler eller har överskridit tidsgränsen. Kontrollera att du har aktiverat Profiler på din Azure-tjänst.

Dubbelräkning i parallella trådar

När två eller flera parallella trådar associeras med en begäran kan det totala tidsmåttet i stackvisningsprogrammet vara mer än varaktigheten för begäran. I så fall är den totala trådtiden mer än den faktiska förflutna tiden.

En tråd kan till exempel vänta på att den andra ska slutföras. Visningsprogrammet försöker identifiera den här situationen och utelämnar den ointressanta väntan. När du gör det felar den på sidan av att visa för mycket information i stället för att utelämna vad som kan vara viktig information.

När du ser parallella trådar i spårningarna ska du bestämma vilka trådar som väntar så att du kan identifiera den heta sökvägen för begäran. Vanligtvis väntar tråden som snabbt hamnar i väntetillstånd på de andra trådarna. Koncentrera dig på de andra trådarna och ignorera tiden i de väntande trådarna.

Felsök profilerare för din specifika Azure-tjänst

I följande avsnitt går vi igenom felsökningsstegen för att använda Profiler i Azure App Service eller Azure Cloud Services.

Azure App Service

För att Profiler ska fungera korrekt kontrollerar du att:

  • Din webbapp har Application Insights aktiverat med rätt inställningar.

  • ApplicationInsightsProfiler3-webbjobbet körs. Så här kontrollerar du webbjobbet:

    1. Gå till Kudu. I Azure-portalen:

      1. I App Service-instansen väljer du Avancerade verktyg i den vänstra rutan.
      2. Välj .
    2. På den översta menyn väljer du Verktyg>WebJobs-instrumentpanel. Fönstret Webbjobb öppnas.

      Om ApplicationInsightsProfiler3 inte visas startar du om App Service-programmet.

      Screenshot that shows the WebJobs pane, which displays the name, status, and last runtime of jobs.

    3. Om du vill visa information om webbjobbet, inklusive loggen, väljer du länken ApplicationInsightsProfiler3 . Fönstret Kontinuerlig webbjobbsinformation öppnas.

      Screenshot that shows the Continuous WebJob Details pane.

Om Profiler fortfarande inte fungerar för dig laddar du ned loggen och skickar ett Azure-supportärende.

Kontrollera statussidan för diagnostiktjänstens webbplatstillägg

Om Profiler aktiverades via application insights-fönstret i portalen aktiverades det av webbplatstillägget För diagnostiktjänster. Du kan kontrollera statussidan för det här tillägget genom att gå till https://{site-name}.scm.azurewebsites.net/DiagnosticServices.

Kommentar

Domänen för länken för statussidan varierar beroende på molnet. Den här domänen är samma som Kudu-hanteringswebbplatsen för App Service.

På statussidan visas installationstillståndet för agenterna Profiler och Snapshot Debugger . Om det uppstod ett oväntat fel visas det tillsammans med steg för hur du åtgärdar det.

Du kan använda Kudu-hanteringswebbplatsen för App Service för att hämta bas-URL:en för den här statussidan:

  1. Öppna ditt App Service-program i Azure-portalen.
  2. Välj Avancerade verktyg.
  3. Välj .
  4. På Kudu-hanteringswebbplatsen:
    1. Lägg till /DiagnosticServices i URL:en.
    2. Välj Retur.

Det slutar som https://<kudu-url>/DiagnosticServices.

En statussida visas ungefär som i följande exempel.

Screenshot that shows the Diagnostic Services status page.

Kommentar

Kodlös installation av Application Insights Profiler följer .NET Core-supportprincipen. Mer information om körning som stöds finns i .NET Core-supportprincip.

Manuell installation

När du konfigurerar Profiler görs uppdateringar av webbappens inställningar. Om det behövs kan du tillämpa uppdateringarna manuellt.

För många aktiva profileringssessioner

Du kan aktivera Profiler på högst fyra webbappar som körs i samma tjänstplan. Om du har fler än fyra kan Profiler utlösa följande fel:

Microsoft.ServiceProfiler.Exceptions.TooManyETWSessionException

Lös problemet genom att flytta vissa webbappar till en annan tjänstplan.

Distributionsfel: Katalogen är inte tom "D:\home\site\wwwroot\App_Data\jobs"

Om du distribuerar om webbappen till en Web Apps-resurs med Profiler aktiverat kan följande meddelande visas:

"Katalogen är inte tom 'D:\home\site\wwwroot\App_Data\jobs'"

Det här felet uppstår om du kör Web Deploy från skript eller från Azure Pipelines. Lös det genom att lägga till följande distributionsparametrar i aktiviteten Webbdistribution:

-skip:Directory='.*\\App_Data\\jobs\\continuous\\ApplicationInsightsProfiler.*' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs\\continuous$' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs$'  -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data$'

Dessa parametrar tar bort mappen som används av Application Insights Profiler och avblockerar omdistributionsprocessen. De påverkar inte profileringsinstansen som körs för närvarande.

Körs Application Insights Profiler?

Profiler körs som ett kontinuerligt webbjobb i webbappen. Du kan öppna webbappresursen i Azure-portalen. I fönstret Webbjobb kontrollerar du statusen för ApplicationInsightsProfiler. Om den inte körs öppnar du Loggar för att få mer information.

Virtuella datorer och Azure Cloud Services

Så här ser du om Profiler har konfigurerats korrekt av Azure Diagnostics:

  1. Kontrollera att innehållet i den distribuerade Azure Diagnostics-konfigurationen är vad du förväntar dig.

  2. Kontrollera att Azure Diagnostics skickar rätt iKey på kommandoraden Profiler.

  3. Kontrollera loggfilen Profiler för att se om Profiler kördes men returnerade ett fel.

Så här kontrollerar du de inställningar som användes för att konfigurera Azure Diagnostics:

  1. Logga in på den virtuella datorn (VM).

  2. Öppna loggfilen på den här platsen. Plugin-versionen kan vara nyare på datorn.

    För virtuella datorer:

    c:\WindowsAzure\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
    

    För Azure Cloud Services:

    c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
    
  3. I filen söker du efter strängen WadCfg för att hitta de inställningar som skickades till den virtuella datorn för att konfigurera Azure Diagnostics.

  4. Kontrollera om iKey som används av profileringsmottagaren är korrekt.

  5. Kontrollera kommandoraden som används för att starta Profiler. Argumenten som används för att starta Profiler finns i följande fil (enheten kan vara c: eller d: och katalogen kan vara dold):

    För virtuella datorer:

    C:\ProgramData\ApplicationInsightsProfiler\config.json
    

    För Azure Cloud Services:

    D:\ProgramData\ApplicationInsightsProfiler\config.json
    
  6. Kontrollera att iKey på kommandoraden Profiler är korrekt.

  7. Genom att använda sökvägen i föregående config.json-fil kontrollerar du loggfilen Profiler med namnet BootstrapN.log. Den visar:

    • Felsökningsinformationen som anger de inställningar som Profiler använder.
    • Status och felmeddelanden från Profiler.

    Du hittar filen:

    För virtuella datorer:

    C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
    

    För Azure Cloud Services:

    C:\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
    
  8. Om Profiler körs medan programmet tar emot begäranden visas följande meddelande: "Aktivitet har identifierats från iKey".

  9. När spårningen laddas upp visas följande meddelande: "Börja ladda upp spårning".

Redigera nätverksproxy eller brandväggsregler

Om ditt program ansluter till Internet via en proxy eller en brandvägg kan du behöva uppdatera reglerna för att kommunicera med Profiler.

IP-adresser som används av Application Insights Profiler ingår i Azure Monitor-tjänsttaggen. Mer information finns i dokumentationen om tjänsttaggar.

Support

Om du fortfarande behöver hjälp skickar du ett supportärende i Azure-portalen. Inkludera korrelations-ID:t från felmeddelandet.