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
- Azure-előfizetés: Azure-előfizetés létrehozása ingyenesen
- Alkalmazás Elemzések erőforrás: Alkalmazás Elemzések erőforrás létrehozása
- ASP.NET Core-alkalmazás a .NET hivatalosan támogatott verziójával
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:
- Nyissa meg az alkalmazás Elemzések erőforrás Áttekintés panelét.
- Keresse meg a Csatlakozás ion sztringet.
- 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.2.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:
- Kód
- Környezeti változó
- 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.
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.
Példák
Az Azure Monitor OpenTelemetry mintaalkalmazásai minden támogatott nyelvhez elérhetők.
Következő lépések
- Az Azure Monitor OpenTelemetria hozzáadásáról és módosításáról további információt az Azure Monitor OpenTelemetria hozzáadása és módosítása című témakörben talál.
- Az OpenTelemetria-disztribúció további konfigurálásához tekintse meg az Azure Monitor OpenTelemetry konfigurációját.
- A forráskód áttekintéséhez tekintse meg az Azure Monitor AspNetCore GitHub-adattárat.
- A NuGet-csomag telepítéséhez, frissítések kereséséhez vagy kibocsátási megjegyzések megtekintéséhez tekintse meg az Azure Monitor AspNetCore NuGet-csomag oldalát.
- Az Azure Monitor és az OpenTelemetria megismeréséhez tekintse meg az Azure Monitor példaalkalmazást.
- Az OpenTelemetryről és annak közösségéről az OpenTelemetry .NET GitHub-adattárban olvashat bővebben.
- A használati élmény engedélyezéséhez engedélyezze a web- vagy böngészőfelhasználói figyelést.
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:
- Csökkenti az engedélyezési erőfeszítéseket
- A Microsoft támogatja
- Az Azure-specifikus funkciók, például a következők:
- Klasszikus alkalmazás Elemzések SDK-kkal kompatibilis mintavételezés
- Microsoft Entra hitelesítés
- Offline tárolás és automatikus újrapróbálkozás
- Statsbeat
- Alkalmazás Elemzések standard metrikák
- Erőforrás-metaadatok észlelése a felhőszerepkör nevének és a felhőbeli szerepkörpéldánynak a különböző Azure-környezeteken való automatikus feltöltéséhez
- Élő metrikák
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.
- Azure-támogatás problémák esetén nyisson meg egy Azure-támogatás jegyet.
- OpenTelemetria-problémák esetén forduljon közvetlenül az OpenTelemetry .NET-közösséghez .
- Az Azure Monitor-exportőrrel kapcsolatos nyitott problémák listáját a GitHub-problémák oldalán találja.
OpenTelemetry-visszajelzés
Visszajelzés küldése:
- Töltse ki az OpenTelemetry-közösség ügyfél-visszajelzési felmérését.
- Az OpenTelemetry Early Adopter Közösséghez való csatlakozással saját maga is elmondhatja magáról a Microsoftnak.
- Vegye fel a kapcsolatot más Azure Monitor-felhasználókkal a Microsoft Tech Communityben.
- Küldjön egy funkciókérést az Azure Visszajelzési fórumán.