Sdílet prostřednictvím


Sledování závislostí v Application Insights

Závislost je komponenta, která je volána vaší aplikací. Obvykle se jedná o službu, která se volá pomocí protokolu HTTP, databáze nebo systému souborů. Application Insights měří dobu trvání volání skrz závislosti, zjišťuje, zda volání selhává či nikoli, a shromažďuje informace, jako je název závislosti. Můžete prozkoumat konkrétní volání závislostí a korelovat je s požadavky a výjimkami.

Automaticky sledované závislosti

Tato část odkazuje na seznamy volání závislostí, která se automaticky detekují jako závislosti, aniž by vyžadovala další úpravy kódu vaší aplikace. Tyto závislosti jsou vizualizovány v zobrazení mapy aplikace Application Insights a diagnostiky transakcí.

Pokud vaše závislost není v seznamu, můžete ji stále sledovat ručně, viz Ruční sledování závislostí.

Seznam všech automaticky sbíraných závislostí najdete na kartách dle jazyka v části Přidat a upravit Azure Monitor OpenTelemetry pro .NET, Java, Node.js a aplikace Python.

Jak funguje automatické monitorování závislostí?

Závislosti se automaticky shromažďují pomocí jedné z následujících technik v závislosti na metodě shromažďování telemetrie.

  • Knihovny instrumentace OpenTelemetry se používají k automatickému shromažďování závislostí, jako jsou volání HTTP, SQL a Azure SDK. Tyto knihovny se připojují k podporovaným architekturám a klientským knihovnám pomocí DiagnosticSource nebo ekvivalentních mechanismů.

  • V podporovaných prostředích, jako je Azure App Services, je automatická instrumentace k dispozici a povolená ve výchozím nastavení, což umožňuje vkládání kolektorů telemetrie za běhu bez nutnosti měnit kód.

  • V jiných prostředích můžou vývojáři ručně nakonfigurovat instrumentaci pomocí balíčků Azure.Monitor.OpenTelemetry.* a rozhraní OpenTelemetry API, aby mohli řídit, které závislosti se sledují a jak jsou rozšířené nebo filtrované.

Ruční sledování závislostí

Závislosti můžete sledovat ručně, když automatické shromažďování nevyhovuje vašim potřebám.

Tip

U nových projektů doporučujeme používat OpenTelemetry, aby byla větší flexibilita a budoucí kompatibilita.

Informace o ručním sledování závislostí najdete v tématu Přidání a úprava OpenTelemetry služby Azure Monitor pro aplikace .NET, Java, Node.jsa Python.

Kde najít data závislostí

Následující nástroje a zobrazení v Application Insights usnadňují zkoumání a analýzu telemetrie závislostí:

Pohledy Popis
Mapa aplikace Nabízí vizuální znázornění závislostí vaší aplikace a jejich vztahů s externími službami.
Diagnostika transakcí Zobrazí úplné podrobnosti o transakci, korelující operace na straně serveru s závislostními voláními.
Karta Prohlížeče v zobrazeních selhání a výkonu Zvýrazní volání AJAX z klientských prohlížečů.
Karta Server v zobrazeních selhání a výkonu Umožňuje podrobně analyzovat pomalé nebo neúspěšné požadavky serveru a zkoumat související volání závislostí.

Podívejte se na příklady sledování požadavků na závislosti a neúspěšných požadavků spojených s chybnými voláními závislostí.
Protokoly služby Azure Monitor Umožňuje pokročilé dotazování a analýzu telemetrie závislostí.

Podívejte se na příklady sledování závislostí pomocí jazyka KQL.

Diagnostika pomalých požadavků

Každá událost požadavku je přidružená k voláním závislostí, výjimkám a dalším událostem sledovaným při zpracování požadavku. Takže pokud některé požadavky dělají špatně, můžete zjistit, jestli je to kvůli pomalým odpovědím z závislosti.

Trasování z požadavků na závislosti

Vyberte kartu Výkon vlevo a v horní části vyberte kartu Závislosti.

V části Overall (Celkový) vyberte název závislosti. Po výběru závislosti se zobrazí graf rozdělení doby trvání této závislosti.

Snímek obrazovky znázorňující otevřenou kartu Závislosti pro výběr názvu závislosti v grafu

Vyberte tlačítko Ukázky v pravém dolním rohu. Pak vyberte ukázku, abyste viděli podrobnosti o celé transakci.

Snímek obrazovky znázorňující výběr ukázky pro zobrazení podrobností o celé transakci

Profilování živého webu

. NET Profiler sleduje volání HTTP na váš živý web a zobrazuje funkce v kódu, které trvaly nejdelší dobu.

Neúspěšné požadavky

Neúspěšné požadavky můžou být přidružené také k neúspěšným voláním závislostí.

Vyberte kartu Selhání vlevo a pak v horní části vyberte kartu Závislosti.

Snímek obrazovky znázorňující výběr grafu neúspěšných požadavků

Tady se zobrazí počet neúspěšných závislostí. Pokud chcete získat další informace o neúspěšném výskytu, vyberte v dolní tabulce název závislosti. Výběrem tlačítka Závislosti v pravém dolním rohu zobrazíte podrobnosti o celé transakci.

Protokoly (Analytics)

Závislosti můžete sledovat v dotazovacím jazyce Kusto. Tady je několik příkladů.

  • Vyhledejte všechna neúspěšná volání závislostí:

    dependencies | where success != "True" | take 10
    
  • Vyhledání volání AJAX:

    dependencies | where client_Type == "Browser" | take 10
    
  • Vyhledání volání závislostí přidružených k žádostem:

    dependencies
    | where timestamp > ago(1d) and  client_Type != "Browser"
    | join (requests | where timestamp > ago(1d))
        on operation_Id  
    
  • Vyhledání volání AJAX přidružených k zobrazením stránek:

    dependencies
    | where timestamp > ago(1d) and  client_Type == "Browser"
    | join (browserTimings | where timestamp > ago(1d))
        on operation_Id
    

Otevřené SDK

Stejně jako každá sada Application Insights SDK je modul kolekce závislostí také opensourcový. Přečtěte si kód nebo nahlaste problémy v oficiálním úložišti GitHubu a přispějte k ho.

Další kroky