Az Azure Monitor OpenTelemetria engedélyezése .NET-, Node.js-, Python- és Java-alkalmazásokhoz

Ez a cikk azt ismerteti, hogyan engedélyezheti és konfigurálhatja az OpenTelemetry-alapú adatgyűjtést az Azure Monitor-alkalmazás Elemzések felhasználói élményének eléréséhez. Végigvezetjük az Azure Monitor OpenTelemetry Distro telepítésén. Az Azure Monitor OpenTelemetry Distro egy OpenTelemetria-disztribúciót biztosít, amely az Azure Monitorra jellemző funkciók támogatását tartalmazza. A Disztribúció lehetővé teszi az automatikus telemetriát az OpenTelemetry-eszközkódtárak használatával nyomkövetések, metrikák, naplók és kivételek gyűjtéséhez, és lehetővé teszi az egyéni telemetriai adatok gyűjtését. A Disztribúció élő metrikák funkciójával több telemetriát is monitorozhat és gyűjthet élő, éles webalkalmazásokból. Az Azure Monitor OpenTelemetria disztribúció használatának előnyeiről az OpenTelemetria gyakori kérdései között talál további információt az "Azure Monitor OpenTelemetry Distro" című témakörben.

Az OpenTelemetria használatával történő adatgyűjtésről további információt az Adatgyűjtés alapjai vagy az OpenTelemetria gyik című témakörben talál.

OpenTelemetria kiadásának állapota

Az OpenTelemetry-ajánlatok .NET-, Node.js-, Python- és Java-alkalmazásokhoz érhetők el.

Feljegyzés

A funkciónkénti kiadási állapotot a gyakori kérdések között találja.

Első lépések

Kövesse az ebben a szakaszban leírt lépéseket az alkalmazás OpenTelemetria használatával történő rendszerezettségéhez.

Előfeltételek

Telepítse az ügyfélkódtárat

Telepítse a legújabb Azure.Monitor.OpenTelemetry.AspNetCore NuGet csomagot:

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore 

Az Azure Monitor-alkalmazás Elemzések engedélyezése

Az Azure Monitor-alkalmazás Elemzések engedélyezéséhez kisebb módosítást kell végeznie az alkalmazáson, és be kell állítania a "Csatlakozás ion-sztringet". A Csatlakozás ion sztring jelzi az alkalmazásnak, hogy hová küldje a Disztribúció által gyűjtött telemetriát, és ez egyedi Önnek.

Az alkalmazás módosítása

Adja hozzá UseAzureMonitor() az alkalmazás indításához, amely az program.cs osztályban található.

// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;

// Create a new WebApplicationBuilder instance.
var builder = WebApplication.CreateBuilder(args);

// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();

// Build the application.
var app = builder.Build();

// Run the application.
app.Run();

Másolja a Csatlakozás ion sztringet az alkalmazás Elemzések erőforrásból

Tipp.

Ha még nem rendelkezik ilyen erőforrással, nagyszerű alkalom az alkalmazás Elemzések erőforrás létrehozására. Az alábbiakban azt javasoljuk, hogy hozzon létre egy új alkalmazást Elemzések erőforrást, és ne használjon meglévőt.

Az egyedi Csatlakozás ion-sztring másolása:

Képernyőkép az alkalmazás Elemzések áttekintéséről és kapcsolati sztring.

  1. Nyissa meg az alkalmazás Elemzések erőforrás Áttekintés panelét.
  2. Keresse meg a Csatlakozás ion sztringet.
  3. Vigye az egérmutatót a kapcsolati sztring, és válassza a Vágólapra másolás ikont.

A Csatlakozás ion-sztring beillesztése a környezetbe

A Csatlakozás ion-sztring beillesztéséhez válasszon a következő lehetőségek közül:

V. Beállítás környezeti változóval (ajánlott)

Cserélje le <Your Connection String> az alábbi parancsot az egyedi kapcsolati sztring.

