Få vist telemetri med Azure Monitor og tredjepartsværktøjer
Din app indsamler telemetridata, og du har nu brug for en mere omfattende måde at se dem på. I dette undermodul kan du se, hvordan du får vist telemetridata i mange forskellige værktøjer.
Overvåg og få vist telemetridata
En almindelig måde at få vist telemetridata på er ved at bruge Prometheus og Grafana sammen. Prometheus er et overvågningssystem med åben kildekode, der indsamler målepunkter fra din oprindelige app i cloudmiljøet. Grafana er et værktøj til visualisering med åben kildekode, som du bruger til at oprette dashboards for at få vist de målepunkter, der er indsamlet af Prometheus.
Prometheus
Det første trin er at tilføje en Prometheus-objektbeholder og konfigurere den til at indsamle data fra hver mikrotjeneste i din app. Du tilføjer derefter Prometheus .NET-klientbiblioteket for at indsamle målepunkter fra appen.
OpenTelemetry leverer en eksportør til Prometheus. Du kan føje denne eksportør til din app ved at inkludere OpenTelemetry.Exporter.Prometheus.AspNetCore NuGet-pakken. Denne pakke eksporterer målepunkter til Prometheus i et format, som den kan forstå. Du erstatter den aktuelle konsoleksportør med Prometheus-eksportøren.
Du tilføjer slutpunkterne for alle mikrotjenesterne i din app. For eksempel:
global:
scrape_interval: 1s
scrape_configs:
- job_name: 'products'
static_configs:
- targets: ['backend:8080']
- job_name: 'store'
static_configs:
- targets: ['frontend:8080']
Grafana
Grafana er et værktøj til visualisering med åben kildekode, som du kan bruge til at oprette dashboards for at få vist de målepunkter, der er indsamlet af Prometheus. Du kan konfigurere Grafana til at oprette forbindelse til Prometheus og få vist målepunkterne i et dashboard. På samme måde som før føjer du en Grafana-objektbeholder til din app og konfigurerer den til at oprette forbindelse til Prometheus.
Du føjer Prometheus som en datakilde til Grafana i en YAML-fil:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
Aktivér distribueret sporing
OpenTelemetry understøtter både Jaeger og Zipkin. I dette modul bruger du Zipkin, som er et distribueret sporingssystem med åben kildekode. Det hjælper med at indsamle tidsdata, der er nødvendige for fejlfinding af ventetidsproblemer i mikrotjenestearkitekturer. Den administrerer både indsamlingen og opslaget af disse data.
I dit diagnosticeringsprojekt skal du tilføje understøttelse af Zipkin via OpenTelemetry.Exporter.Zipkin NuGet-pakken. Du føjer derefter kode til metoden AddObservability for at eksportere data til Zipkin.
Gå mere i dybden med Application Insights
Der er et værktøj, der kan kombinere at se på målepunkter og få vist distribueret sporing og derefter flette det med data fra logfiler. Application Insights er en APM-tjeneste (Application Performance Management), der kan udvides. Du kan bruge den til at overvåge dit live-webprogram. Application Insights registrerer automatisk uregelmæssigheder i ydeevnen. Den indeholder effektive analyseværktøjer, der kan hjælpe dig med at diagnosticere problemer og forstå, hvad brugerne rent faktisk gør med din app.
På samme måde som med de foregående værktøjer skal du føje en NuGet-pakke til din løsning Azure.Monitor.OpenTelemetry.AspNetCoreog derefter introducere Azure Monitor som eksportør til dit diagnosticeringsprojekt.