Händelseanalys och visualisering med Application Insights
Application Insights är en del av Azure Monitor och är en utökningsbar plattform för programövervakning och diagnostik. Den innehåller ett kraftfullt analys- och frågeverktyg, anpassningsbar instrumentpanel och visualiseringar samt ytterligare alternativ, inklusive automatiserad avisering. Application Insights integrering med Service Fabric omfattar verktygsupplevelser för Visual Studio och Azure-portalen, samt Service Fabric-specifika mått, vilket ger en omfattande out-of-the-box-loggningsupplevelse. Även om många loggar skapas och samlas in automatiskt åt dig med Application Insights rekommenderar vi att du lägger till ytterligare anpassad loggning i dina program för att skapa en bättre diagnostikupplevelse.
Den här artikeln hjälper dig att lösa följande vanliga frågor:
- Hur vet jag vad som händer i mitt program och tjänster och samlar in telemetri?
- Hur felsöker jag mitt program, särskilt tjänster som kommunicerar med varandra?
- Hur får jag mått om hur mina tjänster presterar, till exempel sidinläsningstid, HTTP-begäranden?
Syftet med den här artikeln är att visa hur du får insikter och felsöker inifrån Application Insights. Om du vill lära dig hur du konfigurerar Application Insights med Service Fabric kan du läsa den här självstudien.
Övervakning i Application Insights
Application Insights har en omfattande upplevelse när du använder Service Fabric. På översiktssidan innehåller Application Insights viktig information om din tjänst, till exempel svarstiden och antalet bearbetade begäranden. Genom att klicka på knappen Sök överst kan du se en lista över de senaste begärandena i ditt program. Dessutom kan du se misslyckade begäranden här och diagnostisera vilka fel som kan ha inträffat.
På den högra panelen i föregående bild finns det två huvudsakliga typer av poster i listan: begäranden och händelser. Begäranden görs till appens API via HTTP-begäranden i det här fallet, och händelser är anpassade händelser som fungerar som telemetri som du kan lägga till var som helst i koden. Du kan utforska instrumentering av dina program i Application Insights API för anpassade händelser och mått. Om du klickar på en begäran visas ytterligare information enligt följande bild, inklusive data som är specifika för Service Fabric, som samlas in i Application Insights Service Fabric NuGet-paketet. Den här informationen är användbar för att felsöka och veta vad programmets tillstånd är, och all den här informationen kan sökas i Application Insights
Application Insights har en avsedd vy för att fråga mot alla data som kommer in. Välj "Metrics Explorer" överst på översiktssidan för att navigera till Application Insights-portalen. Här kan du köra frågor mot anpassade händelser som nämnts tidigare, begäranden, undantag, prestandaräknare och andra mått med hjälp av Kusto-frågespråket. I följande exempel visas alla begäranden under den senaste 1 timmen.
Om du vill utforska funktionerna i Application Insights-portalen ytterligare går du vidare till dokumentationen för Application Insights-portalen.
Konfigurera Application Insights med EventFlow
Om du använder EventFlow för att aggregera händelser måste du importera Microsoft.Diagnostics.EventFlow.Outputs.ApplicationInsights
NuGet-paketet. Följande kod krävs i avsnittet utdata i eventFlowConfig.json:
"outputs": [
{
"type": "ApplicationInsights",
"instrumentationKey": "***ADD INSTRUMENTATION KEY HERE***"
}
]
Se till att göra nödvändiga ändringar i dina filter, samt inkludera andra indata (tillsammans med deras respektive NuGet-paket).
Application Insights SDK
Vi rekommenderar att du använder EventFlow och WAD som aggregeringslösningar, eftersom de möjliggör en mer modulär metod för diagnostik och övervakning, dvs. Om du vill ändra dina utdata från EventFlow krävs ingen ändring av din faktiska instrumentation, bara en enkel ändring av konfigurationsfilen. Om du bestämmer dig för att investera i att använda Application Insights och sannolikt inte kommer att ändras till en annan plattform bör du titta på hur du använder Application Insights nya SDK för att aggregera händelser och skicka dem till Application Insights. Det innebär att du inte längre behöver konfigurera EventFlow för att skicka dina data till Application Insights, utan i stället installerar ApplicationInsights Service Fabric NuGet-paket. Information om paketet finns här.
Application Insights-stöd för mikrotjänster och containrar visar några av de nya funktioner som bearbetas (för närvarande fortfarande i betaversion), vilket gör att du kan ha mer avancerade övervakningsalternativ med Application Insights. Dessa inkluderar beroendespårning (används för att skapa en AppMap för alla dina tjänster och program i ett kluster och kommunikationen mellan dem) och bättre korrelation av spårningar som kommer från dina tjänster (hjälper till att bättre identifiera ett problem i arbetsflödet för ett program eller en tjänst).
Om du utvecklar i .NET och förmodligen använder några av Service Fabrics programmeringsmodeller och är villig att använda Application Insights som plattform för att visualisera och analysera händelse- och loggdata rekommenderar vi att du går via Application Insights SDK-vägen som ditt arbetsflöde för övervakning och diagnostik. Läs dokumentationen om Application Insights-dokumentationen och spårningsloggarna för att komma igång med att använda Application Insights för att samla in och visa dina loggar.
Navigera i Application Insights-resursen i Azure-portalen
När du har konfigurerat Application Insights som utdata för dina händelser och loggar bör information börja visas i Application Insights-resursen om några minuter. Gå till Application Insights-resursen, som tar dig till Application Insights-resursinstrumentpanelen. Välj Sök i aktivitetsfältet Application Insights för att se de senaste spårningarna som den har tagit emot och för att kunna filtrera igenom dem.
Metrics Explorer är ett användbart verktyg för att skapa anpassade instrumentpaneler baserat på mått som dina program, tjänster och kluster kan rapportera. Se Utforska mått i Application Insights för att konfigurera några diagram åt dig själv baserat på de data som du samlar in.
Om du klickar på Analytics kommer du till Application Insights Analytics-portalen, där du kan köra frågor mot händelser och spårningar med större omfång och valbarhet. Läs mer om detta på Analytics i Application Insights.
Nästa steg
- Konfigurera aviseringar i AI som ska meddelas om ändringar i prestanda eller användning
- Smart identifiering i Application Insights utför en proaktiv analys av telemetrin som skickas till Application Insights för att varna dig om potentiella prestandaproblem