APPLICATIONINSIGHTS_CONNECTION_STRING=<Your Connection String>

B. Beállítás konfigurációs fájlon keresztül – Csak Java (ajánlott)

Hozzon létre egy konfigurációs fájlt, applicationinsights.jsonés helyezze ugyanabban a könyvtárban, mint applicationinsights-agent-3.5.1.jar a következő tartalommal:

{
  "connectionString": "<Your Connection String>"
}

Cserélje le <Your Connection String> az előző JSON-t az egyedi kapcsolati sztring.

C. Set via Code – ASP.NET Core, Node.js és Python Only (Nem ajánlott)

A Csatlakozás ion-sztring kódon keresztüli beállítására példa a Csatlakozás ion-sztringkonfiguráció című témakörben olvasható.

Feljegyzés

Ha a kapcsolati sztring egynél több helyen állítja be, a következő sorrendet tartjuk be:

  1. Kód
  2. Környezeti változó
  3. Konfigurációs fájl

Adatok áramlásának ellenőrzése

Futtassa az alkalmazást, és nyissa meg az Alkalmazás Elemzések Erőforrás lapját az Azure Portalon. Eltarthat néhány percig, amíg az adatok megjelennek a portálon.

Képernyőkép az Alkalmazás Elemzések Áttekintés lapról, amelyen a kiszolgálókérések és a kiszolgáló válaszideje ki van emelve.

Az alkalmazás Elemzések mostantól engedélyezve van az alkalmazás számára. Az alábbi lépések nem kötelezőek, és lehetővé teszik a további testreszabást.

Fontos

Ha két vagy több olyan szolgáltatása van, amely telemetriát bocsát ki ugyanahhoz az alkalmazáshoz Elemzések erőforráshoz, a felhőbeli szerepkörneveket be kell állítania, hogy megfelelően ábrázolják őket az alkalmazástérképen.

Az alkalmazás Elemzések rendszerezésének részeként diagnosztikai adatokat gyűjtünk és küldünk a Microsoftnak. Ezek az adatok segítenek az alkalmazás Elemzések futtatásában és fejlesztésében. További információ: Statsbeat in Azure-alkalmazás Elemzések.

Minták

Az Azure Monitor OpenTelemetry mintaalkalmazásai minden támogatott nyelvhez elérhetők.

Következő lépések

Gyakori kérdések

Ez a szakasz választ ad a gyakori kérdésekre.

Mi az OpenTelemetria?

Ez egy új nyílt forráskódú szabvány a megfigyelhetőséghez. További információ az OpenTelemetryről.

Miért fektet be a Microsoft Azure Monitor az OpenTelemetrybe?

A Microsoft az OpenTelemetria legnagyobb közreműködői közé tartozik.

Az OpenTelemetria fő értékajánlata, hogy szállítósemleges, és egységes API-kat/SDK-kat biztosít a nyelvek között.

Úgy gondoljuk, hogy az OpenTelemetry idővel lehetővé teszi az Azure Monitor-ügyfelek számára, hogy a támogatott nyelveken kívül más nyelveken írt alkalmazásokat figyeljenek meg. Emellett a rendszerállapot-kódtárak széles halmazán keresztül összegyűjthető adattípusokat is kibővíti. Emellett az OpenTelemetry SDK-k általában nagyobb teljesítményűek, mint elődjeik, az alkalmazás Elemzések SDK-k.

Végül az OpenTelemetry igazodik a Microsoft stratégiájához, amely nyílt forráskód.

Mi az OpenTelemetria állapota?

Lásd: OpenTelemetry Status.

Mi az "Azure Monitor OpenTelemetry Distro"?

Úgy tekinthet rá, mint egy vékony burkolóra, amely összecsomagol minden OpenTelemetry-összetevőt egy első osztályú Azure-élmény érdekében. Ezt a burkolót az OpenTelemetryben disztribúciónak is nevezik.

