Telemetrie weergeven met Azure Monitor en hulpprogramma's van derden
Uw app verzamelt telemetriegegevens en u hebt nu een uitgebreidere manier nodig om deze weer te geven. In deze les ziet u hoe u telemetriegegevens in veel verschillende hulpprogramma's kunt weergeven.
Telemetriegegevens bewaken en weergeven
Een veelvoorkomende manier om telemetriegegevens weer te geven, is door Prometheus en Grafana samen te gebruiken. Prometheus is een opensource-bewakingssysteem dat metrische gegevens verzamelt van uw cloudeigen app. Grafana is een opensource-visualisatieprogramma dat u gebruikt om dashboards te maken om de metrische gegevens weer te geven die door Prometheus zijn verzameld.
Prometheus
De eerste stap is het toevoegen van een Prometheus-container en het configureren voor het verzamelen van gegevens van elke microservice in uw app. Vervolgens voegt u de Prometheus .NET-clientbibliotheek toe om metrische gegevens uit de app te verzamelen.
OpenTelemetry biedt een exporteur voor Prometheus. U kunt deze exporteur toevoegen aan uw app door het OpenTelemetry.Exporter.Prometheus.AspNetCore
NuGet-pakket op te slaan. Met dit pakket worden metrische gegevens geƫxporteerd naar Prometheus in een indeling die het kan begrijpen. U vervangt de huidige consoleexporteur door de Prometheus-exporteur.
U voegt de eindpunten toe voor alle microservices in uw app. Voorbeeld:
global:
scrape_interval: 1s
scrape_configs:
- job_name: 'products'
static_configs:
- targets: ['backend:8080']
- job_name: 'store'
static_configs:
- targets: ['frontend:8080']
Grafana
Grafana is een opensource-visualisatieprogramma dat u kunt gebruiken om dashboards te maken om de metrische gegevens weer te geven die door Prometheus zijn verzameld. U kunt Grafana configureren om verbinding te maken met Prometheus en de metrische gegevens weer te geven in een dashboard. Net als voorheen voegt u een Grafana-container toe aan uw app en configureert u deze om verbinding te maken met Prometheus.
U voegt Prometheus als gegevensbron toe aan Grafana in een YAML-bestand:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
Gedistribueerde tracering inschakelen
OpenTelemetry biedt ondersteuning voor zowel Jaeger als Zipkin. In deze module gebruikt u Zipkin, een opensource gedistribueerd traceringssysteem. Het helpt tijdsgegevens te verzamelen die nodig zijn om latentieproblemen in microservicearchitecturen op te lossen. Het beheert zowel de verzameling als het opzoeken van deze gegevens.
In uw diagnostische project moet u ondersteuning voor Zipkin toevoegen via het OpenTelemetry.Exporter.Zipkin
NuGet-pakket. Vervolgens voegt u code toe aan de AddObservability
methode om gegevens te exporteren naar Zipkin.
Ga dieper in op Application Insights
Er is een hulpprogramma dat het bekijken van metrische gegevens kan combineren en gedistribueerde tracering kan bekijken en deze vervolgens kan samenvoegen met gegevens uit logboeken. Application Insights is een uitbreidbare APM-service (Application Performance Management). U kunt deze gebruiken om uw live webtoepassing te bewaken. Application Insights detecteert automatisch prestatieafwijkingen. Het bevat krachtige analysehulpprogramma's waarmee u problemen kunt diagnosticeren en inzicht krijgt in wat gebruikers daadwerkelijk met uw app doen.
Net als bij de voorgaande hulpprogramma's moet u een NuGet-pakket toevoegen aan uw oplossing Azure.Monitor.OpenTelemetry.AspNetCore
en vervolgens Azure Monitor introduceren als exporteur in uw diagnostische project.