Sdílet prostřednictvím


Řešení potíží s profilerem Přehledy aplikací

Tento článek obsahuje postup řešení potíží a informace, které vám umožní používat profiler Přehledy aplikací.

Používáte příslušný koncový bod Profileru?

Jedinými oblastmi, které vyžadují úpravy koncových bodů, jsou Azure Government a Microsoft Azure provozované společností 21Vianet.

Nastavení aplikace Cloud pro státní správu USA Cloud Čína
Aplikace Přehledy ProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
Aplikace Přehledy Endpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

Běží vaše aplikace na správné verzi?

Profiler je podporován v rozhraní .NET Framework novější než 4.6.2.

Pokud je vaše webová aplikace ASP.NET Core, musí běžet na nejnovějším podporovaném modulu runtime ASP.NET Core.

Používáte správný plán služby Azure?

Profiler se v současné době nepodporuje u bezplatných nebo sdílených plánů služby App Service. Pokud chcete začít pracovat, upgradujte na jeden ze základních plánů profileru.

Poznámka:

Plán consumption služby Azure Functions se nepodporuje. Viz Profilovat živou aplikaci Azure Functions s Přehledy aplikace.

Hledáte data profileru ve správném časovém rámci?

Pokud jsou data, která se pokoušíte zobrazit, starší než dva týdny, zkuste omezit časový filtr a zkuste to znovu. Trasování se odstraní po sedmi dnech.

Máte přístup k bráně?

Zkontrolujte, že brána firewall nebo proxy servery neblokují váš přístup k této webové stránce.

Dochází k vypršení časového limitu nebo potřebujete zkontrolovat, jestli je Profiler spuštěný?

Data profilace se nahrají jenom v případech, kdy je možné je připojit k požadavku, ke kterému došlo při spuštění profileru. Profiler shromažďuje data po dobu dvou minut každou hodinu. Profiler můžete aktivovat také spuštěním relace profilace.

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ěží.

Vyhledejte zprávy trasování a vlastní události odeslané profilerem do vašeho prostředku Přehledy aplikace.

  1. V prostředku Přehledy aplikace vyberte v horní nabídce možnost Hledat.

    Snímek obrazovky znázorňující výběr tlačítka Hledat z prostředku Přehledy aplikace

  2. K vyhledání relevantních dat použijte následující hledaný řetězec:

    stopprofiler OR startprofiler OR upload OR ServiceProfilerSample
    

    Snímek obrazovky znázorňující výsledky hledání z výše uvedeného vyhledávacího řetězce

    Předchozí výsledky hledání zahrnují dva příklady hledání ze dvou prostředků umělé inteligence:

    • Pokud aplikace nepřijímá požadavky, když je Profiler spuštěný, zpráva vysvětluje, že nahrávání se zrušilo kvůli žádné aktivitě.

    • Profiler spustil a odeslal vlastní události, když zjistil požadavky, 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 je k dispozici v podokně Výkon Přehledy aplikace.

    Pokud se nezobrazují žádné záznamy, Profiler neběží nebo trvá příliš dlouho, než odpoví. Ujistěte se, že je ve vaší službě Azure povolený Profiler.

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

Pokud jsou k požadavku přidruženy dvě nebo více paralelních vláken, může být celková časová metrika v prohlížeči zásobníku větší než doba trvání požadavku. V takovém případě je celkový čas vlákna větší než skutečný čas uplynulého času.

Například jedno vlákno může čekat na dokončení druhého vlákna. Prohlížeč se pokusí zjistit tuto situaci a vynechá nezajímavé čekání. Při tom se zobrazuje příliš mnoho informací na straně zobrazení příliš velkého množství informací, a nikoli vynechání důležitých informací.

Když v trasování uvidíte paralelní vlákna, určete, která vlákna čekají, abyste mohli identifikovat horkou cestu pro požadavek. Obvykle vlákno, které rychle přejde do stavu čekání, čeká na ostatní vlákna. Soustřeďte se na ostatní vlákna a ignorujte čas v čekajících vláknech.

Řešení potíží s Profilerem ve vaší konkrétní službě Azure

Následující části vás provedou postupem řešení potíží pro použití Profileru ve službě Aplikace Azure nebo v Cloud Services Azure.

Azure App Service

Aby Profiler fungoval správně, ujistěte se, že:

  • Vaše webová aplikace má povolené Přehledy aplikace se správným nastavením.

  • Aplikace Přehledy Profiler3 WebJob je spuštěná. Postup kontroly webové úlohy:

    1. Jdi do Kudu. Na webu Azure Portal:

      1. V instanci služby App Service vyberte v levém podokně rozšířené nástroje .
      2. Vyberte Přejít.
    2. V horní nabídce vyberte Řídicí panel Webové úlohy Nástroje>. Otevře se podokno Webové úlohy .

      Pokud se aplikace Přehledy Profiler3 nezobrazí, restartujte aplikaci app Service.

      Snímek obrazovky znázorňující podokno WebJobs, ve kterém se zobrazuje název, stav a poslední modul runtime úloh

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

      Snímek obrazovky znázorňující podokno Průběžné podrobnosti webové úlohy

Pokud profiler ještě nefunguje, stáhněte si protokol a odešlete lístek podpora Azure.

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

