Řešení potíží s povolením nebo zobrazením profileru Přehledy aplikace

Obecné řešení potíží

Ujistěte se, že používáte příslušný koncový bod profileru.

V současné době jsou jedinými oblastmi, které vyžadují úpravy koncových bodů, Azure Government a Azure China.

Nastavení aplikace Cloud státní správy USA Čína Cloud
ApplicationInsightsProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
ApplicationInsightsEndpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

Profily se nahrají jenom v případě, že v době, kdy je profiler spuštěný, existují požadavky na vaši aplikaci.

Aplikace Azure Přehledy Profiler shromažďuje data po dobu dvou minut každou hodinu. Může také shromažďovat data, když v podokně Konfigurovat aplikaci Přehledy Profiler vyberete tlačítko Profil nyní.

Poznámka

Data profilace se nahrají jenom v případě, že je možné je připojit k požadavku, ke kterému došlo při spuštění Profileru.

Profiler zapisuje trasovací zprávy a vlastní události do prostředku Přehledy aplikace. Pomocí těchto událostí můžete zjistit, jak profiler běží:

  1. Vyhledejte trasovací zprávy a vlastní události odeslané profilerem do vašeho prostředku Přehledy aplikace. Pomocí tohoto vyhledávacího řetězce můžete najít relevantní data:

    stopprofiler OR startprofiler OR upload OR ServiceProfilerSample
    

    Na následujícím obrázku jsou dva příklady hledání ze dvou prostředků umělé inteligence:

    • Na levé straně aplikace nepřijímají žádosti, když je Profiler spuštěný. Zpráva vysvětluje, že nahrávání bylo zrušeno kvůli žádné aktivitě.

    • Na pravé straně profiler spustil a odeslal vlastní události, když zjistil žádosti, ke kterým došlo při spuštění Profileru. ServiceProfilerSample Pokud se zobrazí vlastní událost, znamená to, že byl zaznamenán profil a jeho dostupný v podokně Výkon Přehledy aplikace.

      Pokud se nezobrazují žádné záznamy, Profiler není spuštěný. Pokud chcete řešit potíže, projděte si oddíly pro řešení potíží pro konkrétní typ aplikace dále v tomto článku.

      Search Profiler telemetry

Další věci, které je potřeba zkontrolovat

  • Ujistěte se, že vaše aplikace běží na .NET Framework 4.6.
  • Pokud je vaše webová aplikace ASP.NET Core aplikace, musí běžet aspoň ASP.NET Core 2.0.
  • Pokud data, která se pokoušíte zobrazit, jsou starší než několik týdnů, zkuste omezit časový filtr a zkuste to znovu. Trasování se odstraní po sedmi dnech.
  • Ujistěte se, že proxy servery nebo brána firewall nezablokovaly přístup k https://gateway.azureserviceprofiler.net.
  • Profiler se nepodporuje u bezplatných nebo sdílených plánů služby App Service. Pokud používáte jeden z těchto plánů, zkuste vertikálně navýšit kapacitu na jeden ze základních plánů a Profiler by měl začít fungovat.

Dvojité počítání v paralelních vláknech

V některých případech je celková časová metrika v prohlížeči zásobníku větší než doba trvání požadavku.

K této situaci může dojít, když jsou k požadavku přidruženy dvě nebo více paralelních vláken. V takovém případě je celkový čas vlákna delší než uplynulý čas.

Jedno vlákno může čekat na dokončení druhého vlákna. Divák se pokusí tuto situaci rozpoznat a vynechá nezajímavé čekání. To znamená, že se na straně zobrazení příliš velkého množství informací místo vynechání toho, co může být důležité informace.

Když se ve trasování zobrazí paralelní vlákna, určete, která vlákna čekají, abyste mohli identifikovat horkou cestu pro požadavek.

Vlákno, které rychle přejde do stavu čekání, obvykle jednoduše čeká na ostatních vláknech. Soustřeďte se na ostatní vlákna a ignorujte čas v čekajících vláknech.

Sestava chyb v prohlížeči profilů

Odešlete lístek podpory na portálu. Nezapomeňte zahrnout ID korelace z chybové zprávy.

