Help, ondersteuning en feedback van OpenTelemetry
Dit artikel bevat help-, ondersteunings- en feedbackopties voor OpenTelemetry in Azure Monitor Application Insights voor .NET-, Java-, Node.js- en Python-apps.
Veelgestelde vragen
Wat is OpenTelemetry?
Het is een nieuwe opensource-standaard voor waarneembaarheid. Meer informatie vindt u op OpenTelemetry.
Waarom investeert Microsoft Azure Monitor in OpenTelemetry?
Microsoft investeert om de volgende redenen in OpenTelemetry:
- Het is leverancierneutraal en biedt consistente API's/SDK's in verschillende talen.
- In de loop van de tijd denken we dat OpenTelemetry azure Monitor-klanten in staat stelt toepassingen te observeren die zijn geschreven in talen die buiten onze ondersteunde talen zijn geschreven.
- Hiermee worden de typen gegevens uitgebreid die u kunt verzamelen via een uitgebreide set instrumentatiebibliotheken.
- OpenTelemetry Software Development Kits (SDK's) zijn meestal beter presterend dan hun voorgangers, de Application Insights SDK's.
- OpenTelemetry is afgestemd op de strategie van Microsoft om open source te omarmen.
Wat is de status van OpenTelemetry?
Zie openTelemetry-status.
Wat is de Azure Monitor OpenTelemetry Distro?
U kunt het beschouwen als een dunne wrapper die alle OpenTelemetry-onderdelen bundelt voor een eersteklas ervaring in Azure. Deze wrapper wordt ook wel een distributie genoemd in OpenTelemetry.
Waarom moet ik de Azure Monitor OpenTelemetry Distro gebruiken?
Er zijn verschillende voordelen voor het gebruik van de Azure Monitor OpenTelemetry Distro over systeemeigen OpenTelemetry van de community:
- Vermindert de activeringsinspanning
- Ondersteund door Microsoft
- Brengt azure-specifieke functies, zoals:
- Steekproeven die compatibel zijn met klassieke Application Insights SDK's
- Microsoft Entra-verificatie
- Offlineopslag en automatische nieuwe pogingen
- Statsbeat
- Metrische standaardgegevens van Application Insights
- Resourcemetagegevens detecteren om de naam van de cloudrol en het cloudrolexemplaren automatisch in te vullen in verschillende Azure-omgevingen
- Live Metrics
In de geest van OpenTelemetry hebben we de distributie ontworpen om open en uitbreidbaar te zijn. U kunt bijvoorbeeld het volgende toevoegen:
- Een OTLP-exporteur (OpenTelemetry Protocol) en tegelijkertijd naar een tweede bestemming verzenden
- Andere instrumentatiebibliotheken die niet zijn opgenomen in de distributie
Omdat de distributie een OpenTelemetry-distributie biedt, ondersteunt de distro alles wat wordt ondersteund door OpenTelemetry. U kunt bijvoorbeeld meer telemetrieprocessors, exporteurs of instrumentatiebibliotheken toevoegen als OpenTelemetry deze ondersteunt.
Notitie
De distributie stelt de sampler in op een aangepaste, vaste-rate sampler voor Application Insights. U kunt dit wijzigen in een andere sampler, maar als u dit doet, kunnen sommige van de meegeleverde mogelijkheden van distro worden uitgeschakeld. Zie de sectie Sampling inschakelen van Azure Monitor OpenTelemetry voor meer informatie over de ondersteunde sampler.
Voor talen zonder een ondersteunde zelfstandige OpenTelemetry-exporteur is Azure Monitor OpenTelemetry Distro de enige ondersteunde manier om OpenTelemetry te gebruiken met Azure Monitor. Voor talen met een ondersteunde zelfstandige OpenTelemetry-exporteur hebt u de mogelijkheid om de Azure Monitor OpenTelemetry Distro of de juiste zelfstandige OpenTelemetry-exporteur te gebruiken, afhankelijk van uw telemetriescenario. Zie Wanneer moet ik de Azure Monitor OpenTelemetry-exporteur gebruiken? voor meer informatie.
Hoe kan ik de Azure Monitor OpenTelemetry Distro testen?
Bekijk onze inschakelingsdocumenten voor .NET, Java, JavaScript (Node.js) en Python.
Moet ik OpenTelemetry of de Application Insights SDK gebruiken?
We raden u aan de OpenTelemetry Distro te gebruiken, tenzij u een functie nodig hebt die alleen beschikbaar is met formele ondersteuning in de Application Insights SDK.
Het gebruik van OpenTelemetry voorkomt nu dat ze op een later tijdstip moeten worden gemigreerd.
Wanneer moet ik de Azure Monitor OpenTelemetry-exporteur gebruiken?
Voor ASP.NET Core, Java, Node.js en Python wordt u aangeraden de Azure Monitor OpenTelemetry Distro te gebruiken. Het is één regel code om aan de slag te gaan.
Voor alle andere .NET-scenario's, waaronder klassieke ASP.NET, console-apps, Windows Forms (WinForms), enzovoort, raden we u aan om de .NET Azure Monitor OpenTelemetry-exporteur te gebruiken: Azure.Monitor.OpenTelemetry.Exporter
.
Voor complexere Python-telemetriescenario's waarvoor geavanceerde configuratie is vereist, raden we u aan de Python Azure Monitor OpenTelemetry Exporter te gebruiken.
Wat is de huidige releasestatus van functies in de Azure Monitor OpenTelemetry Distro?
In de volgende grafiek wordt ondersteuning voor OpenTelemetry-functies voor elke taal uitgesplitst.
Functie | .NET | Node.js | Python | Java |
---|---|---|---|---|
Gedistribueerde tracering | ✅ | ✅ | ✅ | ✅ |
Aangepaste meetwaarden | ✅ | ✅ | ✅ | ✅ |
Metrische standaardgegevens | ✅ | ✅ | ✅ | ✅ |
Steekproeven met vaste frequentie | ✅ | ✅ | ✅ | ✅ |
Offlineopslag en automatische nieuwe pogingen | ✅ | ✅ | ✅ | ✅ |
Uitzonderingsrapportage | ✅ | ✅ | ✅ | ✅ |
Logboekverzameling | ✅ | ⚠️ | ✅ | ✅ |
Aangepaste gebeurtenissen | ⚠️ | ⚠️ | ⚠️ | ✅ |
Microsoft Entra-verificatie | ✅ | ✅ | ✅ | ✅ |
Live metrische gegevens | ✅ | ✅ | ✅ | ✅ |
Live Metrics Filtering | ✅ | ❌ | ❌ | ❌ |
Resourcecontext detecteren voor VM/VMSS en App Service | ✅ | ❌ | ✅ | ✅ |
Resourcecontext detecteren voor Azure Kubernetes Service (AKS) en Functies | ❌ | ❌ | ❌ | ✅ |
Gebeurtenissen voor beschikbaarheidstests die zijn gegenereerd met behulp van de Api voor het bijhouden van beschikbaarheid | ❌ | ❌ | ❌ | ✅ |
Aanvragen, afhankelijkheden, logboeken en uitzonderingen filteren op anonieme gebruikers-id en synthetische bron | ❌ | ❌ | ❌ | ✅ |
Afhankelijkheden, logboeken en uitzonderingen filteren op bewerkingsnaam | ❌ | ❌ | ❌ | ✅ |
Adaptieve steekproeven | ❌ | ❌ | ❌ | ✅ |
Profiler | ❌ | ❌ | ❌ | ⚠️ |
Snapshot Debugger | ❌ | ❌ | ❌ | ❌ |
Code
- ✅ Deze functie is beschikbaar voor alle klanten met formele ondersteuning.
- ⚠✏ Deze functie is beschikbaar als openbare preview. Zie aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.
- ❌ Deze functie is niet beschikbaar of is niet van toepassing.
Kan OpenTelemetry worden gebruikt voor webbrowsers?
Ja, maar we raden het niet aan en Azure biedt geen ondersteuning voor het. OpenTelemetry JavaScript is sterk geoptimaliseerd voor Node.js. In plaats daarvan raden we u aan de JavaScript SDK van Application Insights te gebruiken.
Wanneer kunnen we verwachten dat de OpenTelemetry SDK beschikbaar is voor gebruik in webbrowsers?
De OpenTelemetry-web-SDK heeft geen bepaalde beschikbaarheidstijdlijn. We zijn waarschijnlijk enkele jaren verwijderd van een browser-SDK die een levensvatbaar alternatief is voor de Application Insights JavaScript SDK.
Kan ik OpenTelemetry vandaag testen in een webbrowser?
De OpenTelemetry-web-sandbox is een fork die is ontworpen om OpenTelemetry in een browser te laten werken. Het is nog niet mogelijk om telemetrie te verzenden naar Application Insights. De SDK definieert geen algemene clientevenementen.
Wordt Application Insights uitgevoerd naast concurrerende agents zoals AppDynamics, DataDog en NewRelic?
Deze procedure is niet van plan om te testen of te ondersteunen, hoewel met onze distributies u kunt exporteren naar een OTLP-eindpunt naast Azure Monitor tegelijk.
Kan ik preview-functies gebruiken in productieomgevingen?
We raden het niet aan. Zie aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.
Wat is het verschil tussen handmatige en automatische instrumentatie?
Zie het Overzicht van OpenTelemetry.
Kan ik de OpenTelemetry Collector gebruiken?
Sommige klanten gebruiken de OpenTelemetry Collector als een alternatief voor agents, ook al ondersteunt Microsoft nog geen op agents gebaseerde benadering voor toepassingsbewaking. Ondertussen heeft de opensource-community bijgedragen aan een OpenTelemetry Collector Azure Monitor Exporter die sommige klanten gebruiken om gegevens naar Azure Monitor Application Insights te verzenden. Dit wordt niet ondersteund door Microsoft.
Wat is het verschil tussen OpenCensus en OpenTelemetry?
OpenCensus is de voorloper van OpenTelemetry. Microsoft heeft OpenTracing en OpenCensus samengebracht om OpenTelemetry te maken, één waarneembaarheidsstandaard voor de wereld. De huidige door productie aanbevolen Python SDK voor Azure Monitor is gebaseerd op OpenCensus. Microsoft streeft ernaar Om Azure Monitor te maken op basis van OpenTelemetry.
Waarom zie Status: 500. Can't visualize trace events using the trace visualizer
ik in Grafana?
U kunt proberen onbewerkte tekstlogboeken te visualiseren in plaats van OpenTelemetry-traceringen.
In Application Insights slaat de tabel Traceringen onbewerkte tekstlogboeken op voor diagnostische doeleinden. Ze helpen bij het identificeren en correleren van traceringen die zijn gekoppeld aan gebruikersaanvragen, andere gebeurtenissen en uitzonderingsrapporten. De tabel Traceringen draagt echter niet rechtstreeks bij aan de end-to-end transactieweergave (watervalgrafiek) in visualisatiehulpprogramma's zoals Grafana.
Met de groeiende acceptatie van cloudeigen procedures is er een evolutie in telemetrieverzameling en terminologie. OpenTelemetry werd een standaard voor het verzamelen en instrumenteren van telemetriegegevens. In deze context heeft de term Traceringen een nieuwe betekenis. In plaats van onbewerkte logboeken verwijst 'Traces' in OpenTelemetry naar een rijkere, gestructureerde vorm van telemetrie die spans bevat, die afzonderlijke werkeenheden vertegenwoordigen. Deze reeksen zijn van cruciaal belang voor het bouwen van gedetailleerde transactieweergaven, waardoor betere bewaking en diagnose van cloudtoepassingen mogelijk zijn.
Probleemoplossing
Stap 1: Diagnostische logboekregistratie inschakelen
De Azure Monitor-exporteur gebruikt EventSource voor de interne logboekregistratie. De logboeken van de exporteur zijn beschikbaar voor elke EventListener door zich aan te melden bij de bron met de naam OpenTelemetry-AzureMonitor-Exporter
. Zie OpenTelemetry Troubleshooting on GitHub (Problemen met OpenTelemetry oplossen op GitHub) voor stappen voor probleemoplossing .
Stap 2: De connectiviteit tussen uw toepassingshost en de opnameservice testen
Application Insights SDK's (Software Development Kits) en agents verzenden telemetrie om opgenomen te worden als REST-aanroepen bij onze opname-eindpunten. Gebruik cURL-opdrachten of onbewerkte REST-aanvragen van PowerShell om de connectiviteit vanaf uw webserver of toepassingshostcomputer te testen op de eindpunten van de opnameservice. Zie Problemen met ontbrekende toepassingstelemetrie in Azure Monitor Application Insights oplossen voor meer informatie.
Bekende problemen
De volgende items zijn bekende problemen voor de Azure Monitor OpenTelemetry Exporters:
De naam van de bewerking ontbreekt in afhankelijkheidstelemetrie. De naam van de ontbrekende bewerking veroorzaakt fouten en heeft een negatieve invloed op de prestatietabbladervaring.
Het apparaatmodel ontbreekt in aanvraag- en afhankelijkheidstelemetrie. Het ontbrekende apparaatmodel heeft negatieve gevolgen voor de cohortanalyse van het apparaat.
Ondersteuning
Selecteer een tabblad voor de taal van uw keuze om ondersteuningsopties te ontdekken.
- Open een ondersteuning voor Azure ticket voor ondersteuning voor Azure problemen.
- Neem voor problemen met OpenTelemetry rechtstreeks contact op met de OpenTelemetry .NET-community .
- Zie de GitHub Issues Page (GitHub Issues Page) voor een lijst met openstaande problemen met betrekking tot Azure Monitor Exporter.
OpenTelemetry Feedback
Feedback geven:
- Vul de feedbackenquête van de OpenTelemetry-community in.
- Vertel Microsoft over uzelf door deel te nemen aan de OpenTelemetry Early Adopter Community.
- Neem contact op met andere Azure Monitor-gebruikers in de Microsoft Tech Community.
- Maak een functieaanvraag op het Azure-feedbackforum.