Instrumentera en app för övervakning
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:
Aktivera via Application Insights SDK:er
Du behöver bara installera Application Insights SDK under följande omständigheter:
- Du behöver anpassade händelser och mått
- Du behöver kontroll över flödet av telemetri
- Automatisk instrumentering är inte tillgängligt (vanligtvis på grund av språk- eller plattformsbegränsningar)
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.
En lista över SDK-versioner och -namn finns på GitHub. Mer information finns i SDK-versionen.
Aktivera via OpenTelemetry
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.
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 |