Řešení potíží s Profilerem na Azure App Service

Aby Profiler fungoval správně:

  • Plán služby Web App Service musí být úroveň Basic nebo vyšší.

  • Vaše webová aplikace musí mít povolené Přehledy aplikace.

  • Vaše webová aplikace musí mít následující nastavení aplikace:

    Nastavení aplikace Hodnota
    APPINSIGHTS_INSTRUMENTATIONKEY iKey pro prostředek Přehledy aplikace
    APPINSIGHTS_PROFILERFEATURE_VERSION 1.0.0
    DiagnosticServices_EXTENSION_VERSION ~3
  • Webová úloha ApplicationInsightsProfiler3 musí být spuštěná. Kontrola webové úlohy:

    1. Přejděte do Kudu.

    2. V nabídce Nástroje vyberte Řídicí panel Webové úlohy.
      Otevře se podokno Webové úlohy .

      Screenshot shows the WebJobs pane, which displays the name, status, and last run time of jobs.

    3. Pokud chcete zobrazit podrobnosti webové úlohy, včetně protokolu, vyberte odkaz ApplicationInsightsProfiler3 .
      Otevře se podokno Podrobnosti průběžné webové úlohy .

      Screenshot shows the Continuous WebJob Details pane.

Pokud profiler nefunguje za vás, můžete si protokol stáhnout a poslat ho našemu týmu za pomoc. serviceprofilerhelp@microsoft.com

Kontrola stavové stránky rozšíření webu diagnostické služby

Pokud byl Profiler povolený prostřednictvím podokna Přehledy aplikace na portálu, bylo povoleno rozšířením webu Diagnostické služby.

Poznámka

Bez kódu instalace application Přehledy Profiler se řídí zásadami podpory .NET Core. Další informace o podporovaných modulech runtime najdete v tématu Zásady podpory .NET Core.

Stavovou stránku tohoto rozšíření můžete zkontrolovat tak, že přejdete na následující adresu URL: https://{site-name}.scm.azurewebsites.net/DiagnosticServices

Poznámka

Doména odkazu na stránku stavu se bude lišit v závislosti na cloudu. Tato doména bude stejná jako lokalita pro správu Kudu pro App Service.

Tato stránka stavu zobrazuje stav instalace agentů Profileru a Snapshot Collectoru. Pokud došlo k neočekávané chybě, zobrazí se a ukáže se, jak ji opravit.

K získání základní adresy URL této stránky stavu můžete použít web pro správu Kudu pro App Service:

  1. Otevřete aplikaci App Service v Azure Portal.
  2. Vyberte Rozšířené nástroje nebo vyhledejte Kudu.
  3. Vyberte Přejít.
  4. Jakmile jste na webu pro správu Kudu, připojte na adrese URL následující /DiagnosticServices a stiskněte enter. Skončí takto: https://<kudu-url>/DiagnosticServices

Zobrazí se stránka stavu podobná následující: Diagnostic Services Status Page

Ruční instalace

Při konfiguraci Profileru se aktualizují nastavení webové aplikace. Pokud ho vaše prostředí vyžaduje, můžete aktualizace použít ručně. Příkladem může být to, že vaše aplikace běží v Web Apps prostředí pro Power Apps. Ruční použití aktualizací:

  1. V podokně Ovládací prvek webové aplikace otevřete Nastavení.

  2. Nastavte verzi .NET Framework na verzi v4.6.

  3. Nastavte funkci AlwaysOn na Zapnuto.

  4. Vytvořte tato nastavení aplikace:

    Nastavení aplikace Hodnota
    APPINSIGHTS_INSTRUMENTATIONKEY iKey pro prostředek Přehledy aplikace
    APPINSIGHTS_PROFILERFEATURE_VERSION 1.0.0
    DiagnosticServices_EXTENSION_VERSION ~3

Příliš mnoho aktivních relací profilace

Profiler můžete povolit maximálně čtyři Web Apps, které běží ve stejném plánu služby. Pokud máte více než čtyři, profiler může vyvolat Microsoft.ServiceProfiler.Exceptions.TooManyETWSessionException. Pokud ho chcete vyřešit, přesuňte některé webové aplikace do jiného plánu služby.

