Řešení potíží s profilerem Application Insights

Tento článek obsahuje kroky pro řešení potíží a informace, které vám umožní používat Profiler Application Insights.

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 pro státní správu USA Cloud pro Čínu
ApplicationInsightsProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
ApplicationInsightsEndpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

Je vaše aplikace spuštěná ve 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 aplikace, 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 plánů 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 Azure Functions consumption se nepodporuje. Viz Profilování živé aplikace Azure Functions pomocí Application Insights.

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, jestli vám přístup k této webové stránce neblokuje brána firewall nebo proxy servery.

Je Profiler spuštěný?

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

Profiler zapisuje zprávy trasování a vlastní události do prostředku Application Insights. Pomocí těchto událostí můžete zjistit, jak je Profiler spuštěný.

Vyhledejte trasovací zprávy a vlastní události odeslané Profilerem do vašeho prostředku Application Insights.

  1. V prostředku Application Insights v horní nabídce vyberte Hledat .

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

  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 s výsledky hledání z výše uvedeného hledaného řetězce

    Předchozí výsledky hledání obsahují dva příklady hledání ze dvou prostředků AI:

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

    • Profiler spustil a odeslal vlastní události, když zjistil požadavky, ke kterým došlo v době, kdy byl Profiler spuštěný. Pokud se ServiceProfilerSample zobrazí vlastní událost, znamená to, že byl zaznamenán profil, který je k dispozici v podokně Výkon Application Insights .

    Pokud se nezobrazí žádné záznamy, Profiler není spuštěný. Ujistěte se, že jste ve službě Azure povolili Profiler.

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

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

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řitom se na straně zobrazení příliš velkého množství informací místo toho, aby se vynechaly informace, které by mohly být důležité.

Když se v 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 čeká na ostatních vláknech. 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 při řešení potíží s používáním Profileru na Azure App Service nebo Azure Cloud Services.

Azure App Service

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

  • Vaše webová aplikace má povolenou službu Application Insights se správným nastavením.

  • Webová úloha ApplicationInsightsProfiler3 je spuštěná. Postup kontroly webové úlohy:

    1. Jdi na Kudu. Na webu Azure Portal:

      1. V App Service instanci vyberte v levém podokně Rozšířené nástroje.
      2. Vyberte Přejít.
    2. V horní nabídce vyberte Nástroje>– řídicí panel webových úloh. Otevře se podokno Webové úlohy .

      Pokud se ApplicationInsightsProfiler3 nezobrazí, restartujte App Service aplikaci.

      Snímek obrazovky s podoknem Webové úlohy, které zobrazuje název, stav a poslední modul runtime úloh

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

      Snímek obrazovky s podoknem Podrobnosti průběžné webové úlohy

Pokud profiler pro vás stále nefunguje, stáhněte si protokol a odešlete lístek podpora Azure.

Kontrola stránky se stavem rozšíření webu diagnostických služeb

Pokud byl Profiler povolený prostřednictvím podokna Application Insights na portálu, povolilo 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 stránku stavu se liší v závislosti na cloudu. Tato doména je stejná jako lokalita pro správu Kudu pro App Service.

Stavová stránka 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 App Service:

  1. Otevřete aplikaci App Service v Azure Portal.
  2. Vyberte Rozšířené nástroje.
  3. Vyberte Přejít.
  4. Na webu pro správu Kudu:
    1. Připojte k adrese URL /DiagnosticServices.
    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

Instalace profileru Application Insights bez kódu se řídí zásadami podpory .NET Core. Další informace o podporovaných modulech runtime najdete v tématu Zásady podpory .NET Core.

Ruční instalace

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

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

Profiler můžete povolit maximálně u čtyř webových aplikací, které běží ve stejném plánu služby. Pokud máte více než čtyři, profiler může vyvolat následující chybu:

Microsoft.ServiceProfiler.Exceptions.TooManyETWSessionException

Pokud to 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 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í v případě, že spustíte nasazení webu ze skriptů nebo ze služby Azure Pipelines. Problém vyřešíte 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 profilerem Application Insights a odblokují proces opětovného nasazení. Nemají vliv na aktuálně spuštěnou instanci profileru.

Je profiler Application Insights spuštěný?

Profiler běží ve webové aplikaci jako nepřetržitá webová úloha. 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.

Virtuální počítače a Azure Cloud Services

Pokud chcete zjistit, jestli je profiler správně nakonfigurovaný pomocí Azure Diagnostics:

  1. Ověřte, že obsah nasazené konfigurace Azure Diagnostics odpovídá očekávání.

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

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

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

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

  2. V tomto umístění otevřete soubor protokolu. Verze modulu plug-in může být na vašem počítači novější.

    Virtuální počítače:

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

    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í, která byla předána virtuálnímu počítači pro konfiguraci Azure Diagnostics.

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

  5. Zkontrolujte příkazový řádek, který se používá ke spuštění Profileru. Argumenty, které se používají 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ý):

    Virtuální počítače:

    C:\ProgramData\ApplicationInsightsProfiler\config.json
    

    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, kterou jste našli v předchozím souboru config.json , zkontrolujte soubor protokolu profileru s názvem BootstrapN.log. Zobrazuje se:

    • Informace o ladění, které označují nastavení, které Profiler používá.
    • Stavové a chybové zprávy z Profileru.

    Soubor najdete:

    Virtuální počítače:

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

    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 klíče iKey".

  9. Po nahrání trasování se zobrazí následující zpráva: "Start to upload trace" (Spustit nahrávání trasování).

Úprava pravidel síťového proxy serveru 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é profilerem Application Insights jsou součástí značky služby Azure Monitor. Další informace najdete v dokumentaci ke značky služeb.

Podpora

Pokud stále potřebujete pomoc, odešlete lístek podpory v Azure Portal. Uveďte ID korelace z chybové zprávy.