Dela via


OpenTelemetry-hjälp, support och feedback

Den här artikeln innehåller hjälp-, support- och feedbackalternativ för OpenTelemetry i Azure Monitor Application Insights för .NET, Java, Node.js och Python-appar.

Vanliga frågor och svar

Vad är OpenTelemetry?

Det är en ny standard med öppen källkod för observerbarhet. Läs mer på OpenTelemetry.

Varför investerar Microsoft Azure Monitor i OpenTelemetry?

Microsoft investerar i OpenTelemetry av följande skäl:

  • Den är leverantörsneutral och tillhandahåller konsekventa API:er/SDK:er mellan olika språk.
  • Med tiden tror vi att OpenTelemetry gör det möjligt för Azure Monitor-kunder att observera program som skrivits på språk utöver våra språk som stöds.
  • Den utökar de typer av data som du kan samla in via en omfattande uppsättning instrumentationsbibliotek.
  • OpenTelemetry Software Development Kits (SDK:er) tenderar att vara mer högpresterande i stor skala än sina föregångare, Application Insights SDK:er.
  • OpenTelemetry överensstämmer med Microsofts strategi att ta till sig öppen källkod.

Vad är statusen för OpenTelemetry?

Se Status för OpenTelemetry.

Vad är Azure Monitor OpenTelemetry Distro?

Du kan se det som en tunn omslutning som buntar ihop alla OpenTelemetry-komponenter för en förstklassig upplevelse i Azure. Den här omslutningen kallas även för en distribution i OpenTelemetry.

Varför ska jag använda Azure Monitor OpenTelemetry Distro?

Det finns flera fördelar med att använda Azure Monitor OpenTelemetry Distro över inbyggd OpenTelemetry från communityn:

I OpenTelemetrys anda utformade vi distributionen så att den var öppen och utökningsbar. Du kan till exempel lägga till:

  • En OpenTelemetry Protocol-exportör (OTLP) och skicka till ett andra mål samtidigt
  • Andra instrumentationsbibliotek som inte ingår i distributionen

Eftersom Distro tillhandahåller en OpenTelemetry-distribution stöder distributionen allt som stöds av OpenTelemetry. Du kan till exempel lägga till fler telemetriprocessorer, exportörer eller instrumentationsbibliotek om OpenTelemetry stöder dem.

Kommentar

Distributionen anger sampler till en anpassad, fast frekvensexempel för Application Insights. Du kan ändra detta till en annan provtagare, men om du gör det kan du inaktivera några av distributionsfunktionerna. Mer information om exempelprogrammet som stöds finns i avsnittet Aktivera sampling i Konfigurera Azure Monitor OpenTelemetry.

För språk utan en fristående OpenTelemetry-exportör som stöds är Azure Monitor OpenTelemetry Distro det enda sättet att använda OpenTelemetry med Azure Monitor. För språk med en fristående OpenTelemetry-exportör som stöds kan du använda antingen Azure Monitor OpenTelemetry Distro eller lämplig fristående OpenTelemetry-exportör beroende på ditt telemetriscenario. Mer information finns i När ska jag använda Azure Monitor OpenTelemetry-exportören?.

Hur kan jag testa Azure Monitor OpenTelemetry Distro?

Kolla in våra aktiveringsdokument för .NET, Java, JavaScript (Node.js) och Python.

Ska jag använda OpenTelemetry eller Application Insights SDK?

Vi rekommenderar att du använder OpenTelemetry Distro om du inte behöver en funktion som endast är tillgänglig med formell support i Application Insights SDK.

Att använda OpenTelemetry förhindrar nu att du behöver migrera vid ett senare tillfälle.

När ska jag använda Azure Monitor OpenTelemetry-exportören?

För ASP.NET Core, Java, Node.js och Python rekommenderar vi att du använder Azure Monitor OpenTelemetry Distro. Det är en kodrad för att komma igång.

För alla andra .NET-scenarier, inklusive klassiska ASP.NET, konsolappar, Windows Forms (WinForms) osv. rekommenderar vi att du använder .NET Azure Monitor OpenTelemetry-exportören: Azure.Monitor.OpenTelemetry.Exporter.

För mer komplexa Python-telemetriscenarier som kräver avancerad konfiguration rekommenderar vi att du använder Python Azure Monitor OpenTelemetry Exporter.

Vad är det aktuella versionstillståndet för funktioner i Azure Monitor OpenTelemetry Distro?

Följande diagram delar upp funktionsstöd för OpenTelemetry för varje språk.

Funktion .NET Node.js Python Java
Distribuerad spårning
Anpassade mått
Standardmått
Sampling med fast frekvens
Offlinelagring och automatiska återförsök
Undantagsrapportering
Loggsamling ⚠️
Anpassade händelser ⚠️ ⚠️ ⚠️
Microsoft Entra-autentisering
Live-mått
Filtrering av livemått
Identifiera resurskontext för virtuell dator/VMSS och App Service
Identifiera resurskontext för Azure Kubernetes Service (AKS) och Functions
Händelser för tillgänglighetstestning som genereras med hjälp av API:et Spåra tillgänglighet
Filtrera begäranden, beroenden, loggar och undantag efter anonymt användar-ID och syntetisk källa
Filtrera beroenden, loggar och undantag efter åtgärdsnamn
Adaptiv sampling
Profilerare ⚠️
Felsökning av ögonblicksbild