Chyba nasazení: Adresář není prázdný 'D:\home\site\wwwroot\App_Data\jobs'

Pokud webovou aplikaci znovu nasazujete do Web Apps prostředku s povoleným Profilerem, může se zobrazit následující zpráva:

Adresář není prázdný 'D:\home\site\wwwroot\App_Data\jobs'

K této chybě dochází, pokud spustíte nasazení webu ze skriptů nebo z Azure Pipelines. Řešením je přidat do úlohy Nasazení webu následující parametry nasazení:

-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$'

Tyto parametry odstraní složku používanou aplikací Přehledy Profiler a odblokuje proces opětovného nasazení. Nemají vliv na instanci Profileru, která je aktuálně spuštěná.

Návody určit, jestli je spuštěný profiler Přehledy aplikace?

Profiler běží jako souvislá webová úloha ve webové aplikaci. Prostředek webové aplikace můžete otevřít v Azure Portal. V podokně WebJobs zkontrolujte stav ApplicationInsightsProfiler. Pokud není spuštěný, otevřete protokoly a získejte další informace.

Řešení potíží s virtuálními počítači a Cloud Services

Byla opravena chyba v profileru, který se dodává ve WAD pro Cloud Services. Nejnovější verze WAD (1.12.2.0) pro Cloud Services funguje se všemi nejnovějšími verzemi sady App Přehledy SDK. Hostitelé cloudových služeb automaticky upgraduje WAD, ale není okamžitá. Pokud chcete vynutit upgrade, můžete službu znovu nasadit nebo restartovat uzel.

Pokud chcete zjistit, jestli je Profiler správně nakonfigurovaný Azure Diagnostics, postupujte následovně:

  1. Ověřte, že obsah nasazené konfigurace Azure Diagnostics je to, co očekáváte.

  2. Za druhé se ujistěte, že Azure Diagnostics předá správný klíč iKey na příkazovém řádku Profileru.

  3. Za třetí zkontrolujte soubor protokolu Profileru a zjistěte, jestli profiler běžel, ale vrátil chybu.

Kontrola nastavení použitých ke konfiguraci Azure Diagnostics:

  1. Přihlaste se k virtuálnímu počítači a pak otevřete soubor protokolu v tomto umístění. Verze modulu plug-in může být na vašem počítači novější.

    Pro virtuální počítače:

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

    Pro Cloud Services:

    c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log  
    
  2. V souboru můžete vyhledat řetězec WadCfg a najít nastavení, která byla předána virtuálnímu počítači pro konfiguraci Azure Diagnostics. Můžete zkontrolovat, jestli je klíč iKey používaný jímkou Profileru správný.

  3. Zkontrolujte příkazový řádek, který se používá ke spuštění Profileru. Argumenty používané ke spuštění Profileru jsou v následujícím souboru. (Jednotka může být c: nebo d: a adresář může být skrytý.)

    Pro virtuální počítače:

    C:\ProgramData\ApplicationInsightsProfiler\config.json
    

    pro Cloud Services:

    D:\ProgramData\ApplicationInsightsProfiler\config.json
    
  4. Ujistěte se, že je klíč iKey na příkazovém řádku Profileru správný.

  5. Pomocí cesty nalezené v předchozím souboru config.json zkontrolujte soubor protokolu Profiler s názvem BootstrapN.log. Zobrazí informace o ladění, které označují nastavení, která profiler používá. Zobrazuje také stav a chybové zprávy z Profileru.

    Pro virtuální počítače je soubor tady:

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

    Pro Cloud Services:

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

    Pokud profiler běží, když vaše aplikace přijímá požadavky, zobrazí se následující zpráva: Aktivita zjištěná z iKey.

    Při nahrání trasování se zobrazí následující zpráva: Začněte nahrávat trasování.

Úprava pravidel proxy serveru sítě nebo brány firewall

Pokud se vaše aplikace připojí k internetu přes proxy server nebo bránu firewall, budete možná muset aktualizovat pravidla pro komunikaci se službou Profiler.

IP adresy používané službou Application Přehledy Profiler jsou součástí značky služby Azure Monitor. Další informace najdete v dokumentaci ke značkách služeb.