Mapa aplikace: Třídění distribuovaných aplikací
Vývojáři používají mapy aplikací k reprezentaci logické struktury distribuovaných aplikací. Mapa se vytváří identifikací jednotlivých komponent aplikace s jejich roleName
nebo name
vlastností v zaznamenané telemetrii. Kruhy (nebo uzly) na mapě představují komponenty a směrové čáry (spojnice nebo hrany) ukazují volání HTTP ze zdrojových uzlů do cílových uzlů.
Azure Monitor poskytuje funkci mapy aplikací, která vám pomůže rychle implementovat kritické body mapování a odhalit kritické body výkonu nebo hotspoty selhání napříč všemi komponentami. Každý uzel mapy je komponenta aplikace nebo její závislosti a poskytuje stav klíčových ukazatelů výkonu a výstrah. Pokud chcete zobrazit podrobnou diagnostiku komponenty, jako jsou události Application Insights, můžete vybrat libovolný uzel. Pokud vaše aplikace používá služby Azure, můžete také vybrat diagnostiku Azure, například doporučení sql Database Advisoru.
Mapa aplikací také nabízí inteligentní zobrazení , které pomáhá s rychlým vyšetřováním stavu služby.
Principy komponent
Komponenty jsou nezávisle nasaditelné části distribuované aplikace nebo aplikace mikroslužeb. Vývojáři a provozní týmy mají viditelnost na úrovni kódu nebo přístup k telemetrii generovaným těmito komponentami aplikace.
Některé aspekty komponent:
- Komponenty se liší od "pozorovaných" externích závislostí, jako jsou Azure SQL a Azure Event Hubs, ke kterým váš tým nebo organizace nemusí mít přístup (kód nebo telemetrie).
- Komponenty běží na libovolném počtu instancí serveru, role nebo kontejneru.
- Komponenty můžou být samostatné prostředky Application Insights, i když se liší předplatná. Můžou to být také různé role, které se hlásí do jednoho prostředku Application Insights. Prostředí mapy ve verzi Preview zobrazuje komponenty bez ohledu na to, jak jsou nastavené.
Prozkoumání mapy aplikace
Mapa aplikace umožňuje zobrazit úplnou topologii aplikací napříč několika úrovněmi souvisejících komponent aplikace. Jak je popsáno výše, komponenty můžou být různé prostředky Application Insights, závislé komponenty nebo různé role v jednom prostředku. Mapa aplikace vyhledá komponenty pomocí následujících volání závislostí HTTP provedených mezi servery s nainstalovanou sadou Application Insights SDK.
Prostředí mapování začíná progresivním zjišťováním komponent v rámci aplikace a jejich závislostmi. Při prvním načtení mapy aplikace se aktivuje sada dotazů ke zjištění komponent souvisejících s hlavní komponentou. Při zjištění komponent zobrazuje stavový řádek aktuální počet zjištěných komponent:
Následující části popisují některé akce, které jsou k dispozici pro práci s mapou aplikace na webu Azure Portal.
Aktualizace komponent mapy
Možnost Aktualizovat komponenty mapy aktivuje zjišťování komponent a aktualizuje mapu tak, aby zobrazovala všechny aktuální uzly. V závislosti na složitosti aplikace může aktualizace trvat minutu:
Pokud jsou všechny komponenty aplikace role v rámci jednoho prostředku Application Insights, krok zjišťování se nevyžaduje. Počáteční zatížení v tomto scénáři aplikace zjistí všechny komponenty.
Zobrazení podrobností o komponentě
Klíčovým cílem prostředí mapy aplikace je pomoct vizualizovat složité topologie, které mají stovky komponent. V tomto scénáři je užitečné vylepšit zobrazení mapy podrobnostmi o jednotlivých uzlech pomocí možnosti Zobrazit podrobnosti . Podokno podrobností uzlu zobrazuje související přehledy, výkon a možnosti třídění selhání pro vybranou komponentu:
Každá část podokna obsahuje možnost zobrazit další informace v rozšířeném zobrazení, včetně selhání, výkonu a podrobností o neúspěšných požadavcích a závislostech.
Prověřit chyby
V podokně podrobností uzlu můžete pomocí možnosti Prozkoumat selhání zobrazit všechna selhání komponenty:
Zobrazení Selhání umožňuje prozkoumat data selhání pro operace, závislosti, výjimky a role související s vybranou komponentou:
Prověřit výkon
V podokně podrobností uzlu můžete řešit problémy s výkonem komponenty výběrem možnosti Prozkoumat výkon :
Zobrazení Výkon umožňuje prozkoumat telemetrická data pro operace, závislosti a role propojené s vybranou komponentou:
Přechod na podrobnosti a trasování zásobníku
Možnost Přejít k podrobnostem v podokně podrobností uzlu zobrazuje prostředí komplexní transakce pro komponentu. V tomto podokně můžete zobrazit podrobnosti na úrovni zásobníku volání:
Otevře se stránka, kde se zobrazí zobrazení časové osy pro podrobnosti:
Pomocí možnosti Zobrazit vše můžete zobrazit podrobnosti zásobníku s informacemi o trasování a událostech komponenty:
Zobrazení v protokolech (Analytics)
V podokně podrobností uzlu můžete dotazovat a prozkoumat data aplikací pomocí možnosti Zobrazit v protokolech (Analytics ):
Stránka Protokoly (Analytics) nabízí možnosti prozkoumání záznamů tabulek telemetrie aplikace pomocí předdefinovaných nebo vlastních dotazů a funkcí. S daty můžete pracovat úpravou formátu a uložením a exportem analýzy:
Zobrazení upozornění a pravidel
Možnost Zobrazit výstrahy v podokně podrobností uzlu umožňuje zobrazit aktivní výstrahy:
Na stránce Upozornění se zobrazují kritická a aktivovaná upozornění:
Možnost Pravidla upozornění na stránce Výstrahy zobrazuje podkladová pravidla, která způsobují aktivaci výstrah:
Vysvětlení názvů a uzlů cloudových rolí
Mapa aplikace používá vlastnost názvu cloudové role k identifikaci komponent aplikace na mapě. Pokud chcete zjistit, jak se názvy cloudových rolí používají s uzly komponent, podívejte se na mapu aplikace, která obsahuje více názvů cloudových rolí.
Následující příklad ukazuje mapu v hierarchickém zobrazení s pěti uzly komponent a konektory na devět závislých uzlů. Každý uzel má název cloudové role.
Mapa aplikace používá různé barvy, zvýraznění a velikosti uzlů k znázornění dat a relací komponent aplikace:
Názvy cloudových rolí vyjadřují různé aspekty distribuované aplikace. V tomto příkladu některé role aplikace zahrnují
Contoso Retail Check
,Fabrikam-App
,fabrikam-loadfunc
, ,retailfabrikam-37ha6
aretailapp
.Tečkovaný modrý kruh kolem uzlu označuje poslední vybranou komponentu. V tomto příkladu je poslední vybraná komponenta
Web
uzlem.Když vyberete uzel, aby se zobrazily podrobnosti, zvýrazní ho plný modrý kruh. V tomto příkladu je
Contoso Retail Reports
aktuálně vybraný uzel .Vzdálené nebo nesouvisející uzly komponent se oproti ostatním uzlům zobrazují menší. Tyto položky jsou v zobrazení neaktivní, aby se zvýrazňoval výkon aktuálně vybrané komponenty.
V tomto příkladu každý název cloudové role také představuje jiný jedinečný prostředek Application Insights s vlastními instrumentačními klíči. Vzhledem k tomu, že vlastník této aplikace má přístup ke každému z těchto čtyř různorodých prostředků Application Insights, mapa aplikace může spojit mapu základních relací.
Prozkoumání instancí cloudových rolí
Když název cloudové role odhalí problém někde ve webovém front-endu a používáte několik serverů s vyrovnáváním zatížení ve webovém front-endu, může být použití instance cloudové role užitečné. Mapa aplikací umožňuje zobrazit podrobnější informace o uzlu komponenty pomocí dotazů Kusto. Uzel můžete prozkoumat a zobrazit podrobnosti o konkrétních instancích cloudových rolí. Tento přístup vám pomůže určit, jestli se problém týká všech webových front-endových serverů nebo pouze konkrétních instancí.
Scénář, ve kterém můžete chtít přepsat hodnotu instance cloudové role, je situace, kdy vaše aplikace běží v kontejnerizovaném prostředí. V takovém případě nemusí informace o jednotlivých serverech stačit k vyhledání konkrétního problému.
Další informace o přepsání vlastnosti názvu cloudové role inicializátory telemetrie naleznete v tématu Přidání vlastností: ITelemetryInitializer.
Nastavení názvů cloudových rolí
Mapa aplikace používá vlastnost názvu cloudové role k identifikaci komponent na mapě. Tato část obsahuje příklady ručního nastavení nebo přepsání názvů cloudových rolí a změnu toho, co se zobrazí na mapě aplikace.
Poznámka:
Sada Application Insights SDK nebo agent automaticky přidá vlastnost názvu cloudové role do telemetrie generované komponentami v prostředí služby Aplikace Azure Service.
Následující fragment kódu ukazuje definice schématu pro cloudovou roli a instanci cloudové role:
[Description("Name of the role the application is a part of. Maps directly to the role name in Azure.")]
[MaxStringLength("256")]
705: string CloudRole = "ai.cloud.role";
[Description("Name of the instance where the application is running. Computer name for on-premises, instance name for Azure.")]
[MaxStringLength("256")]
715: string CloudRoleInstance = "ai.cloud.roleInstance";
Zápis vlastního telemetrieInitializer
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
namespace CustomInitializer.Telemetry
{
public class MyTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
if (string.IsNullOrEmpty(telemetry.Context.Cloud.RoleName))
{
//set custom role name here
telemetry.Context.Cloud.RoleName = "Custom RoleName";
telemetry.Context.Cloud.RoleInstance = "Custom RoleInstance";
}
}
}
}
ASP.NET aplikací: Inicializátor načítání v aktivní telemetrické konfiguraci
V souboru ApplicationInsights.config:
<ApplicationInsights>
<TelemetryInitializers>
<!-- Fully qualified type name, assembly name: -->
<Add Type="CustomInitializer.Telemetry.MyTelemetryInitializer, CustomInitializer"/>
...
</TelemetryInitializers>
</ApplicationInsights>
Alternativní metodou ASP.NET webových aplikací je vytvoření instance inicializátoru v kódu. Následující příklad ukazuje kód v souboru Global.aspx.cs :
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
protected void Application_Start()
{
// ...
TelemetryConfiguration.Active.TelemetryInitializers.Add(new MyTelemetryInitializer());
}
Poznámka:
Přidání inicializátoru pomocí ApplicationInsights.config
vlastnosti nebo TelemetryConfiguration.Active
použití není platné pro aplikace ASP.NET Core.
ASP.NET základních aplikací: Načtení inicializátoru do TelemetryConfiguration
Pro ASP.NET základní aplikace přidáte novou TelemetryInitializer
instanci do kontejneru injektáže závislostí. Následující příklad ukazuje tento přístup. Přidejte tento kód do ConfigureServices
metody třídy Startup.cs
.
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}
Použití filtrů map aplikací
Filtry map aplikací pomáhají snížit počet viditelných uzlů a hran na mapě. Tyto filtry lze použít ke zmenšení rozsahu mapy a zobrazení menšího a více zaměřeného zobrazení.
Rychlý způsob filtrování spočívá v použití možnosti Filtr na tomto uzlu v místní nabídce pro libovolný uzel na mapě:
Můžete také vytvořit filtr s možností Přidat filtr :
Vyberte typ filtru (uzel nebo konektor) a požadované nastavení a zkontrolujte volby a použijte je na aktuální mapu.
Vytvoření filtrů uzlů
Filtry uzlů umožňují zobrazit v mapě aplikace jenom určité uzly a skrýt všechny ostatní uzly. Nakonfigurujete parametry pro vyhledávání vlastností uzlů v mapě pro hodnoty, které odpovídají podmínce. Když filtr uzlu odebere uzel, filtr odebere také všechny konektory a hrany uzlu.
Filtr uzlu má tři parametry ke konfiguraci:
Zahrnuté uzly: Typy uzlů, které se mají zkontrolovat v mapě aplikace pro odpovídající vlastnosti. Existují čtyři možnosti:
Uzly, zdroje a cíle: Do mapy výsledků jsou zahrnuty všechny uzly, které splňují kritéria hledání. Všechny zdrojové a cílové uzly pro odpovídající uzly se také automaticky zahrnou do mapy výsledků, i když zdroje nebo cíle nesplňují kritéria hledání. Zdrojové a cílové uzly se souhrnně označují jako připojené uzly.
Uzly a zdroje: Stejné chování jako Uzly, zdroje a cíle, ale cílové uzly nejsou do mapy výsledků zahrnuty automaticky.
Uzly a cíle: Stejné chování jako Uzly, zdroje a cíle, ale zdrojové uzly nejsou do mapy výsledků zahrnuty automaticky.
Pouze uzly: Všechny uzly v mapě výsledků musí mít hodnotu vlastnosti, která odpovídá kritériím hledání.
Operátor: Typ podmíněného testu, který se má provést u hodnot vlastností každého uzlu. Existují čtyři možnosti:
contains
: Hodnota vlastnosti uzlu obsahuje hodnotu zadanou v parametru hodnota hledání.!contains
Hodnota vlastnosti uzlu neobsahuje hodnotu zadanou v parametru hodnota vyhledávání.==
: Hodnota vlastnosti uzlu se rovná hodnotě zadané v parametru hodnota vyhledávání.!=
: Hodnota vlastnosti uzlu se nerovná hodnotě zadané v parametru hodnoty vyhledávání.
Hodnota hledání: Textový řetězec, který se má použít pro podmíněný test hodnoty vlastnosti. Rozevírací seznam pro parametr zobrazuje hodnoty pro existující uzly v mapě aplikace. Můžete vybrat hodnotu ze seznamu nebo vytvořit vlastní hodnotu. Do pole parametru zadejte vlastní hodnotu a pak v seznamu vyberte Možnost Vytvořit . Můžete například zadat
test
a pak v seznamu vybrat možnost Vytvořit možnost Test .
Následující obrázek ukazuje příklad filtru použitého na mapu aplikace, která zobrazuje 30 dnů dat. Filtr dává aplikaci pokyn, aby vyhledaly uzly a připojené cíle s vlastnostmi obsahujícími text retailapp:
Do mapy výsledků se zahrnou odpovídající uzly a jejich připojené cílové uzly:
Vytvoření filtrů konektoru (okrajů)
Filtry konektorů umožňují zobrazit jenom určité uzly s konkrétními konektory v mapě aplikace a skrýt všechny ostatní uzly a konektory. Nakonfigurujete parametry pro vyhledávání vlastností spojnic v mapě pro hodnoty, které odpovídají podmínce. Pokud uzel nemá žádné odpovídající konektory, filtr odebere uzel z mapy.
Filtr konektoru má tři parametry ke konfiguraci:
Filtrovat konektory podle: Typy konektorů, které chcete zkontrolovat v mapě aplikace pro odpovídající vlastnosti. Existují čtyři možnosti. Váš výběr řídí dostupné možnosti pro další dva parametry.
Operátor: Typ podmíněného testu, který se má provést s hodnotou každého konektoru.
Hodnota: Hodnota porovnání, která se má použít pro podmíněný test hodnoty vlastnosti. Rozevírací seznam parametru obsahuje hodnoty relevantní pro aktuální mapu aplikace. Můžete vybrat hodnotu ze seznamu nebo vytvořit vlastní hodnotu. Můžete například zadat
16
a pak v seznamu vybrat možnost Vytvořit "16" .
Následující tabulka shrnuje možnosti konfigurace podle vašeho výběru pro konektory filter podle parametru.
Filtrování konektorů podle | Popis | Parametr operátoru | Parametr hodnoty | Využití |
---|---|---|---|---|
Chybový konektor (zvýrazněný červeně) | Vyhledejte konektory na základě jejich barvy. Barva červená označuje, že spojnice je ve stavu chyby. | == : Rovná se != : Nerovná se |
Vždy nastaveno na Chyby | Zobrazit pouze konektory s chybami nebo pouze konektory bez chyb. |
Míra chyb (0 % – 100 %) | Vyhledejte konektory na základě průměrné míry chyb (počet neúspěšných volání vydělený počtem všech volání). Hodnota se vyjadřuje jako procento. | >= Větší než nebo rovno <= Menší než nebo rovno |
V rozevíracím seznamu se zobrazují průměrné míry chyb relevantní pro aktuální konektory v mapě aplikace. Zvolte hodnotu ze seznamu nebo zadejte vlastní hodnotu podle výše popsaného procesu. | Zobrazení konektorů s mírami selhání větší než nebo nižší než vybraná hodnota |
Průměrná doba trvání volání (ms) | Vyhledejte konektory na základě průměrné doby trvání všech volání napříč konektorem. Hodnota se měří v milisekundách. | >= Větší než nebo rovno <= Menší než nebo rovno |
V rozevíracím seznamu se zobrazují průměrné doby trvání relevantní pro aktuální konektory v mapě aplikace. Například hodnota 1000 odkazuje na volání s průměrnou dobou trvání 1 sekundy. Zvolte hodnotu ze seznamu nebo zadejte vlastní hodnotu podle výše popsaného procesu. |
Zobrazí konektory s průměrnou mírou doby trvání volání větší než nebo nižší než vybraná hodnota. |
Počet volání | Vyhledejte konektory na základě celkového počtu volání v rámci konektoru. | >= Větší než nebo rovno <= Menší než nebo rovno |
V rozevíracím seznamu se zobrazují celkové počty volání relevantní pro aktuální konektory v mapě aplikace. Zvolte hodnotu ze seznamu nebo zadejte vlastní hodnotu podle výše popsaného procesu. | Zobrazí konektory s počtem volání větších nebo nižších než vybraná hodnota. |
Indikátory percentilu pro hodnotu
Když filtrujete konektory podle míry chyb, průměrné doby trvání volání nebo počtu volání, některé možnosti parametru (Pxx)
Value zahrnují označení. Tento indikátor zobrazuje úroveň percentilu. U filtru Průměrné doby trvání volání se může zobrazit hodnota 200 (P90)
. Tato možnost znamená, že 90 % všech konektorů (bez ohledu na počet volání, která představují) má méně než 200 ms doby trvání volání.
Možnosti hodnoty, které zahrnují úroveň percentilu, můžete zobrazit zadáním P
do pole parametru.
Kontrola filtrů
Po provedení výběru se v části Kontrola v místní nabídce Přidat filtr zobrazí textové a vizuální popisy filtru. Souhrnné zobrazení vám pomůže pochopit, jak se filtr vztahuje na mapu vaší aplikace.
Následující příklad ukazuje souhrn kontroly filtru uzlu, který hledá uzly a cíle s vlastnostmi, které mají text -west:
Tento příklad ukazuje souhrn filtru konektoru, který hledá konektory (a uzly, které se připojují) s průměrnou dobou trvání volání, která je rovna nebo větší než 42 ms:
Použití filtrů pro mapování
Jakmile nakonfigurujete a zkontrolujete nastavení filtru, vyberte Použít a vytvořte filtr. Na stejnou mapu aplikace můžete použít více filtrů. V mapě aplikace se použité filtry zobrazují jako pilulky nad mapou:
Akce Odebrat na pilulce filtru umožňuje odstranit filtr. Když odstraníte použitý filtr, zobrazení mapy se aktualizuje, aby odečetla logiku filtru.
Mapa aplikace aplikuje logiku filtru na mapu postupně počínaje levým filtrem v seznamu. Při použití filtrů se uzly a konektory odeberou ze zobrazení mapy. Po odebrání uzlu nebo konektoru ze zobrazení nemůže následný filtr položku obnovit.
Konfiguraci použitého filtru můžete změnit tak, že vyberete pilulku filtru. Když změníte nastavení filtru, mapa aplikace zobrazí náhled zobrazení mapy s novou logikou filtru. Pokud se rozhodnete změny nepoužívat, můžete použít možnost Storno pro aktuální zobrazení mapy a filtry.
Prozkoumání a ukládání filtrů
Když zjistíte zajímavý filtr, můžete ho uložit a později ho znovu použít pomocí možnosti Kopírovat odkaz nebo Připnout na řídicí panel :
Možnost Kopírovat odkaz zakóduje všechna aktuální nastavení filtru ve zkopírované adrese URL. Tento odkaz můžete uložit do záložek prohlížeče nebo ho sdílet s ostatními. Tato funkce zachovává hodnotu doby trvání v nastavení filtru, ale ne absolutní čas. Když později použijete odkaz, vytvořená mapa aplikace se může lišit od mapy, která se nachází v okamžiku zachycení odkazu.
Možnost Připnout na řídicí panel přidá aktuální mapu aplikace na řídicí panel spolu s aktuálními filtry. Běžným diagnostickým přístupem je připnout mapu s použitým filtrem konektoru chyby. Aplikaci můžete monitorovat pro uzly s chybami v jejich voláníCH HTTP.
Následující části popisují některé běžné filtry, které platí pro většinu map a můžou být užitečné připnout na řídicí panel.
Kontrola důležitých chyb
Vytvoří zobrazení mapy pouze spojnic s chybami (červeně zvýrazněnými) za posledních 24 hodin. Mezi filtry patří parametr konektoru Error v kombinaci s inteligentním zobrazením:
Funkce Inteligentní zobrazení je popsaná dále v tomto článku.
Skrytí konektorů s nízkým provozem
Skryjte konektory s nízkým provozem bez chyb v zobrazení mapy, abyste se mohli rychle zaměřit na důležitější problémy. Mezi filtry patří konektory za posledních 24 hodin s počtem volání větších než 2872 (P20):
Zobrazení konektorů s vysokým provozem
Zobrazí konektory s vysokým provozem, které mají také vysokou průměrnou dobu trvání volání. Tento filtr může pomoct identifikovat potenciální problémy s výkonem. Filtry v tomto příkladu zahrnují konektory za posledních 24 hodin s počtem volání větším než 10854 (P50) a průměrnou dobou trvání volání větší než 578 (P80):
Vyhledání součástí podle názvu
Vyhledejte komponenty (uzly a konektory) v aplikaci podle názvu podle vaší implementace zásady vytváření názvů vlastností komponenty roleName
. Tento přístup můžete použít k zobrazení konkrétní části distribuované aplikace. Filtr vyhledá uzly, zdroje a cíle za posledních 24 hodin, které obsahují zadanou hodnotu. V tomto příkladu je vyhledávací hodnota "west":
Odebrání hlučných komponent
Definujte filtry pro skrytí hlučných součástí tím, že je odeberete z mapy. Komponenty aplikace můžou někdy mít aktivní závislé uzly, které vytvářejí data, která nejsou pro zobrazení mapy nezbytná. V tomto příkladu filtr vyhledá uzly, zdroje a cíle za posledních 24 hodin, které neobsahují zadanou hodnotu retail:
Vyhledání konektorů náchylných k chybám
Zobrazit pouze konektory, které mají vyšší chybovost než konkrétní hodnota. Filtr v tomto příkladu vyhledá konektory za posledních 24 hodin, které mají chybovost větší než 3 %:
Prozkoumání inteligentního zobrazení
Funkce Inteligentní zobrazení pro mapu aplikace je navržená tak, aby pomáhala při vyšetřování stavu služby. Používá strojové učení k rychlé identifikaci potenciálních původních příčin problémů filtrováním šumu. Model strojového učení se učí z historického chování mapy aplikací za účelem identifikace dominantních vzorů a anomálií, které označují potenciální příčiny incidentu.
Ve velkých distribuovaných aplikacích je vždy nějaký stupeň šumu pocházejícího z "neškodných" selhání, což může způsobit , že mapa aplikace bude hlučná zobrazením mnoha červených hran. Inteligentní zobrazení ukazuje pouze nejpravděpodobnější příčiny selhání služby a odebere červené hrany mezi uzly (komunikace mezi službami) ve službách, které jsou v pořádku. Inteligentní zobrazení zvýrazňuje okraje červeně, které by se měly prozkoumat. Nabízí také užitečné přehledy pro zvýrazněnou hranu.
Používání inteligentního zobrazení má mnoho výhod:
- Zkracuje dobu řešení tím, že zvýrazní pouze chyby, které je potřeba prozkoumat.
- Poskytuje užitečné přehledy o tom, proč byla zvýrazněná určitá červená hrana.
- Umožňuje bezproblémově používat mapu aplikací pro velké distribuované aplikace (tím, že se zaměříte pouze na okraje označené červenou barvou).
Inteligentní zobrazení má určitá omezení:
- Načtení velkých distribuovaných aplikací může trvat minutu.
- Podporují se časové rámce až sedmi dnů.
Práce s inteligentním zobrazením
Přepínač nad mapou aplikace umožňuje povolit inteligentní zobrazení a řídit citlivost detekce problému:
Inteligentní zobrazení používá patentovaný model strojového učení AIOps ke zvýraznění (červených) významných a důležitých dat v mapě aplikace. Různá data aplikací slouží k určení, která data se mají na mapě zvýraznit, včetně míry selhání, počtu požadavků, dob trvání, anomálií a typu závislosti. Pro porovnání standardní zobrazení mapy využívá pouze nezpracovanou míru selhání.
Mapa aplikace zvýrazňuje okraje červeně podle nastavení citlivosti. Citlivost můžete upravit, abyste dosáhli požadované úrovně spolehlivosti ve zvýrazněných hranách.
Citlivost | Popis |
---|---|
Vysoko | Zvýrazní se méně hran. |
Medium | (Výchozí nastavení) Zvýrazní se vyvážený počet hran. |
Nízký | Jsou zvýrazněny další hrany. |
Kontrola přehledů s možností akce
Po povolení inteligentního zobrazení vyberte na mapě zvýrazněnou hranu (červenou) a zobrazte pro danou komponentu přehledy s možnostmi akcí. Přehledy se zobrazí v podokně napravo a vysvětlují, proč je okraj zvýrazněný.
Pokud chcete začít řešit problém, vyberte Prozkoumat selhání. Informace o komponentě v podokně Selhání můžete zkontrolovat a zjistit, jestli je zjištěný problém původní příčinou.
Pokud inteligentní zobrazení nezvýrazňuje žádné hrany na mapě aplikace, model strojového učení nenašel potenciální incidenty v závislostech vaší aplikace.
Rady pro řešení potíží
Pokud máte potíže s fungováním mapy aplikace podle očekávání, projděte si návrhy v následujících částech.
Tady je několik obecných doporučení:
Použijte oficiálně podporovanou sadu SDK. Nepodporované sady SDK nebo sady SDK komunity nemusí podporovat korelaci. Seznam podporovaných sad SDK najdete v tématu Application Insights: Jazyky, platformy a integrace.
Upgradujte všechny komponenty na nejnovější verzi sady SDK.
Podpora Azure Functions s C# upgradem na Azure Functions V2
Ujistěte se, že je název cloudové role správně nakonfigurovaný.
Ověřte, že všechny chybějící závislosti jsou uvedené jako automatickycollectované závislosti. Pokud závislost není uvedená, můžete ji sledovat ručně pomocí volání sledování závislostí.
Příliš mnoho uzlů na mapě
Mapa aplikace přidá uzel komponenty pro každý jedinečný název cloudové role v telemetrii požadavku. Tento proces také přidá uzel závislosti pro každou jedinečnou kombinaci typu, cíle a názvu cloudové role.
Pokud máte v telemetrii více než 10 000 uzlů, mapa aplikace nemůže načíst všechny uzly a odkazy. V tomto scénáři je struktura mapy neúplná. Pokud k tomuto scénáři dojde, při zobrazení mapy se zobrazí zpráva s upozorněním.
Mapa aplikace může vykreslit maximálně 1 000 samostatných neseskupených uzlů najednou. Mapa aplikace snižuje vizuální složitost seskupením závislostí, pokud mají stejný typ a volající.
Pokud vaše telemetrie obsahuje příliš mnoho jedinečných názvů cloudových rolí nebo příliš mnoho typů závislostí, seskupení není dostatečné a mapa se nevykreslí.
Pokud chcete tento problém vyřešit, musíte změnit instrumentaci, abyste správně nastavili název cloudové role, typ závislosti a cílová pole závislostí. Ověřte, že vaše aplikace dodržuje následující kritéria:
Každý cíl závislosti představuje logický název závislosti. V mnoha případech je tato hodnota ekvivalentní názvu serveru nebo prostředku závislosti. Pokud jsou například závislosti HTTP, hodnota je název hostitele. Hodnota by neměla obsahovat jedinečná ID nebo parametry, které se mění z jednoho požadavku na jiný.
Každý typ závislosti představuje logický typ závislosti. Například HTTP, SQL nebo Azure Blob jsou typické typy závislostí. Tato hodnota by neměla obsahovat jedinečná ID.
Každý účel názvu cloudové role použije popis v části Nastavení nebo přepsání názvu cloudové role.
Inteligentní zobrazení: Edge není zvýrazněný
Inteligentní zobrazení nemusí zvýrazňovat hranu podle očekávání ani s nastavením nízké citlivosti. Může se zdát, že závislost je neúspěšná, ale model tento problém neuvádí jako potenciální incident. Tady je několik možných scénářů:
Pokud závislost běžně selže, model může zvážit selhání jako standardní stav komponenty a nezvýraznit okraj. Inteligentní zobrazení se zaměřuje na řešení problémů v reálném čase.
Pokud závislost má minimální vliv na celkový výkon aplikace, inteligentní zobrazení může komponentu během modelování strojového učení ignorovat.
Pokud je váš scénář jedinečný, můžete použít možnost Váš názor k popisu prostředí a vylepšení budoucích verzí modelu.
Inteligentní zobrazení: Zvýrazněná možnost Edge
Když inteligentní zobrazení zvýrazní hranu, měly by užitečné přehledy z modelu strojového učení identifikovat významné problémy, které přispívají k vysokému skóre pravděpodobnosti. Mějte na paměti, že doporučení není založené výhradně na selháních, ale na jiných indikátorech, jako je neočekávaná latence v dominantních tocích.
Inteligentní zobrazení: Nenačítá se
Pokud inteligentní zobrazení nenačte, nastavte nakonfigurovaný časový rámec na šest nebo méně dnů.
Inteligentní zobrazení: Dlouhá doba načítání
Pokud inteligentní zobrazení trvá déle, než se čekalo, nevybírejte možnost Aktualizovat součásti mapy. Povolte inteligentní zobrazení pouze pro jeden prostředek Application Insights.
Související obsah
Zjistěte, jak korelace funguje v Application Insights s korelací telemetrie.
Prozkoumejte komplexní prostředí pro diagnostiku transakcí, které koreluje telemetrii na straně serveru ze všech komponent monitorovaných službou Application Insights do jediného zobrazení.
Podpora pokročilých scénářů korelace v ASP.NET Core a ASP.NET pomocí sledování vlastních operací