Miért érdemes az "Azure Monitor OpenTelemetry Distro"-t használni?

Az Azure Monitor OpenTelemetry Distro használatának számos előnye van a közösség natív OpenTelemetry-ével szemben:

Az OpenTelemetria szellemében úgy terveztük meg a disztribúciót, hogy nyitott és bővíthető legyen. Hozzáadhatja például a következőt:

  • OpenTelemetry Protocol (OTLP) exportőr, és küldd el egy második cél egyidejűleg
  • A disztribúcióban nem szereplő egyéb eszközkódtárak

Mivel a Disztribúció OpenTelemetria-disztribúciót biztosít, a Disztribúció az OpenTelemetria által támogatott bármit támogat. Hozzáadhat például több telemetriai processzort, exportőrt vagy rendszerállapot-kódtárat, ha az OpenTelemetria támogatja őket.

Feljegyzés

A Disztribúció egyéni, rögzített díjas mintavevőre állítja a mintavevőt az Application Elemzések számára. Ezt módosíthatja egy másik mintavevőre, de ezzel letilthatja a Disztribúció egyes funkcióit. A támogatott mintavevőről az Azure Monitor OpenTelemetria konfigurálásának mintavételezés engedélyezése című szakaszában talál további információt.

A támogatott önálló OpenTelemetry-exportőr nélküli nyelvek esetében az Azure Monitor OpenTelemetry Distro az egyetlen jelenleg támogatott módszer az OpenTelemetry és az Azure Monitor használatára. A támogatott önálló OpenTelemetry-exportőrrel rendelkező nyelvek esetében lehetősége van az Azure Monitor OpenTelemetry Distro vagy a megfelelő önálló OpenTelemetry-exportőr használatára a telemetriai forgatókönyvtől függően. További információ: Mikor érdemes használni az Azure Monitor OpenTelemetry-exportőrt?.

Hogyan tesztelhetem az Azure Monitor OpenTelemetry disztribúciót?

Tekintse meg a .NET, a Java, a JavaScript (Node.js) és a Python engedélyezési dokumentációját.

Használjam az OpenTelemetria vagy az alkalmazás Elemzések SDK-t?

Azt javasoljuk, hogy használja az OpenTelemetria-disztribúciót, hacsak nem igényel olyan funkciót, amely csak formális támogatással érhető el az Alkalmazás Elemzések SDK-ban.

Az OpenTelemetria bevezetése megakadályozza, hogy később migráljon.

Mikor érdemes használni az Azure Monitor OpenTelemetry-exportőrt?

ASP.NET Core, Java, Node.js és Python esetén az Azure Monitor OpenTelemetry Distro használatát javasoljuk. Ez egy kódsor az első lépésekhez.

Minden más .NET-forgatókönyv esetében, beleértve a klasszikus ASP.NET, a konzolalkalmazásokat stb., javasoljuk a .NET Azure Monitor OpenTelemetry-exportőr használatát: Azure.Monitor.OpenTelemetry.Exporter.

Összetettebb, speciális konfigurációt igénylő Python-telemetriai forgatókönyvek esetén javasoljuk a Python Azure Monitor OpenTelemetry-exportőr használatát.

Mi az Azure Monitor OpenTelemetry Distro funkcióinak aktuális kiadási állapota?

Az alábbi diagram az Egyes nyelvek OpenTelemetry funkciójának támogatását mutatja be.

Szolgáltatás .NET Node.js Python Java
Elosztott nyomkövetés
Egyéni metrikák
Standard metrikák (a mintavételezés által jelenleg érintett pontosság)
Rögzített gyakoriságú mintavételezés
Offline tárolás és automatikus újrapróbálkozás
Kivételjelentés
Naplók gyűjteménye ⚠️
Egyéni események ⚠️ ⚠️ ⚠️
Microsoft Entra hitelesítés
Élő metrikák
Erőforrás-környezet észlelése virtuális géphez/VMSS-hez és App Service-hez
Az AKS és függvények erőforrás-környezetének észlelése
Rendelkezésre állási tesztelési span szűrés
A felhasználói azonosító, a hitelesített felhasználói azonosító és a felhasználói IP-cím automatikus feltöltése
Műveletnév, felhasználói azonosító vagy hitelesített felhasználói azonosító manuális felülbírálása/beállítása
Adaptív mintavételezés
Profilkészítő ⚠️
Pillanatkép-hibakereső