Pokud jste profiler povolili prostřednictvím podokna Přehledy aplikace na portálu, spravuje ho rozšíření webu Diagnostické služby. Stavovou stránku tohoto rozšíření můžete zkontrolovat tak, že přejdete na https://{site-name}.scm.azurewebsites.net/DiagnosticServices.

Poznámka:

Doména odkazu na stavovou stránku se liší v závislosti na cloudu. Tato doména je stejná jako web pro správu Kudu pro App Service.

Na stránce stavu se zobrazuje stav instalace agentů Profileru a Snapshot Debuggeru . Pokud došlo k neočekávané chybě, zobrazí se spolu s postupem, jak ji opravit.

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

  1. Otevřete aplikaci App Service na webu Azure Portal.
  2. Vyberte Rozšířené nástroje.
  3. Vyberte Přejít.
  4. Na webu pro správu Kudu:
    1. Připojte /DiagnosticServices k adrese URL.
    2. Stiskněte klávesu Enter.

Končí jako https://<kudu-url>/DiagnosticServices.

Stavová stránka se zobrazí podobně jako v následujícím příkladu.

Snímek obrazovky se stránkou stavu diagnostických služeb

Poznámka:

Bez kódu instalace application Přehledy Profiler se řídí zásadami podpory .NET Core. Další informace o podporovanýchmodulech

Ruční instalace

Když nakonfigurujete Profiler, provede se aktualizace nastavení webové aplikace. V případě potřeby můžete aktualizace použít ručně.

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

Ve službě Aplikace Azure existuje limit pouze jedné relace profilace najednou. Tento limit se vynucuje na úrovni virtuálního počítače napříč všemi aplikacemi a sloty nasazení spuštěnými v plánu služby App Service. Tento limit platí stejně pro relace profilace spuštěné prostřednictvím diagnostiky a řešení problémů, Kudu a Profileru Přehledy aplikací. Pokud se Profiler pokusí spustit relaci, když už je spuštěná jiná, zaprotokoluje se v protokolu aplikace chyba a také průběžný protokol webové úlohy pro aplikaci Přehledy Profiler3.

V protokolech se může zobrazit jedna z následujících zpráv:

  • Microsoft.ServiceProfiler.Exceptions.TooManyETWSessionException
  • Error: StartProfiler failed. Details: System.Runtime.InteropServices.COMException (0xE111005E): Exception from HRESULT: 0xE111005E

Kód chyby 0xE111005E značí, že se relace profilace nemohla spustit, protože už je spuštěná jiná relace.

Pokud se chcete této chybě vyhnout, přesuňte některé webové aplikace do jiného plánu služby App Service nebo v některých aplikacích zakažte Profiler. Pokud používáte sloty nasazení, nezapomeňte zastavit všechny nepoužívané sloty.

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

Pokud webovou aplikaci znovu nasazujete do prostředku Web Apps 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 spouštíte nasazení webu ze skriptů nebo z Azure Pipelines. Vyřešte ho přidáním následujících parametrů nasazení do úlohy Nasazení webu:

-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 odblokují proces opětovného nasazení. Nemají vliv na instanci profileru, která je aktuálně spuštěná.

Je spuštěný profiler Přehledy aplikace?

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

Virtuální počítače a cloudové služby Azure

Pokud chcete zjistit, jestli je Profiler správně nakonfigurovaný službou Azure Diagnostics:

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

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

  3. Zkontrolujte soubor protokolu profileru a zjistěte, jestli se profiler spustil, ale vrátil chybu.

Pokud chcete zkontrolovat nastavení, která se použila ke konfiguraci diagnostiky Azure:

  1. Přihlaste se k virtuálnímu počítači.

  2. 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 Azure Cloud Services:

    c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
    
  3. V souboru vyhledejte řetězec WadCfg a vyhledejte nastavení předaná virtuálnímu počítači pro konfiguraci diagnostiky Azure.

  4. Zkontrolujte, jestli je klíč iKey používaný jímkou Profileru správný.

  5. Zkontrolujte příkazový řádek, který spouští Profiler. Argumenty příkazového řádku jsou v následujícím souboru (jednotka může být c: nebo d: může být skrytá):

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

    C:\ProgramData\ApplicationInsightsProfiler\config.json
    

    Pro Azure Cloud Services:

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

  7. Pomocí cesty nalezené v předchozím souboru config.json zkontrolujte soubor protokolu profileru s názvem BootstrapN.log. Zobrazuje se:

    • Informace o ladění, které indikují nastavení, která Profiler používá.
    • Stav a chybové zprávy z Profileru

    Soubor najdete:

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

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

    Pro Azure Cloud Services:

    C:\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
    
  8. Pokud je Profiler spuštěný, když vaše aplikace přijímá požadavky, zobrazí se následující zpráva: "Aktivita zjištěná z iKey".

  9. Po nahrání trasování se zobrazí následující zpráva: "Spustit nahrání trasování".

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

Pokud se vaše aplikace připojuje k internetu přes proxy server nebo bránu firewall, možná budete muset aktualizovat pravidla pro komunikaci s Profilerem.

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čky služeb.

Technická podpora

Pokud stále potřebujete pomoc, odešlete lístek podpory na webu Azure Portal. Zahrňte ID korelace z chybové zprávy.