Programkarta: Sortera distribuerade program
Utvecklare använder programkartor för att representera den logiska strukturen för sina distribuerade program. En karta skapas genom att identifiera de enskilda programkomponenterna med deras roleName
eller name
egenskapen i inspelad telemetri. Cirklar (eller noder) på kartan representerar komponenter och riktningslinjer (anslutningsappar eller kanter) som visar HTTP-anrop från källnoder till målnoder.
Azure Monitor innehåller funktionen Programkarta som hjälper dig att snabbt implementera en karta och upptäcka flaskhalsar i prestanda eller felpunkter för alla komponenter. Varje kartnod är en programkomponent eller dess beroenden och ger hälso-KPI och aviseringsstatus. Du kan välja valfri nod för att se detaljerad diagnostik för komponenten, till exempel Application Insights-händelser. Om din app använder Azure-tjänster kan du också välja Azure-diagnostik, till exempel rekommendationer för SQL Database Advisor.
Programkartan innehåller även intelligent vy för att hjälpa till med snabba hälsoundersökningar för tjänster.
Förstå komponenter
Komponenter är oberoende distributionsbara delar av ditt distribuerade program eller mikrotjänstprogram. Utvecklare och driftsteam har synlighet på kodnivå eller åtkomst till telemetri som genereras av dessa programkomponenter.
Några saker att tänka på när det gäller komponenter:
- Komponenter skiljer sig från "observerade" externa beroenden, till exempel Azure SQL och Azure Event Hubs, som ditt team eller din organisation kanske inte har åtkomst till (kod eller telemetri).
- Komponenter körs på valfritt antal server-, roll- eller containerinstanser.
- Komponenter kan vara separata Application Insights-resurser, även om prenumerationerna skiljer sig åt. De kan också vara olika roller som rapporterar till en enda Application Insights-resurs. Förhandsgranskningskartan visar komponenterna oavsett hur de har konfigurerats.
Utforska programkarta
Med programkarta kan du se den fullständiga programtopologin över flera nivåer av relaterade programkomponenter. Som tidigare beskrivits kan komponenter vara olika Application Insights-resurser, beroende komponenter eller olika roller i en enda resurs. Programkartan letar upp komponenter genom att följa HTTP-beroendeanrop som görs mellan servrar med Application Insights SDK installerat.
Mappningsupplevelsen börjar med den progressiva identifieringen av komponenterna i programmet och deras beroenden. När du först läser in programkartan utlöses en frågeuppsättning för att identifiera de komponenter som är relaterade till huvudkomponenten. När komponenter identifieras visar ett statusfält det aktuella antalet identifierade komponenter:
I följande avsnitt beskrivs några av de åtgärder som är tillgängliga för att arbeta med programkartan i Azure Portal.
Uppdatera kartkomponenter
Alternativet Uppdatera kartkomponenter utlöser identifiering av komponenter och uppdaterar kartan för att visa alla aktuella noder. Beroende på programmets komplexitet kan det ta en minut att läsa in uppdateringen:
När alla programkomponenter är roller i en enda Application Insights-resurs krävs inte identifieringssteget. Den inledande belastningen i det här programscenariot identifierar alla komponenter.
Visa komponentinformation
Ett viktigt mål för programkartan är att hjälpa dig att visualisera komplexa topologier som har hundratals komponenter. I det här scenariot är det användbart att förbättra kartvyn med information om en enskild nod med hjälp av alternativet Visa information . Fönstret med nodinformation visar relaterade insikter, prestanda och feltriage för den valda komponenten:
Varje avsnitt i fönstret innehåller ett alternativ för att se mer information i en utökad vy, inklusive fel, prestanda och information om misslyckade begäranden och beroenden.
Undersök fel
I fönstret med nodinformation kan du använda alternativet Undersök fel för att visa alla fel för komponenten:
Med vyn Fel kan du utforska feldata för åtgärder, beroenden, undantag och roller som är relaterade till den valda komponenten:
Undersök prestanda
I fönstret med nodinformation kan du felsöka prestandaproblem med komponenten genom att välja alternativet Undersök prestanda :
Med prestandavyn kan du utforska telemetridata för åtgärder, beroenden och roller som är anslutna till den valda komponenten:
Gå till information och stackspårning
Alternativet Gå till information i fönstret nodinformation visar transaktionsupplevelsen från slutpunkt till slutpunkt för komponenten. I det här fönstret kan du visa information på anropsstackens nivå:
Sidan öppnas för att visa tidslinjevyn för information:
Du kan använda alternativet Visa alla för att se stackinformationen med spårnings- och händelseinformation för komponenten:
Visa i loggar (analys)
I fönstret nodinformation kan du köra frågor mot och undersöka programdata ytterligare med alternativet Visa i loggar (analys ):
På sidan Loggar (Analys) finns alternativ för att utforska dina posterna i programtelemetritabeller med inbyggda eller anpassade frågor och funktioner. Du kan arbeta med data genom att justera formatet och spara och exportera din analys:
Visa aviseringar och regler
Med alternativet Visa aviseringar i fönstret med nodinformation kan du se aktiva aviseringar:
Sidan Aviseringar visar kritiska och utlösta aviseringar:
Alternativet Aviseringsregler på sidan Aviseringar visar de underliggande regler som gör att aviseringarna utlöses:
Förstå namn och noder för molnroller
Programkartan använder egenskapen molnrollnamn för att identifiera programkomponenterna på en karta. Om du vill utforska hur molnrollnamn används med komponentnoder kan du titta på en programkarta som har flera molnrollnamn.
I följande exempel visas en karta i hierarkisk vy med fem komponentnoder och kopplingar till nio beroende noder. Varje nod har ett molnrollnamn.
Programkartan använder olika färger, markeringar och storlekar för noder för att visa programkomponentens data och relationer:
Molnrollnamnen uttrycker de olika aspekterna av det distribuerade programmet. I det här exemplet är
Contoso Retail Check
några av programrollerna ,Fabrikam-App
,fabrikam-loadfunc
,retailfabrikam-37ha6
ochretailapp
.Den streckade blå cirkeln runt en nod anger den senast valda komponenten. I det här exemplet är den senast valda komponenten
Web
noden.När du väljer en nod för att se informationen markerar en helblå cirkel noden. I exemplet är
Contoso Retail Reports
den valda noden .Avlägsna eller orelaterade komponentnoder visas mindre jämfört med de andra noderna. Dessa objekt är nedtonade i vyn för att markera prestanda för den aktuella komponenten.
I det här exemplet representerar varje molnrollnamn också en annan unik Application Insights-resurs med egna instrumentationsnycklar. Eftersom ägaren av det här programmet har åtkomst till var och en av dessa fyra olika Application Insights-resurser kan programkartan sammanfoga en karta över de underliggande relationerna.
Undersöka molnrollinstanser
När ett molnrollnamn avslöjar ett problem någonstans i webbklientdelen och du kör flera belastningsutjämningsservrar i webbklientdelen kan det vara bra att använda en molnrollinstans . Med programkarta kan du visa mer detaljerad information om en komponentnod med hjälp av Kusto-frågor. Du kan undersöka en nod för att visa information om specifika molnrollinstanser. Den här metoden hjälper dig att avgöra om ett problem påverkar alla webbklientdelsservrar eller endast specifika instanser.
Ett scenario där du kanske vill åsidosätta värdet för en molnrollinstans är när appen körs i en containerbaserad miljö. I det här fallet kanske information om den enskilda servern inte räcker för att hitta det specifika problemet.
Mer information om hur du åsidosätter egenskapen för molnrollnamn med telemetriinitierare finns i Lägga till egenskaper: ITelemetryInitializer.
Ange namn på molnroller
Programkartan använder egenskapen för molnrollnamn för att identifiera komponenterna på kartan. Det här avsnittet innehåller exempel för att manuellt ange eller åsidosätta molnrollnamn och ändra vad som visas på programkartan.
Kommentar
Application Insights SDK eller Agent lägger automatiskt till egenskapen för molnrollnamn till telemetrin som genereras av komponenter i en Azure App Service-miljö.
Följande kodfragment visar schemadefinitionerna för molnrollen och molnrollinstansen:
[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";
För de officiella definitionerna:
Skriva anpassad TelemetryInitializer
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 appar: Läs in initieraren i den aktiva TelemetryConfiguration
I filen ApplicationInsights.config:
<ApplicationInsights>
<TelemetryInitializers>
<!-- Fully qualified type name, assembly name: -->
<Add Type="CustomInitializer.Telemetry.MyTelemetryInitializer, CustomInitializer"/>
...
</TelemetryInitializers>
</ApplicationInsights>
En alternativ metod för ASP.NET webbappar är att instansiera initiatorn i kod. I följande exempel visas kod i filen Global.aspx.cs :
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
protected void Application_Start()
{
// ...
TelemetryConfiguration.Active.TelemetryInitializers.Add(new MyTelemetryInitializer());
}
Kommentar
Att lägga till en initiator med hjälp ApplicationInsights.config
av egenskapen eller TelemetryConfiguration.Active
är inte giltigt för ASP.NET Core-program.
ASP.NET Core-appar: Läs in en initiator till TelemetryConfiguration
För ASP.NET Core-program lägger du till en ny instans i containern Beroendeinmatning för att lägga till en ny TelemetryInitializer
instans. I följande exempel visas den här metoden. Lägg till den här koden i -metoden för ConfigureServices
klassen Startup.cs
.
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}
Använda programmappningsfilter
Med filter för programkarta kan du minska antalet synliga noder och kanter på kartan. Dessa filter kan användas för att minska kartans omfattning och visa en mindre och mer fokuserad vy.
Ett snabbt sätt att filtrera är att använda alternativet Filter på den här noden på snabbmenyn för valfri nod på kartan:
Du kan också skapa ett filter med alternativet Lägg till filter :
Välj din filtertyp (nod eller anslutningsapp) och önskade inställningar och granska sedan dina val och tillämpa dem på den aktuella kartan.
Skapa nodfilter
Med nodfilter kan du bara se vissa noder i programkartan och dölja alla andra noder. Du konfigurerar parametrar för att söka efter värden som matchar ett villkor för nodernas egenskaper på kartan. När ett nodfilter tar bort en nod tar filtret även bort alla anslutningsappar och kanter för noden.
Ett nodfilter har tre parametrar att konfigurera:
Inkluderade noder: De typer av noder som ska granskas på programkartan för matchande egenskaper. Det finns fyra alternativ:
Noder, källor och mål: Alla noder som matchar sökvillkoren ingår i resultatkartan. Alla käll- och målnoder för matchande noder inkluderas också automatiskt i resultatkartan, även om källorna eller målen inte uppfyller sökvillkoren. Käll- och målnoderna kallas tillsammans för anslutna noder.
Noder och källor: Samma beteende som noder, källor och mål, men målnoder ingår inte automatiskt i resultatkartan.
Noder och mål: Samma beteende som noder, källor och mål, men källnoder ingår inte automatiskt i resultatkartan.
Endast noder: Alla noder i resultatkartan måste ha ett egenskapsvärde som matchar sökvillkoren.
Operator: Typen av villkorstest som ska utföras på varje nods egenskapsvärden. Det finns fyra alternativ:
contains
: Nodegenskapsvärdet innehåller det värde som anges i parametern Sökvärde .!contains
Nodegenskapsvärdet innehåller inte det värde som anges i parametern Sökvärde .==
: Värdet för nodegenskapen är lika med det värde som anges i parametern Sökvärde .!=
: Värdet för nodegenskapen är inte lika med det värde som anges i parametern Sökvärde .
Sökvärde: Textsträngen som ska användas för villkorstestet för egenskapsvärdet. Listrutan för parametern visar värden för befintliga noder i programkartan. Du kan välja ett värde i listan eller skapa ett eget värde. Ange ditt anpassade värde i parameterfältet och välj sedan Alternativet Skapa ... i listan. Du kan till exempel ange
test
och sedan välja Skapa alternativet "test" i listan.
Följande bild visar ett exempel på ett filter som tillämpas på en programkarta som visar 30 dagars data. Filtret instruerar programkartan att söka efter noder och anslutna mål som har egenskaper som innehåller texten "retailapp":
Matchande noder och deras anslutna målnoder ingår i resultatkartan:
Skapa anslutningsfilter (edge)
Med anslutningsfilter kan du bara se vissa noder med specifika anslutningsappar på programkartan och dölja alla andra noder och anslutningsappar. Du konfigurerar parametrar för att söka efter värden som matchar ett villkor i egenskaperna för anslutningsappar på kartan. När en nod inte har några matchande anslutningsappar tar filtret bort noden från kartan.
Ett anslutningsfilter har tre parametrar att konfigurera:
Filtrera anslutningsappar efter: De typer av anslutningsappar som ska granskas på programkartan för matchande egenskaper. Det finns fyra alternativ. Ditt val styr de tillgängliga alternativen för de andra två parametrarna.
Operator: Typen av villkorsstyrd testning som ska utföras på varje anslutningsapps värde.
Värde: Jämförelsevärdet som ska användas för villkorstestet för egenskapsvärdet. Listrutan för parametern innehåller värden som är relevanta för den aktuella programkartan. Du kan välja ett värde i listan eller skapa ett eget värde. Du kan till exempel ange
16
och sedan välja Skapa alternativ "16" i listan.
I följande tabell sammanfattas konfigurationsalternativen baserat på ditt val för filteranslutningsapparna efter parameter.
Filtrera anslutningsappar efter | beskrivning | Operatorparameter | Värdeparameter | Användning |
---|---|---|---|---|
Felanslutning (markerad röd) | Sök efter anslutningsappar baserat på deras färg. Färgen röd anger att anslutningsappen är i ett feltillstånd. | == : Lika med != : Inte lika med |
Ställ alltid in på Fel | Visa endast anslutningsappar med fel eller endast anslutningsappar utan fel. |
Felfrekvens (0 % – 100 %) | Sök efter anslutningsappar baserat på deras genomsnittliga felfrekvens (antalet misslyckade anrop dividerat med antalet alla anrop). Värdet uttrycks som en procentandel. | >= Större än eller lika med <= Mindre än eller lika med |
Listrutan visar genomsnittliga felfrekvenser som är relevanta för aktuella anslutningsappar i programkartan. Välj ett värde i listan eller ange ett anpassat värde genom att följa den process som beskrevs tidigare. | Visa anslutningsappar med felfrekvenser som är större än eller lägre än det valda värdet. |
Genomsnittlig samtalsvaraktighet (ms) | Sök efter anslutningsappar baserat på den genomsnittliga varaktigheten för alla anrop i anslutningsappen. Värdet mäts i millisekunder. | >= Större än eller lika med <= Mindre än eller lika med |
Listrutan visar genomsnittliga varaktigheter som är relevanta för aktuella anslutningsappar i programkartan. Till exempel refererar värdet 1000 för anrop med en genomsnittlig varaktighet på 1 sekund. Välj ett värde i listan eller ange ett anpassat värde genom att följa den process som beskrevs tidigare. |
Visa anslutningsappar med genomsnittliga samtalsvaraktighetsfrekvenser som är större än eller lägre än det valda värdet. |
Antal anrop | Sök efter anslutningsappar baserat på det totala antalet anrop i anslutningsappen. | >= Större än eller lika med <= Mindre än eller lika med |
Listrutan visar totalt antal samtal som är relevanta för aktuella anslutningsappar i programkartan. Välj ett värde i listan eller ange ett anpassat värde genom att följa den process som beskrevs tidigare. | Visa anslutningsappar med samtalsantal som är större än eller lägre än det valda värdet. |
Percentilindikatorer för värde
När du filtrerar anslutningsappar efter felfrekvens, genomsnittlig samtalsvaraktighet eller antal anrop, innehåller (Pxx)
vissa alternativ för parametern Värde beteckningen. Den här indikatorn visar percentilnivån. För ett genomsnittligt anropsvaraktighetsfilter kan du se värdet 200 (P90)
. Det här alternativet innebär att 90 % av alla anslutningsappar (oavsett hur många anrop de representerar) har mindre än 200 ms samtalsvaraktighet.
Du kan se de värdealternativ som innehåller percentilnivån genom att ange P
i parameterfältet.
Granska dina filter
När du har valt visar avsnittet Granska i popup-fönstret Lägg till filter textbeskrivningar och visuella beskrivningar om filtret. Sammanfattningsvisningen kan hjälpa dig att förstå hur filtret gäller för programkartan.
I följande exempel visas granskningssammanfattningen för ett nodfilter som söker efter noder och mål med egenskaper som har texten "-west":
Det här exemplet visar sammanfattningen för ett anslutningsfilter som söker efter anslutningsappar (och de noder de ansluter) med en genomsnittlig samtalsvaraktighet som är lika med eller större än 42 ms:
Använda filter för mappning
När du har konfigurerat och granskat filterinställningarna väljer du Använd för att skapa filtret. Du kan använda flera filter på samma programkarta. I Programkarta visas de tillämpade filtren som piller ovanför kartan:
Med åtgärden Ta bort på ett filterpiller kan du ta bort ett filter. När du tar bort ett tillämpat filter uppdateras kartvyn för att subtrahera filterlogik.
Programkartan tillämpar filterlogik på kartan sekventiellt, med början från det vänstra filtret i listan. När filter tillämpas tas noder och anslutningsappar bort från kartvyn. När en nod eller anslutning har tagits bort från vyn kan ett efterföljande filter inte återställa objektet.
Du kan ändra konfigurationen för ett tillämpat filter genom att välja filterpiller. När du ändrar filterinställningarna visar programkartan en förhandsgranskning av kartvyn med den nya filterlogik. Om du bestämmer dig för att inte tillämpa ändringarna kan du använda alternativet Avbryt för den aktuella kartvyn och filtren.
Utforska och spara filter
När du upptäcker ett intressant filter kan du spara filtret för att återanvända det senare med alternativet Kopiera länk eller Fäst på instrumentpanelen :
Alternativet Kopiera länk kodar alla aktuella filterinställningar i den kopierade URL:en. Du kan spara den här länken i webbläsarens bokmärken eller dela den med andra. Den här funktionen bevarar varaktighetsvärdet i filterinställningarna, men inte den absoluta tiden. När du använder länken senare kan den producerade programkartan skilja sig från den karta som fanns när länken hämtades.
Alternativet Fäst på instrumentpanelen lägger till den aktuella programkartan på en instrumentpanel, tillsammans med dess aktuella filter. En vanlig diagnostikmetod är att fästa en karta med ett felanslutningsfilter . Du kan övervaka ditt program för noder med fel i deras HTTP-anrop.
I följande avsnitt beskrivs några vanliga filter som gäller för de flesta kartor och kan vara användbara för att fästa på en instrumentpanel.
Sök efter viktiga fel
Skapa en kartvy över endast anslutningsappar med fel (markerade röda) under de senaste 24 timmarna. Filtren innehåller parametern Felanslutning kombinerat med intelligent vy:
Funktionen Intelligent vy beskrivs senare i den här artikeln.
Dölj anslutningsappar med låg trafik
Dölj anslutningsappar med låg trafik utan fel från kartvyn, så att du snabbt kan fokusera på mer betydande problem. Filtren innehåller anslutningsappar under de senaste 24 timmarna med ett antal anrop som är större än 2872 (P20):
Visa anslutningsappar med hög trafik
Visa anslutningsappar med hög trafik som också har en hög genomsnittlig samtalstid. Det här filtret kan hjälpa dig att identifiera potentiella prestandaproblem. Filtren i det här exemplet omfattar anslutningsappar under de senaste 24 timmarna med ett antal anrop som är större än 1 0854 (P50) och Genomsnittlig samtalsvaraktighetstid som är större än 578 (P80):
Leta upp komponenter efter namn
Leta upp komponenter (noder och anslutningsappar) i ditt program efter namn enligt din implementering av namngivningskonventionen för komponentegenskap roleName
. Du kan använda den här metoden för att se den specifika delen av ett distribuerat program. Filtret söker efter noder, källor och mål under de senaste 24 timmarna som innehåller det angivna värdet. I det här exemplet är sökvärdet "west":
Ta bort bullriga komponenter
Definiera filter för att dölja bullriga komponenter genom att ta bort dem från kartan. Ibland kan programkomponenter ha aktiva beroende noder som producerar data som inte är nödvändiga för kartvyn. I det här exemplet söker filtret efter noder, källor och mål under de senaste 24 timmarna som inte innehåller det angivna värdet "retail":
Leta efter felbenägna anslutningsappar
Visa endast anslutningsappar som har högre felfrekvens än ett visst värde. Filtret i det här exemplet söker efter anslutningsappar under de senaste 24 timmarna som har en felfrekvens som är större än 3 %:
Utforska intelligent vy
Funktionen Intelligent vy för programkartan är utformad för att underlätta hälsoundersökningar av tjänster. Den använder maskininlärning för att snabbt identifiera potentiella grundorsaker till problem genom att filtrera bort brus. Maskininlärningsmodellen lär sig från programkartans historiska beteende för att identifiera dominerande mönster och avvikelser som indikerar potentiella orsaker till en incident.
I stora distribuerade program finns det alltid en viss grad av brus som kommer från "godartade" fel, vilket kan orsaka att programkartan blir bullrig genom att visa många röda kanter. Intelligent vy visar endast de mest sannolika orsakerna till tjänstfel och tar bort nod-till-nod-röda kanter (tjänst-till-tjänst-kommunikation) i felfria tjänster. Intelligent vy markerar kanterna i rött som ska undersökas. Det ger också användbara insikter för den markerade kanten.
Det finns många fördelar med att använda intelligent vy:
- Minskar tiden till lösning genom att endast markera fel som behöver undersökas
- Ger användbara insikter om varför en viss röd kant har markerats
- Gör att programkartan kan användas för stora distribuerade program sömlöst (genom att endast fokusera på kanter markerade i rött)
Intelligent vy har vissa begränsningar:
- Stora distribuerade program kan ta en minut att läsa in.
- Tidsramar på upp till sju dagar stöds.
Arbeta med intelligent vy
Med en växlingsknapp ovanför programkartan kan du aktivera Intelligent vy och styra känsligheten för problemidentifiering:
Intelligent vy använder den patenterade AIOps-maskininlärningsmodellen för att markera (röd) viktiga och viktiga data i en programkarta. Olika programdata används för att avgöra vilka data som ska markeras på kartan, inklusive felfrekvenser, antal begäranden, varaktigheter, avvikelser och beroendetyp. Som jämförelse använder standardkartvyn endast råfelfrekvensen .
Programkartan markerar kanterna i rött enligt känslighetsinställningen. Du kan justera känsligheten för att uppnå önskad konfidensnivå i de markerade kanterna.
Känslighet | beskrivning |
---|---|
Hög | Färre kanter är markerade. |
Medel | (Standardinställning) Ett balanserat antal kanter är markerat. |
Låg | Fler kanter är markerade. |
Kontrollera användbara insikter
När du har aktiverat intelligent vy väljer du en markerad kant (röd) på kartan för att se "användbara insikter" för komponenten. Insikterna visas i ett fönster till höger och förklarar varför gränsen är markerad.
Om du vill börja felsöka ett problem väljer du Undersök fel. Du kan granska informationen om komponenten i fönstret Fel för att avgöra om det identifierade problemet är rotorsaken.
När intelligent vy inte markerar några kanter på programkartan hittade maskininlärningsmodellen inte potentiella incidenter i programmets beroenden.
Felsökningstips
Om du har problem med att få programkartan att fungera som förväntat kan du läsa förslagen i följande avsnitt.
Här följer några allmänna rekommendationer:
Använd ett SDK som stöds officiellt. SDK:er som inte stöds eller community-SDK:er kanske inte stöder korrelation. En lista över SDK:er som stöds finns i Application Insights: Språk, plattformar och integreringar.
Uppgradera alla komponenter till den senaste SDK-versionen.
Stöd för Azure Functions med C# genom att uppgradera till Azure Functions V2.
Kontrollera att namnet på molnrollen är korrekt konfigurerat.
Bekräfta att eventuella saknade beroenden visas som automatiskt insamlade beroenden. Om ett beroende inte visas kan du spåra det manuellt med ett spårningsberoendeanrop.
För många noder på kartan
Programkarta lägger till en komponentnod för varje unikt molnrollnamn i din telemetri för begäran. Processen lägger också till en beroendenod för varje unik kombination av typ, mål och molnrollnamn.
Om du har fler än 10 000 noder i telemetrin kan programkartan inte hämta alla noder och länkar. I det här scenariot är kartstrukturen ofullständig. Om det här scenariot inträffar visas ett varningsmeddelande när du visar kartan.
Programkartan kan återge högst 1 000 separata ogrupperade noder samtidigt. Programkartan minskar den visuella komplexiteten genom att gruppera beroenden när de har samma typ och anropare.
Om din telemetri har för många unika molnrollnamn eller för många beroendetyper är grupperingen otillräcklig och kartan återges inte.
För att åtgärda det här problemet måste du ändra instrumentationen så att molnrollens namn, beroendetyp och beroendemålfält anges korrekt. Bekräfta att programmet följer följande kriterier:
Varje beroendemål representerar det logiska namnet på ett beroende. I många fall motsvarar det här värdet beroendets server- eller resursnamn. Om det till exempel finns HTTP-beroenden är värdet värdnamnet. Värdet får inte innehålla unika ID:er eller parametrar som ändras från en begäran till en annan.
Varje beroendetyp representerar den logiska typen av ett beroende. Till exempel är HTTP, SQL eller Azure Blob typiska beroendetyper. Det här värdet får inte innehålla unika ID:t.
Varje molnrollnamnssyfte tillämpar beskrivningen i avsnittet Ange eller åsidosätt molnrollnamn .
Intelligent vy: Gränsen är inte markerad
Intelligent vy kanske inte markerar en kant som förväntat, även med en inställning med låg känslighet. Ett beroende kan verka vara i fel, men modellen anger inte problemet som en potentiell incident. Här följer några möjliga scenarier:
Om beroendet ofta misslyckas kan modellen betrakta felet som ett standardtillstånd för komponenten och inte markera gränsen. Intelligent vy fokuserar på problemlösning i realtid.
Om beroendet har en minimal effekt på programmets övergripande prestanda kan intelligent vy ignorera komponenten under maskininlärningsmodellering.
Om ditt scenario är unikt kan du använda alternativet Feedback för att beskriva din upplevelse och förbättra framtida modellversioner.
Intelligent vy: Edge markerad
När intelligent vy markerar en gräns bör de användbara insikterna från maskininlärningsmodellen identifiera de betydande problem som bidrar till den höga sannolikhetspoängen. Tänk på att rekommendationen inte enbart baseras på fel, utan på andra indikatorer som oväntad svarstid i dominerande flöden.
Intelligent vy: Läses inte in
Om intelligent vy inte läses in anger du den konfigurerade tidsramen till sex dagar eller mindre.
Intelligent vy: Lång inläsningstid
Om intelligent vy tar längre tid att läsa in än förväntat bör du undvika att välja alternativet Uppdatera kartkomponenter . Aktivera endast intelligent vy för en enda Application Insights-resurs.
Relaterat innehåll
Lär dig hur korrelation fungerar i Application Insights med telemetrikorrelation.
Utforska den transaktionsdiagnostikupplevelse från slutpunkt till slutpunkt som korrelerar telemetri på serversidan från alla dina Application Insights-övervakade komponenter till en enda vy.
Stöd för avancerade korrelationsscenarier i ASP.NET Core och ASP.NET med Spåra anpassade åtgärder.