Tangent

  • ✅ Den här funktionen är tillgänglig för alla kunder med formell support.
  • ⚠️ Den här funktionen är tillgänglig som en offentlig förhandsversion. Se Kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.
  • ❌ Den här funktionen är inte tillgänglig eller är inte tillämplig.

Kan OpenTelemetry användas för webbläsare?

Ja, men vi rekommenderar det inte och Azure stöder det inte. OpenTelemetry JavaScript är mycket optimerat för Node.js. I stället rekommenderar vi att du använder Application Insights JavaScript SDK.

När kan vi förvänta oss att OpenTelemetry SDK ska vara tillgängligt för användning i webbläsare?

OpenTelemetry-webb-SDK:t har ingen fastställd tillgänglighetstidslinje. Vi är förmodligen flera år från en webbläsar-SDK som är ett genomförbart alternativ till Application Insights JavaScript SDK.

Kan jag testa OpenTelemetry i en webbläsare idag?

OpenTelemetry-webbsandlådan är en förgrening som utformats för att få OpenTelemetry att fungera i en webbläsare. Det går ännu inte att skicka telemetri till Application Insights. SDK:t definierar inte allmänna klienthändelser.

Stöds application insights tillsammans med konkurrerande agenter som AppDynamics, DataDog och NewRelic?

Den här metoden är inte något som vi planerar att testa eller stödja, även om våra distributioner gör att du kan exportera till en OTLP-slutpunkt tillsammans med Azure Monitor samtidigt.

Kan jag använda förhandsversionsfunktioner i produktionsmiljöer?

Vi rekommenderar det inte. Se Kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.

Vad är skillnaden mellan manuell och automatisk instrumentering?

Se Översikt över OpenTelemetry.

Kan jag använda OpenTelemetry Collector?

Vissa kunder använder OpenTelemetry Collector som ett agentalternativ, även om Microsoft inte officiellt stöder en agentbaserad metod för programövervakning ännu. Under tiden bidrog communityn med öppen källkod med en OpenTelemetry Collector Azure Monitor-exportör som vissa kunder använder för att skicka data till Azure Monitor Application Insights. Detta stöds inte av Microsoft.

Vad är skillnaden mellan OpenCensus och OpenTelemetry?

OpenCensus är föregångaren till OpenTelemetry. Microsoft hjälpte till att samla OpenTracing och OpenCensus för att skapa OpenTelemetry, en enda observerbarhetsstandard för världen. Den aktuella produktionsrekommenderade Python SDK :t för Azure Monitor baseras på OpenCensus. Microsoft har åtagit sig att göra Azure Monitor baserat på OpenTelemetry.

Varför ser Status: 500. Can't visualize trace events using the trace visualizerjag i Grafana?

Du kan försöka visualisera råa textloggar i stället för OpenTelemetry-spårningar.

I Application Insights lagrar tabellen Spårningar råtextloggar för diagnostiska ändamål. De hjälper dig att identifiera och korrelera spårningar som är associerade med användarbegäranden, andra händelser och undantagsrapporter. Tabellen Spårningar bidrar dock inte direkt till transaktionsvyn från slutpunkt till slutpunkt (vattenfallsdiagram) i visualiseringsverktyg som Grafana.

I och med det växande införandet av molnbaserade metoder finns det en utveckling inom insamling och terminologi för telemetri. OpenTelemetry blev en standard för insamling och instrumentering av telemetridata. I det här sammanhanget fick termen "Traces" en ny betydelse. I stället för råloggar refererar "Traces" i OpenTelemetry till en mer omfattande, strukturerad form av telemetri som innehåller intervall, som representerar enskilda arbetsenheter. Dessa intervall är avgörande för att skapa detaljerade transaktionsvyer, vilket möjliggör bättre övervakning och diagnostik av molnbaserade program.

Felsökning

Steg 1: Aktivera diagnostikloggning

Azure Monitor-exportören använder EventSource för sin interna loggning. Exporteringsloggarna är tillgängliga för alla EventListener genom att välja källan med namnet OpenTelemetry-AzureMonitor-Exporter. Felsökningssteg finns i Felsökning av OpenTelemetry på GitHub.

Steg 2: Testa anslutningen mellan programvärden och inmatningstjänsten

Application Insights-programutvecklingspaket (SDK:er) och agenter skickar telemetri för att matas in som REST-anrop vid våra inmatningsslutpunkter. Om du vill testa anslutningen från webbservern eller programvärddatorn till slutpunkterna för inmatningstjänsten använder du cURL-kommandon eller råa REST-begäranden från PowerShell. Mer information finns i Felsöka programtelemetri som saknas i Azure Monitor Application Insights.

Kända problem

Följande objekt är kända problem för Azure Monitor OpenTelemetry-exportörerna:

  • Åtgärdsnamnet saknas i beroendetelemetri. Namnet på den saknade åtgärden orsakar fel och påverkar prestandafliken negativt.

  • Enhetsmodellen saknas i telemetri för begäran och beroende. Den saknade enhetsmodellen påverkar enhetskohortanalysen negativt.

Support

Välj en flik för det språk du väljer för att identifiera supportalternativ.

OpenTelemetry Feedback

Så här ger du feedback: