Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 24815|Válasz: 1

[ASP.NET] ASP.NET Core Link Tracing (3) A SkyAPM a Consul dinamikus konfiguráción alapul

[Linket másol]
Közzétéve: 2020-11-11 16:13:50 | | | |
Szemle:

ASP.NET Core Link Tracing (1) Telepítsd a Skywalking oktatóvideót
https://www.itsvse.com/thread-9456-1-1.html

ASP.NET Core link tracing (2) SkyAPM integrációt használ
https://www.itsvse.com/thread-9458-1-1.html



Projekt, használhatodKonzulvagyApolloA konfigurációs központ elkészítéséhez egy oktatóvideó a Consulról, mint ASP.NET Core konfigurációs központról:

Architektúra: ASP.NET Core dinamikusan konfigurálja a forró frissítéseket a Consul alapján
https://www.itsvse.com/thread-9421-1-1.html
Követelmények: Az APM konfigurációs adatait a Consul middleware-ben tároljuk, így nem kell bejelentkeznünk a szerverbe, hogy manuálisan módosítsuk a konfigurációs információkat a appsettings.json fájlban.

Kezdje a Konzul

Indítsd el a konzul middleware-t először a következő parancs használatával:




Consulhoz kapcsolódó pluginek telepítése ASP.NET Core

Sky-apm-demo projektünkben a nuget-et telepítsd a Consul middleware-t bővítményként a konfigurációs központ olvasásához a következő parancsval:

Módosítsuk a CreateHostBuilder metódust a Program objektumban, hogy hozzáadjuk a távoli Konzul konfigurációs információk olvasását, a kód a következő:

Eközben a appsettings.json fájlban a consul_url címet a következőképpen kell konfigurálni:



Add hozzá konfigurációs adatainkat a konzulhoz, hogy megnyithasd a webkezelő platformot:A hiperlink bejelentkezés látható.Sky-apm-demo/appsettings létrehozására. Development.json kulcs esetén az érték a következő:



Hozz létre egy új test3 vezérlő módszert, hogy elolvassa konzuli szolgáltatási konfigurációnk adatait a tesztelés megkönnyítéséhez, az alábbiak szerint:

HozzáférésA hiperlink bejelentkezés látható.A normálisan beállított konfigurációt a következőképpen kaphatjuk:



A skyapm-20201111.log naplókat nézve azt láthatod, hogy az a cím, ahol a SkyApm eléri a Skywalkingot, nem az, amit beállítottunk, deAlapértelmezett: localhost:11800, ahogy az alábbi ábrán látható:



2020-11-11 15:32:35.869 +08:00 [My_Service] [Információ] SkyApm.Transport.Grpc.ConnectionManager : Leállított kapcsolat[localhost:11800].
2020-11-11 15:32:45.875 +08:00 [My_Service] [hiba] SkyApm.Transport.Grpc.ConnectionManager : Szerver időlevonása
System.Threading.Tasks.TaskCanceledException: Reached deadline.
   at Grpc.Core.Channel.WaitForStateChangedAsync(ChannelState lastObservedState, Nullable'1 deadline)
   a Grpc.Core.Channel.ConnectAsync (Nullable'1 határidő) címen.
   a SkyApm.Transport.Grpc.ConnectionManager.ConnectAsync() címen
Megnézzük a SkyAPM.Agent.AspNetCore forráskódot a GitHubon, és kiderül, hogy ha a programunk először az alapértelmezett beállításokat rendeli hozzá, majd a konfigurációs fájlt olvassa appsettings.json skywalking.json skyapm.json, hogy felülírja a korábbi alapértelmezett értékeket, ahogy az alábbi ábrán látható:



A konfigurációval kapcsolatban a betöltési folyamat a következő:



Mikor kapcsolt kapcsolatot a SkyAPM a Skywalkinggal?



A SkyAPM forráskódnak van egy InstrumentationHostedService háttérfeladata, amikor regisztrálják az IHostedService-t,A .NET Core az alkalmazás indítása és megállítása során a IHostedService típusú StartAsync() és StopAsync() metódusokat hívja

Megnézheti:

Egy szolgáltatás, amely a .NET Core alapú Linux rendszeren
https://www.itsvse.com/thread-9447-1-1.html
A probléma most az, hogy a konzulunk által állított konfigurációs információkat felülírja az alapértelmezett SkyAPM érték, és ennek megoldásához módosítanunk kell a forráskódot, letöltjük a SkyAPM forráskódot a GitHubra.

Módosítsa a ConfigurationFactory fájlt az alábbiakban:

Módosítsa a ConfigurationBuilderExtensions fájlt az alábbiakban:

A módosított forráskódhoz hivatkozhatsz az én ágamra:A hiperlink bejelentkezés látható.

A logikai ítélet, ha a SkyAPM konfiguráció már létezik, nem használja az alapértelmezett értéket,Regenerálássky-apm-demo és SkyApm.Agent.AspNetCore projektek segítségével másolják le az összes fájlt a módosított könyvtár \src\SkyApm.Agent.AspNetCore\bin\Debug\netcoreapp3.1 mappába a \bin\Debug\netcoreapp3.1 projektünkbe, és cseréljétek ki őket.Frissítsd a böngésződet

Az apm naplók megtekintésével látható, hogy a consul konfigurációs adatai sikeresen elolvashatók, és a Skywalk-nal való kommunikáció sikeresen sikeresen sikerült, ahogy az alábbi ábrán látható:




(Vége)




Előző:. .NET MySQL Connector Conflicts DbProviderFactories (.NET MySQL Connector Conflicts DbP...
Következő:A .NET Core megjeleníti a regisztrált szolgáltatásokat és megvalósításokat, valamint azok életciklusát
Közzétéve: 2023-6-2 14:24:31 |
Jó matrica
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com