Dela via


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.

Programkartaninnehå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:

Skärmbild som visar den första inläsningen av en programkarta i Azure-portalen.

I följande avsnitt beskrivs några av de åtgärder som är tillgängliga för att arbeta med programkarta i Azure-portalen.

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:

Skärmbild som visar hur du uppdaterar de aktuella komponenterna i en programkarta.

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:

Skärmbild som visar hur du visar information om en vald nod i en programkarta.

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:

Skärmbild som visar hur du väljer alternativet Undersök fel i nodinformationsfönstret.

Med vyn Fel kan du utforska feldata för åtgärder, beroenden, undantag och roller som är relaterade till den valda komponenten:

Skärmbild som visar vyn Fel för en vald komponent.

Undersök prestanda

I fönstret med nodinformation kan du felsöka prestandaproblem med komponenten genom att välja alternativet Undersök prestanda :

Skärmbild som visar hur du väljer alternativet Undersök prestanda i fönstret nodinformation.

Med prestandavyn kan du utforska telemetridata för åtgärder, beroenden och roller som är anslutna till den valda komponenten:

Skärmbild som visar prestandavyn för en vald komponent.

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å:

Skärmbild som visar hur du väljer alternativet Gå till information i fönstret nodinformation.

Sidan öppnas för att visa tidslinjevyn för information:

Skärmbild som visar informationsvyn för en vald komponent.

Du kan använda alternativet Visa alla för att se stackinformationen med spårnings- och händelseinformation för komponenten:

Skärmbild som visar vyn Alla spårningar och händelser för en vald komponent.

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 ):

Skärmbild som visar hur du väljer alternativet Visa i loggar (analys) i fönstret nodinformation.

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:

Skärmbild som visar skärmen Loggar med ett linjediagram som sammanfattar den genomsnittliga svarstiden för en begäran under de senaste 12 timmarna.

Visa aviseringar och regler

Med alternativet Visa aviseringar i fönstret med nodinformation kan du se aktiva aviseringar:

Skärmbild som visar hur du väljer alternativet Visa aviseringar i fönstret nodinformation.

Sidan Aviseringar visar kritiska och utlösta aviseringar:

Skärmbild som visar listan över aviseringar för den valda komponenten.

Alternativet Aviseringsreglersidan Aviseringar visar de underliggande regler som gör att aviseringarna utlöses:

Skärmbild som visar listan över aviseringsregler som definierats för den valda komponenten.

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.

Skärmbild som visar en programkarta med flera noder och olika färghöjdpunkter.

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 Checknågra av programrollerna , Fabrikam-App, fabrikam-loadfunc, retailfabrikam-37ha6och retailapp.

  • 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 Reportsden 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:

Skärmbild som visar hur du filtrerar på den valda noden i programkartan.

Du kan också skapa ett filter med alternativet Lägg till filter :

Skärmbild som visar hur du öppnar alternativet Lägg till filter i Programkarta.

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":

Skärmbild som visar hur du konfigurerar ett nodfilter så att det matchar texten

Matchande noder och deras anslutna målnoder ingår i resultatkartan:

Skärmbild som visar resultatkartan med noder och målnoder som matchar nodfiltret.

Skapa anslutningsfilter (edge)

Anslut ellerfilter 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":

Skärmbild som visar avsnittet Granska med information om det konfigurerade nodfiltret.

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:

Skärmbild som visar avsnittet Granska med information om det konfigurerade anslutningsfiltret.

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:

Skärmbild som visar filterpiller ovanför programkartan.

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.

Skärmbild av förhandsgranskningen av kartvyn som visar de uppdaterade filterinställningarna.

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 :

Skärmbild som visar de två alternativen för att återanvända filter i programkartan.

  • 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:

Skärmbild av filter för att endast visa fel markerade röda under de senaste 24 timmarna och intelligent vy är aktiverad.

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):

Skärmbild av filter för att endast visa fel som markerats rött under de senaste 24 timmarna för anslutningsappar med ett anropsantal större än 2872.

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):

Skärmbild av filter för att visa anslutningsappar under de senaste 24 timmarna med ett samtalsantal som är större än 10854 och en genomsnittlig samtalsvaraktighet som är större än 578 ms.

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":

Skärmbild av filter för att visa noder och anslutningsappar under de senaste 24 timmarna med egenskaper som inkluderar termen väst.

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":

Skärmbild av filter för att visa noder och anslutningsappar under de senaste 24 timmarna med egenskaper som inte innehåller termen 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 %:

Skärmbild av filter för att visa anslutningsappar under de senaste 24 timmarna med en felfrekvens som är större än 3 procent.

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:

Skärmbild som visar hur du aktiverar intelligent vy för programkartan och styr identifieringskänsligheten.

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.

Skärmbild som visar de användbara insikterna för den valda gränsen på programkartan.

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:

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.