Dela via


Grunderna för datainsamling i Azure Monitor Application Insights

Innan du kan övervaka programmet måste det instrumenteras.

I följande avsnitt går vi igenom några grunderna för datainsamling i Azure Monitor Application Insights.

Instrumenteringsalternativ

På en grundläggande nivå gör "instrumentering" det bara möjligt för ett program att samla in telemetri.

Det finns två metoder för att instrumentera ditt program:

  • Automatisk instrumentering (autoinstrumentation)
  • Manuell instrumentering

Automatisk instrumentering möjliggör telemetriinsamling via konfigurationen utan att vidröra programmets kod. Även om det är bekvämare tenderar det att vara mindre konfigurerbart. Den är inte heller tillgänglig på alla språk. Se Miljöer och språk som stöds för automatisk instrumentering. När automatisk instrumentering är tillgänglig är det det enklaste sättet att aktivera Azure Monitor Application Insights.

Manuell instrumentering kodas mot Application Insights- eller OpenTelemetry-API:et. I kontexten för en användare refererar det vanligtvis till att installera ett språkspecifikt SDK i ett program. Det innebär att du måste hantera uppdateringarna till den senaste paketversionen själv. Du kan använda det här alternativet om du behöver göra anpassade beroendeanrop eller API-anrop som inte registreras som standard med autoinstrumentation. Det finns två alternativ för manuell instrumentering:

Vi ser OpenTelemetry som vår framtida riktning, men vi har inga planer på att sluta samla in data från äldre SDK:er. Vi har fortfarande en väg att gå innan våra Azure OpenTelemetry Distros når funktionsparitet med våra Application Insights SDK:er. I många fall fortsätter kunderna att välja att använda Application Insights SDK:er under en längre tid.

Viktigt!

"Manuell" betyder inte att du måste skriva komplex kod för att definiera intervall för distribuerade spårningar, även om det fortfarande är ett alternativ. Instrumentationsbibliotek som paketeras i våra distributioner gör att du enkelt kan samla in telemetrisignaler i vanliga ramverk och bibliotek. Vi arbetar aktivt med att instrumentera de mest populära Azure Service SDK:erna med OpenTelemetry så att dessa signaler är tillgängliga för kunder som använder Azure Monitor OpenTelemetry Distro.

Telemetrityper

Telemetri, de data som samlas in för att observera ditt program, kan delas in i tre typer eller "pelare":

  • Distribuerad spårning
  • Mått
  • Loggar

En fullständig berättelse om observerbarhet innehåller alla tre grundpelarna, och Application Insights delar ytterligare upp dessa pelare i tabeller baserat på vår datamodell. Våra Application Insights-SDK:er eller Azure Monitor OpenTelemetry Distros innehåller allt du behöver för att aktivera övervakning av programprestanda i Azure. Själva paketet är kostnadsfritt att installera och du betalar bara för de data du matar in i Azure Monitor.

Följande källor förklarar de tre pelarna:

Telemetriroutning

Det finns två sätt att skicka dina data till Azure Monitor (eller någon leverantör):

  • Via en direktexportör
  • Via en agent

En direktexportör skickar telemetri i processen (från programmets kod) direkt till Slutpunkten för Azure Monitor-inmatning. Den största fördelen med den här metoden är att registrera enkelheten.

De tillgängliga Application Insights-SDK:erna och Azure Monitor OpenTelemetry Distros förlitar sig på en direkt exportör.

Kommentar

Azure Monitors position på OpenTelemetry-Collector finns i Vanliga frågor och svar om OpenTelemetry.

Dricks

Om du planerar att använda OpenTelemetry-Collector för sampling eller ytterligare databearbetning kanske du kan få samma funktioner inbyggda i Azure Monitor. Kunder som har migrerat till arbetsytebaserade Application Insights kan dra nytta av inmatningstidsomvandlingar. Om du vill aktivera följer du informationen i självstudien och hoppar över steget som visar hur du konfigurerar en diagnostikinställning eftersom detta redan har konfigurerats med Workspace-centrerade Application Insights. Om du filtrerar mindre än 50 % av den totala volymen är det ingen extra kostnad. Efter 50 % finns det en kostnad men mycket mindre än standardkostnaden per GB.

OpenTelemetry

Microsoft är glada över att kunna använda OpenTelemetry som framtiden för telemetriinstrumentation. Du, våra kunder, bad om leverantörsneutral instrumentation och vi är glada över att samarbeta med OpenTelemetry-communityn för att skapa konsekventa API:er och SDK:er mellan olika språk.

Microsoft arbetade med projektintressenter från två tidigare populära telemetriprojekt med öppen källkod, OpenCensus och OpenTracing. Tillsammans hjälpte vi till att skapa ett enda projekt, OpenTelemetry. OpenTelemetry innehåller bidrag från alla större leverantörer av moln- och programprestandahantering (APM) och bor i Cloud Native Computing Foundation (CNCF). Microsoft är platinummedlem i CNCF.

Terminologi finns i ordlistan i OpenTelemetry-specifikationerna.

Vissa äldre termer i Application Insights är förvirrande på grund av branschkonvergensen för OpenTelemetry. I följande tabell visas dessa skillnader. OpenTelemetry-termer ersätter Application Insights-termer.

Programinsikter OpenTelemetry
Autokollectors Instrumentationsbibliotek
Kanal Exportör
Kodlös/agentbaserad Autoinstrumentation
Spårningar Loggar
begäranden Serverintervall
Beroenden Andra intervalltyper (klient, intern osv.)
Åtgärds-ID Spårnings-ID
ID eller överordnad åtgärds-ID Span-ID

Vanliga frågor och svar

Var hittar jag en lista över Application Insights SDK-versioner och deras namn?

En lista över SDK-versioner och -namn finns på GitHub. Mer information finns i SDK-version.

Nästa steg

Välj aktiveringsmetod:

Mer information finns i vanliga frågor och svar om Azure Monitor Application Insights och Vanliga frågor och svar om OpenTelemetry.