Översikt över Application Insights

Application Insights är ett tillägg till Azure Monitor och tillhandahåller funktioner för övervakning av programprestanda (kallas även "APM"). APM-verktyg är användbara för att övervaka program från utveckling till test och till produktion på följande sätt:

  1. Förstå proaktivt hur ett program presterar.
  2. Granska programkörningsdata reaktivt för att fastställa orsaken till en incident.

Skärmbild av Application Insights i Azure Portal.

Förutom att samla in mått - och programtelemetridata , som beskriver programaktiviteter och hälsa, kan Application Insights också användas för att samla in och lagra loggningsdata för programspårning.

Loggspårningen är associerad med annan telemetri för att ge en detaljerad vy över aktiviteten. Om du vill lägga till spårningsloggning i befintliga appar måste du bara ange ett mål för loggarna. loggningsramverket behöver sällan ändras.

Application Insights innehåller andra funktioner, inklusive men inte begränsat till:

  • Live-mått – observera aktivitet från ditt distribuerade program i realtid utan att påverka värdmiljön
  • Tillgänglighet – kallas även "syntetisk transaktionsövervakning" och avsöker dina program externa slutpunkter för att testa den övergripande tillgängligheten och svarstiden över tid
  • GitHub- eller Azure DevOps-integrering – skapa GitHub - eller Azure DevOps-arbetsobjekt i kontexten för Application Insights-data
  • Användning – förstå vilka funktioner som är populära bland användare och hur användare interagerar och använder ditt program
  • Smart identifiering – automatiskt fel och avvikelseidentifiering via proaktiv telemetrianalys

Dessutom stöder Application Insights distribuerad spårning, även kallat "distribuerad komponentkorrelation". Med den här funktionen kan du söka efter och visualisera ett flöde från slutpunkt till slutpunkt för en viss körning eller transaktion. Möjligheten att spåra aktivitet från slutpunkt till slutpunkt blir allt viktigare för program som har skapats som distribuerade komponenter eller mikrotjänster.

Programkartan ger en övergripande uppifrån och ned-vy över programarkitekturen och visuella referenser med snabb överblick över komponentens hälsa och svarstider.

Information om hur många Application Insights-resurser som krävs för att täcka ditt program eller komponenter i olika miljöer finns i planeringsguiden för Application Insights-distribution.

Hur använder jag Application Insights?

Application Insights aktiveras antingen via automatisk instrumentering (agent) eller genom att du lägger till Application Insights SDK i programkoden. Många språk stöds och programmen kan finnas i Azure, lokalt eller i ett annat moln. Om du vill ta reda på vilken typ av instrumentation som passar bäst för dig kan du läsa Hur gör jag för att instrumentera ett program?.

Application Insights-agenten eller SDK:t förbearbetar telemetri och mått innan data skickas till Azure där de matas in och bearbetas ytterligare innan de lagras i Azure Monitor-loggar (Log Analytics). Därför krävs ett Azure-konto för att använda Application Insights.

Det enklaste sättet att komma igång med Application Insights är genom Azure Portal och de inbyggda visuella upplevelserna. Avancerade användare kan fråga underliggande data direkt för att skapa anpassade visualiseringar via Azure Monitor-instrumentpaneler och arbetsböcker.

Överväg att börja med programkartan för en övergripande vy. Använd sökfunktionen för att snabbt begränsa telemetri och data efter typ och datum/tid, eller söka i data (till exempel Loggspårningar) och filtrera efter en viss korrelerad åtgärd av intresse.

Hoppa in i analys med prestandavyn – få djupgående insikter om hur ditt program eller API och underordnade beroenden presterar och hitta ett representativt exempel för att utforska från slutpunkt till slutpunkt. Och var proaktiv med felvyn – förstå vilka komponenter eller åtgärder som genererar fel och sorteringsfel och undantag. De inbyggda vyerna är användbara för att spåra programmets hälsa proaktivt och för reaktiv rotorsaksanalys.

Skapa Azure Monitor-aviseringar för att signalera potentiella problem om dina program eller komponenter avviker från den etablerade baslinjen.

Prissättningen för Application Insights är förbrukningsbaserad. betalar du bara för det du använder. Mer information om priser finns på sidan priser för Azure Monitor och hur du optimerar kostnader.

Hur gör jag för att instrumentera ett program?

Autoinstrumentation är den föredragna instrumentationsmetoden. Det kräver ingen utvecklarinvestering och eliminerar framtida omkostnader som rör uppdatering av SDK:n. Det är också det enda sättet att instrumentera ett program där du inte har åtkomst till källkoden.

Du behöver bara installera Application Insights SDK under följande omständigheter:

Om du vill använda SDK:t installerar du ett litet instrumentationspaket i din app och instrumentera sedan webbappen, eventuella bakgrundskomponenter och JavaScript på webbsidorna. Appen och dess komponenter behöver inte finnas i Azure. Instrumentationen övervakar din app och dirigerar telemetridata till en Application Insights-resurs med hjälp av en unik token. Effekten på appens prestanda är liten. spårningsanrop är icke-blockerande och batchfördelade för att skickas i en separat tråd.

Integrerad automatisk instrumentering är tillgängligt för Azure App Service .NET, Azure App Service .NET Core, Azure Functions och Azure Virtual Machines.

Azure Monitor Application Insights-agenten är tillgänglig för arbetsbelastningar som körs på lokala virtuella datorer.

En detaljerad vy över alla miljöer, språk och resursprovidrar som stöds för automatisk instrumentering finns här.

I andra scenarier krävs Application Insights SDK .

En förhandsversion av Open Telemetry-erbjudandet är också tillgängligt.


Språk som stöds

I det här avsnittet beskrivs scenarier som stöds.

Plattformar och ramverk som stöds

I det här avsnittet visas alla plattformar och ramverk som stöds.

Azure-tjänstintegrering (portalaktivering, Azure Resource Manager-distributioner)

Automatisk instrumentering (aktivera utan kodändringar)

Manuell instrumentation/SDK (vissa kodändringar krävs)

Anteckning

OpenTelemetry-baserad instrumentation är tillgänglig som förhandsversion för C#, Node.js och Python. Granska de begränsningar som anges i början av varje språks officiella dokumentation. Om du behöver en fullständig funktionsupplevelse använder du befintliga Application Insights-SDK:er.

Ramverk för loggning

Exportera och dataanalys

SDK:er som inte stöds

Det finns flera andra Application Insights-SDK:er som stöds av communityn. Azure Monitor har dock endast stöd när du använder de instrumenteringsalternativ som stöds som anges på den här sidan. Vi utvärderar ständigt möjligheterna att utöka vårt stöd för andra språk. Följ Azure Uppdateringar för Application Insights för de senaste SDK-nyheterna.


Vanliga frågor och svar

Läs vanliga frågor och svar.

Felsökning

Läs de dedikerade felsökningsartiklarna för Application Insights.

Hjälp och support

Forum för Frågor om Microsoft Q&A

Skicka allmänna frågor till Microsoft Q&A-svarsforumet.

Stack Overflow

Skicka kodningsfrågor till Stack Overflow med hjälp av en Application Insights-tagg.

User Voice

Lämna produktfeedback för teknikteamet på UserVoice.

Nästa steg