Kulcs

  • ✅ Ez a funkció minden hivatalos támogatással rendelkező ügyfél számára elérhető.
  • ⚠️ Ez a funkció nyilvános előzetes verzióként érhető el. Lásd a Microsoft Azure előzetes verziójának használati feltételeit.
  • ❌ Ez a funkció nem érhető el, vagy nem alkalmazható.

Használható az OpenTelemetria webböngészőkhöz?

Igen, de nem javasoljuk, és az Azure nem támogatja. Az OpenTelemetry JavaScript nagymértékben optimalizálva van Node.js. Ehelyett azt javasoljuk, hogy az alkalmazás Elemzések JavaScript SDK-t használja.

Mikor várható, hogy az OpenTelemetry SDK elérhető lesz a webböngészőkben?

Az OpenTelemetry webes SDK nem rendelkezik meghatározott rendelkezésre állási ütemtervvel. Valószínűleg több évnyire vagyunk a böngésző SDK-tól, amely életképes alternatívája az alkalmazásnak Elemzések JavaScript SDK-nak.

Tesztelhetem az OpenTelemetryt egy webböngészőben?

Az OpenTelemetry webes tesztkörnyezete egy elágazás, amely arra szolgál, hogy az OpenTelemetria működjön egy böngészőben. Még nem lehet telemetriát küldeni az Alkalmazás Elemzések. Az SDK nem definiál általános ügyféleseményeket.

Támogatott az Alkalmazás Elemzések futtatása olyan versenytárs ügynökök mellett, mint az AppDynamics, a DataDog és a NewRelic?

Szám Ezt a gyakorlatot nem tervezzük tesztelni vagy támogatni, bár distribúcióink lehetővé teszik, hogy egyszerre exportáljon egy OTLP-végpontra az Azure Monitor mellett.

Használhatok előzetes verziójú funkciókat éles környezetekben?

Nem javasoljuk. Lásd a Microsoft Azure előzetes verziójának használati feltételeit.

Mi a különbség a manuális és az automatikus rendszerállapot között?

Tekintse meg az OpenTelemetry áttekintését.

Használhatom az OpenTelemetry Collectort?

Egyes ügyfelek az OpenTelemetry Collectort használják ügynök alternatívaként, annak ellenére, hogy a Microsoft hivatalosan még nem támogatja az alkalmazásfigyelés ügynökalapú megközelítését. Addig is a nyílt forráskódú közösség hozzájárult egy OpenTelemetry Collector Azure Monitor-exportőrhöz, amellyel egyes ügyfelek adatokat küldenek az Azure Monitor-alkalmazásnak Elemzések. Ezt a Microsoft nem támogatja.

Mi a különbség az OpenCensus és az OpenTelemetria között?

Az OpenCensus az OpenTelemetria előfutára. A Microsoft segített összehozni az OpenTracinget és az OpenCensust az OpenTelemetria létrehozásához, amely a világ egyetlen megfigyelhetőségi szabványa. Az Azure Monitorhoz készült, jelenleg éles környezetben ajánlott Python SDK az OpenCensuson alapul. A Microsoft elkötelezett az Azure Monitor OpenTelemetria-alapúvá tétele mellett.

Hibaelhárítás

Nem működik? Tekintse meg a ASP.NET Core hibaelhárítási oldalát.

Támogatás

Válasszon egy lapot a választott nyelvhez a támogatási lehetőségek felderítéséhez.

OpenTelemetry-visszajelzés

Visszajelzés küldése: