See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 24815|Vastuse: 1

[ASP.NET] ASP.NET Core Link Tracing (3) SkyAPM põhineb Consul dünaamilisel konfiguratsioonil

[Kopeeri link]
Postitatud 2020-11-11 16:13:50 | | | |
Läbivaatamine:

ASP.NET Core Link Tracing (1) Paigalda Skywalking õpetus
https://www.itsvse.com/thread-9456-1-1.html

ASP.NET Tuumalingi jälgimine (2) kasutab SkyAPM integratsiooni
https://www.itsvse.com/thread-9458-1-1.html



projekt, saad seda kasutadaKonsulvõiApolloKonfiguratsioonikeskuse tegemiseks on juhend Consulist kui ASP.NET Core konfiguratsioonikeskusest:

Arhitektuur: ASP.NET Core konfigureerib dünaamiliselt kuumi uuendusi vastavalt Consulile
https://www.itsvse.com/thread-9421-1-1.html
Nõuded: Salvestame APM-i konfiguratsiooniinfo Consul'i vahendustarkvarasse, nii et me ei pea serverisse sisse logima, et käsitsi muuta appsettings.json faili konfiguratsiooniinfot.

Alusta konsulina

Alusta konsuli vahendustarkvara, kasutades esmalt järgmist käsku:




Paigalda Consuliga seotud pluginad ASP.NET Core

Meie sky-apm-demo projektis kasuta nugetit, et paigaldada Consul middleware pluginana konfiguratsioonikeskuse lugemiseks järgmise käsuga:

Muuda CreateHostBuilder meetodit programmi objektis, et lisada kaugkonsuli konfiguratsiooniinfo lugemine, kood on järgmine:

Samal ajal tuleb appsettings.json failis konfigureerida consul_url aadress järgmiselt:



Lisa meie konfiguratsiooniteave konsulile, et avada veebihaldusplatvorm:Hüperlingi sisselogimine on nähtav.Sky-apm-demo/appsettings loomiseks. Development.json on väärtus järgmine:



Loo uus test3 kontrolleri meetod, et lugeda meie konsuli teenuse konfiguratsiooni infot lihtsaks testimiseks, järgmiselt:

LigipääsHüperlingi sisselogimine on nähtav.Saad tavapärase seadistuse järgmiselt:



Vaadates skyapm-20201111.log logisid, leiad, et aadress, kuhu SkyApm Skywalkingule ligi pääseb, ei ole see, mida me seadistasime, vaidVaikimisi: localhost:11800, nagu alloleval joonisel näidatud:



2020-11-11 15:32:35.869 +08:00 [My_Service] [Info] SkyApm.Transport.Grpc.ConnectionManager : Ühenduse sulgemine[localhost:11800].
2020-11-11 15:32:45.875 +08:00 [My_Service] [viga] SkyApm.Transport.Grpc.ConnectionManager : Ühenda serveri timeout.
System.Threading.Tasks.TaskCanceledException: Reached deadline.
   aadressil Grpc.Core.Channel.WaitForStateChangedAsync(ChannelState lastObservedState, Nullable'1 tähtaeg)
   aadressil Grpc.Core.Channel.ConnectAsync(nullable'1 tähtaeg)
   aadressil SkyApm.Transport.Grpc.ConnectionManager.ConnectAsync()
Kontrollime SkyAPM.Agent.AspNetCore lähtekoodi GitHubis ja leiame, et kui meie programm määrab esmalt vaikimisi seaded ja loeb seejärel konfiguratsioonifaili, appsettings.json skywalking.json skyapm.json varasemad vaikimisi väärtused üle kirjutada, nagu alloleval joonisel näidatud:



Konfiguratsiooni osas on laadimisprotsess järgmine:



Millal siis SkyAPM lõi suhtluse Skywalkinguga?



SkyAPM lähtekoodil on InstrumentationHostedService taustaülesanne, kui registreeritakse IHostedService,.NET Core kutsub rakenduse käivitamisel ja peatamisel vastavalt IHostedService tüüpi StartAsync() ja StopAsync() meetodeid

Võite viidata:

Teenus, mis põhineb .NET Core'il Linuxis
https://www.itsvse.com/thread-9447-1-1.html
Probleem on nüüd selles, et konsuli seatud konfiguratsiooniinfo kirjutatakse üle vaikimisi väärtusega SkyAPM, ja selle probleemi lahendamiseks peame lähtekoodi muutma, laadime SkyAPM lähtekoodi alla GitHubi.

Muuda ConfigurationFactory faili järgmiselt:

Muuda ConfigurationBuilderExtensions faili järgmiselt:

Muudetud lähtekoodi kohta võid vaadata minu haru:Hüperlingi sisselogimine on nähtav.

Lisaks loogiline hinnang, kui SkyAPM konfiguratsioon juba eksisteerib, ei kasuta vaikimisi väärtust,Regeneratsioonsky-apm-demo ja SkyApm.Agent.AspNetCore projektid, kopeeri kõik failid muudetud teegi \src\SkyApm.Agent.AspNetCore\bin\Debug\netcoreapp3.1 kausta meie projekti \bin\Debug\netcoreapp3.1 ja asenda need.Värskenda oma brauserit

APM-logisid vaadates näete, et konfiguratsiooniteave konfiguratsioonis on edukalt loetud ja suhtlus Skywalkinguga on edukalt loodud, nagu näidatud alloleval joonisel:




(Lõpp)




Eelmine:. .NET MySQL Connector konfliktid DbProviderFactories (.NET MySQL Connector Conflicts DbP...
Järgmine:.NET Core kuvab registreeritud teenuseid ja rakendusi ning nende elutsükleid
Postitatud 2023-6-2 14:24:31 |
Hea kleebis
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com