Dela via


Samla in telemetri med OpenTelemetry i 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.

Instrumentering av program med OpenTelemetry (OTel) i Application Insights möjliggör standardiserad telemetrisamling mellan plattformar. Detta förbättrar observerbarheten, förenklar prestandaövervakningen och stöder distribuerad spårning, mått och logganalys.

Anteckning

Information om Azure Function Apps finns i Använda OpenTelemetry med Azure Functions.

Instrumenteringsmetoder för Application Insights: OpenTelemetry med mera

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 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 direkt exportör skickar telemetri inom processen (från applikationens kod) direkt till Azure Monitors inmatningsslutpunkt. Den största fördelen med den här metoden är enkelheten i onboardingprocessen.

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

Anteckning

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

Tips

Om du planerar att använda OpenTelemetry-Collector för sampling eller ytterligare databearbetning kanske du kan få samma funktioner inbyggda i Azure Monitor. Arbetsytebaserade Application Insights-resurser drar nytta av inmatningstidstransformeringar. 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
Automatinsamlare Instrumentationsbibliotek
Kanal Exportör
Kodlös/agentbaserad Automatisk instrumentering
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

Nästa steg

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

Välj aktiveringsmetod: