Megosztás a következőn keresztül:


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 Application Insights szolgáltatásainak használatához. 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 "Azure Monitor OpenTelemetry Distro" című cikkben talál további információt.

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.
  • A cikk második lapja az összes .NET-forgatókönyvet ismerteti, beleértve a klasszikus ASP.NET, a konzolalkalmazásokat, a Windows Formst (WinForms) stb.

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 Application Insights engedélyezése

Az Azure Monitor Application Insights engedélyezéséhez kisebb módosítást kell végeznie az alkalmazáson, és be kell állítania a "Kapcsolati sztringet". A kapcsolati sztring megadja az alkalmazásnak, hogy hová küldje el a Distro á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();

A kapcsolati sztring másolása az Application Insights-erőforrásból

Tipp.

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

Az egyedi kapcsolati sztring másolása:

Képernyőkép az Application Insights áttekintéséről és kapcsolati sztring.

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

A kapcsolati sztring beillesztése a környezetbe

A kapcsolati 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.3.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 kapcsolati sztring kódon keresztüli beállítására példa a Kapcsolati sztring konfigurációja 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 Application Insights 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 Application Insights Áttekintés lapról, amelyen a kiszolgálókérések és a kiszolgáló válaszideje ki van emelve.

Az Application Insights 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 Application Insights-erőforráshoz, akkor a felhőbeli szerepkörneveket be kell állítania, hogy megfelelően ábrázolják őket az alkalmazástérképen.

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

Példá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 Software Development Kits (SDK-k) nagyobb teljesítményűek, mint elődjeik, az Application Insights 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 Insightshoz. 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 OpenTelemetryt vagy az Application Insights SDK-t?

Az OpenTelemetria-disztribúció használatát javasoljuk, kivéve, ha olyan szolgáltatásra van szüksége , amely csak formális támogatással érhető el az Application Insights 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, a Windows Formst (WinForms) stb., javasoljuk, hogy használja a .NET Azure Monitor OpenTelemetry exportőrt: 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
Élő metrikák szűrése
Erőforrás-környezet észlelése virtuális géphez/VMSS-hez és App Service-hez
Az Azure Kubernetes Service (AKS) és a Functions erőforrás-környezetének észlelése
A Rendelkezésre állás nyomon követése API használatával létrehozott rendelkezésre állási tesztelési események
Kérelmek, függőségek, naplók és kivételek szűrése névtelen felhasználói azonosító és szintetikus forrás alapján
Függőségek, naplók és kivételek szűrése műveletnév alapján
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 az Application Insights JavaScript SDK használatát javasoljuk.

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 az Application Insights JavaScript SDK életképes alternatívája.

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 Application Insightsnak. Az SDK nem definiál általános ügyféleseményeket.

Támogatott az Application Insights futtatása olyan versenytársakkal, mint az AppDynamics, a DataDog és a NewRelic?

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 Application Insightsnak. 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: