Mi az az elosztott nyomkövetés?

A modern felhő- és mikroszolgáltatási architektúrák megjelenése egyszerű, egymástól függetlenül üzembe helyezhető szolgáltatásokat eredményezett, amelyek segítenek csökkenteni a költségeket, miközben növelik a rendelkezésre állást és az átviteli sebességet. Ezek a mozgások megkönnyítik az egyes szolgáltatások megértését. De az általános rendszereket is megnehezítik az érvelés és a hibakeresés.

A monolitikus architektúrákban már hozzászoktunk a hívásveremekkel végzett hibakereséshez. A hívásveremek kiváló eszközök a végrehajtási folyamat (A metódus, a "B" metódus, a C metódus) megjelenítéséhez, valamint az egyes hívások részleteivel és paramétereivel. Ez a technika kiválóan használható egyetlen folyamaton futó monolitokhoz vagy szolgáltatásokhoz. De hogyan végezhetünk hibakeresést, ha a hívás egy folyamathatáron halad át, nem egyszerűen a helyi verem referenciáján?

Itt jön be az elosztott nyomkövetés.

Az elosztott nyomkövetés egyenértékű a modern felhő- és mikroszolgáltatás-architektúrák hívásveremeivel, és egy egyszerű teljesítményprofil-elemzőt is bevet. Az Azure Monitorban két felületet biztosítunk az elosztott nyomkövetési adatok felhasználásához. Az első a tranzakciódiagnosztikai nézetünk, amely olyan, mint egy hívásverem, amelyhez idődimenzió van hozzáadva. A tranzakciódiagnosztikai nézet egyetlen tranzakciót/kérést jelenít meg. Hasznos lehet a megbízhatósági problémák és a teljesítmény szűk keresztmetszeteinek kiváltó okának megkeresése kérésenként.

Az Azure Monitor egy alkalmazástérkép nézetet is kínál, amely számos tranzakciót összesít, hogy topológiai nézetet jelenítsen meg a rendszerek interakcióiról. A térképnézet azt is megjeleníti, hogy mi az átlagos teljesítmény- és hibaarány.

Elosztott nyomkövetés engedélyezése

Az elosztott nyomkövetés engedélyezése az alkalmazások szolgáltatásai között ugyanolyan egyszerű, mint a megfelelő ügynök, SDK vagy kódtár hozzáadása az egyes szolgáltatásokhoz a szolgáltatás implementálásának nyelve alapján.

Engedélyezés az Application Insightson keresztül automatikus rendszerállapot vagy SDK-k használatával

A .NET, a .NET Core, a Java, a Node.js és a JavaScript alkalmazáshoz készült Application Insights-ügynökök és SDK-k mind támogatják az elosztott nyomkövetést natív módon. Az Egyes Application Insights SDK-k telepítésére és konfigurálására vonatkozó utasítások a következőkhöz érhetők el:

A megfelelő Application Insights SDK telepítése és konfigurálása után az SDK függőségi automatikus gyűjtői automatikusan gyűjtik a nyomkövetési információkat a népszerű keretrendszerekhez, kódtárakhoz és technológiákhoz. A támogatott technológiák teljes listája a függőségek automatikus gyűjtésének dokumentációjában érhető el.

Bármely technológia manuálisan is nyomon követhető a TelemetryClientTrackDependency hívásával.

Engedélyezés OpenTelemetry használatával

Az Application Insights mostantól támogatja az OpenTelemetryn keresztüli elosztott nyomkövetést. Az OpenTelemetry szállítósemleges kialakítást biztosít a nyomkövetések, metrikák és naplók Application Insightsba való küldéséhez. Kezdetben az OpenTelemetry-közösség vette át az elosztott nyomkövetést. A metrikák és a naplók még folyamatban vannak.

A teljes megfigyelhetőségi történet mindhárom pillért tartalmazza, de jelenleg az Azure Monitor OpenTelemetry-alapú exportőr előzetes ajánlatai a .NET-hez, a Pythonhoz és a JavaScripthez csak az elosztott nyomkövetést tartalmazzák. Java OpenTelemetry-alapú Azure Monitor-ajánlatunk általánosan elérhető és teljes mértékben támogatott.

Az alábbi oldalak nyelvi útmutatást nyújtanak a Microsoft OpenTelemetry-alapú ajánlatainak engedélyezéséhez és konfigurálásához. Fontos, hogy megosztjuk az egyes ajánlatok elérhető funkcióit és korlátozásait, így megállapíthatja, hogy az OpenTelemetry megfelelő-e a projekthez.

Engedélyezés az OpenCensuson keresztül

Az Application Insights SDK-k mellett az Application Insights az OpenCensuson keresztüli elosztott nyomkövetést is támogatja. Az OpenCensus egy nyílt forráskódú, szállítói agnosztikus kódtár-disztribúció, amely metrikák gyűjtését és elosztott nyomkövetést biztosít a szolgáltatások számára. Emellett lehetővé teszi a nyílt forráskódú közösség számára az elosztott nyomkövetést olyan népszerű technológiákkal, mint a Redis, a Memcached vagy a MongoDB. A Microsoft számos más monitorozási és felhőpartnerrel együttműködik az OpenCensuson.

További információ a Pythonhoz készült OpenCensusról: Az Azure Monitor beállítása a Python-alkalmazáshoz.

Az OpenCensus webhelye api-referenciadokumentációkat tart fenn a Python, a Go és az OpenCensus használatához.

Következő lépések