Het .NET Aspire-dashboard gebruiken

Voltooid

Nadat u telemetriegegevens hebt vastgelegd, hebt u een manier nodig om deze te onderzoeken. Met .NET Aspire biedt het dashboard uitgebreide hulpprogramma's voor het onderzoeken van telemetrie en het diagnosticeren van problemen.

Stel dat u werkt voor een winkel voor buitenapparatuur. U gebruikt OpenTelemetry in uw cloudeigen .NET Aspire-app. Nu wilt u de gegevens onderzoeken die telemetrie verzendt om te bepalen of u deze kunt gebruiken om de prestaties te verbeteren.

In deze les ziet u hoe het .NET Aspire-dashboard telemetriegegevens weergeeft.

Telemetrie in het .NET Aspire-dashboard

Wanneer u een app start die is gebouwd met .NET Aspire op uw ontwikkelcomputer en de containers die elke integratie uitvoeren, start .NET het .NET Aspire-dashboard. Deze webinterface heeft vijf secties, waarvan vier telemetriegegevens weergeven:

  • Resources: Geeft een overzicht van de containers, projecten en uitvoerbare bestanden waaruit uw volledige cloudeigen app bestaat. Gebruik de koppelingen in de kolom Eindpunten om verbinding te maken met elke microservice.
  • Console: Geeft de tekst weer die wordt verzonden naar standaarduitvoer van de integratie die u opgeeft.
  • Gestructureerde logboeken: geeft informatie weer die wordt verzonden naar OpenTelemetry-logboekregistraties.
  • Traceringen: Geeft een tracering weer voor elke aanvraag die is ontvangen door een microservice in de app.
  • Metrische gegevens: geeft configureerbare tijddomeingrafieken weer die laten zien hoe de metrische gegevens die u kiest variëren.

Logboeken in het dashboard

Vastgelegde gebeurtenissen beschrijven wat er gebeurt wanneer uw app wordt gestart en uitgevoerd. U kunt twee typen vastgelegde informatie zien in het dashboard: consolelogboeken en gestructureerde logboeken.

Consolelogboeken

In consolelogboeken wordt tekst weergegeven die uw app naar standaarduitvoer heeft verzonden. Een opdrachtregelprogramma zou tekst zoals regels in de console weergeven, maar microservices en backing-services hebben geen intrinsieke plaats om standaarduitvoer weer te geven. .NET Aspire helpt door de consolelogboekpagina op te geven in het dashboard.

Wanneer u de pagina opent, moet u eerst een bronintegratie selecteren, zoals een van uw microservices. Het hulpprogramma geeft alle standaarduitvoer van die bron weer in het hoofdvenster met enige opmaak. De informatie-gebeurtenissen worden bijvoorbeeld groen weergegeven terwijl fouten rood worden weergegeven.

Consolelogboeken zijn gewoon regels tekst. Ze zijn eenvoudig voor toepassingen die kunnen worden gemaakt en verzonden, maar ze zijn moeilijk te lezen voor mensen en moeilijk te verwerken voor analysedoeleinden omdat ze geen structuur hebben.

Schermopname van de consolelogboeken in het .NET Aspire-dashboard.

Gestructureerde logboeken

In plaats van platte tekst behouden gestructureerde logboeken vastgelegde berichten met hun sjabloon en berichtparameters. Met deze structuur kunt u eenvoudiger gebeurtenissen filteren die niet relevant zijn, zodat u kunt inzoomen om een specifiek probleem op te lossen. In een productieomgeving kunnen de logboeken worden bewaard, geïndexeerd en vervolgens worden opgevraagd als een database. Op deze manier kunt u uitgebreide analyses uitvoeren op de gegevens die ze bevatten.

Notitie

Gestructureerde logboeken worden ook wel semantische logboeken genoemd.

Verzend in uw code een gebeurtenis naar de gestructureerde logboeken met behulp van een OpenTelemetry-object ILogger :

logger.Info("{shopitem} added to basket by {user}", "Ski goggles", "Kenny");

Op het .NET-dashboard worden op de pagina Gestructureerde logboeken gebeurtenissen van elke resource in uw app weergegeven. Als u wilt inzoomen, selecteert u de resource die u wilt oplossen en gebruikt u de vakken Filter en Niveau om alleen relevante gebeurtenissen weer te geven.

Schermopname van de gestructureerde logboeken in het .NET Aspire-dashboard.

Gedistribueerde traceringen in het dashboard

Een tracering is een record die beschrijft hoe een aanvraag is verwerkt en geretourneerd aan de beller. Elke tracering kan betrekking hebben op aanroepen naar meerdere integraties in uw app. Wanneer een gebruiker bijvoorbeeld de webpagina van de productcatalogus aanvraagt, ontvangt de microservice van de webgebruikersinterface mogelijk de aanvraag, die de verificatiemicroservice, de catalogusmicroservice en de Redis-cache aanroept, voordat een webpagina naar de gebruiker wordt geretourneerd.

Schermopname van de lijst met traceringen in het .NET Aspire-dashboard.

Elke tracering bestaat uit spanten, zoals de aanroep van de catalogusmicroservice. Het systeem registreert elk bereik met de timing en bovenliggende informatie, zodat u kunt zien welke integratie snel reageert en waardoor vertragingen ontstaan. Er zijn meer details beschikbaar voor elke periode.

Schermopname van een afzonderlijke tracering in het .NET Aspire-dashboard.

Net als bij gestructureerde logboeken kunt u de bron selecteren en filters toepassen om in te zoomen en traceringen te vinden voor het specifieke probleem dat u wilt diagnosticeren.

Metrische gegevens in het dashboard

Metrische gegevens zijn waarden die in de loop van de tijd variëren, vastgelegd door een integratie van uw app. Metrische gegevens kunnen bijvoorbeeld de duur van een aanvraag en antwoord of een telling van de actieve verbindingen met uw catalogusmicroservice vastleggen. Sommige metrische gegevens zijn ingebouwd in .NET, sommige worden geleverd met de OpenTelemetry SDK-bibliotheken en ontwikkelaars kunnen aangepaste OpenTelemetry-metrische gegevens toevoegen die uniek zijn voor hun integratie.

Het .NET Aspire-dashboard bevat de sectie Metrische gegevens , die u kunt gebruiken om te onderzoeken en weer te geven hoe metrische gegevens in de loop van de tijd variëren.

De metrische http.server.active_requests geeft bijvoorbeeld het aantal aanvragen weer dat op een bepaald moment wordt verwerkt:

Schermopname van een grafiek van de metrische gegevens voor actieve aanvragen in het .NET Aspire-dashboard.

De metrische gegevens http.server.request.duration geven aan hoe responsief de app op een bepaald moment is:

Schermopname van een grafiek van de metrische gegevens voor de aanvraagduur in het .NET Aspire-dashboard.

Onder elke grafiek kunt u filters opgeven om de grafiek te richten. In deze grafiek ziet u bijvoorbeeld de metrische gegevens voor de aanvraagduur voor aanvragen naar de startpaginaroute:

Schermopname van een grafiek van de meetwaarde voor de aanvraagduur in het .NET Aspire-dashboard met een filter toegepast.

Meer informatie