Visa telemetri med Azure Monitor och verktyg från tredje part
Din app samlar in telemetridata och du behöver nu ett mer omfattande sätt att visa dem. I den här lektionen får du se hur du visar telemetridata i många olika verktyg.
Övervaka och visa telemetridata
Ett vanligt sätt att visa telemetridata är att använda Prometheus och Grafana tillsammans. Prometheus är ett övervakningssystem med öppen källkod som samlar in mått från din molnbaserade app. Grafana är ett visualiseringsverktyg med öppen källkod som du använder för att skapa instrumentpaneler för att visa de mått som samlas in av Prometheus.
Prometheus
Det första steget är att lägga till en Prometheus-container och konfigurera den för att samla in data från varje mikrotjänst i din app. Sedan lägger du till Prometheus .NET-klientbiblioteket för att samla in mått från appen.
OpenTelemetry tillhandahåller en exportör för Prometheus. Du kan lägga till den här exportören i din app genom att inkludera OpenTelemetry.Exporter.Prometheus.AspNetCore
NuGet-paketet. Det här paketet exporterar mått till Prometheus i ett format som det kan förstå. Du ersätter den aktuella konsolexportören med Prometheus-exportören.
Du lägger till slutpunkterna för alla mikrotjänster i din app. Till exempel:
global:
scrape_interval: 1s
scrape_configs:
- job_name: 'products'
static_configs:
- targets: ['backend:8080']
- job_name: 'store'
static_configs:
- targets: ['frontend:8080']
Grafana
Grafana är ett visualiseringsverktyg med öppen källkod som du kan använda för att skapa instrumentpaneler för att visa de mått som samlas in av Prometheus. Du kan konfigurera Grafana för att ansluta till Prometheus och visa måtten på en instrumentpanel. Precis som tidigare lägger du till en Grafana-container i din app och konfigurerar den för att ansluta till Prometheus.
Du lägger till Prometheus som en datakälla i Grafana i en YAML-fil:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
Aktivera distribuerad spårning
OpenTelemetry har stöd för både Jaeger och Zipkin. I den här modulen använder du Zipkin, som är ett distribuerat spårningssystem med öppen källkod. Den hjälper till att samla in tidsdata som behövs för att felsöka problem med svarstider i mikrotjänstarkitekturer. Den hanterar både insamling och sökning av dessa data.
I diagnostikprojektet måste du lägga till stöd för Zipkin via OpenTelemetry.Exporter.Zipkin
NuGet-paketet. Sedan lägger du till kod i AddObservability
metoden för att exportera data till Zipkin.
Gå djupare med Application Insights
Det finns ett verktyg som kan kombinera att titta på mått och visa distribuerad spårning och sedan sammanfoga den med data från loggar. Application Insights är en utökningsbar APM-tjänst (Application Performance Management). Du kan använda den för att övervaka ditt livewebbprogram. Application Insights identifierar automatiskt prestandaavvikelser. Den innehåller kraftfulla analysverktyg som hjälper dig att diagnostisera problem och förstå vad användarna faktiskt gör med din app.
Precis som föregående verktyg måste du lägga till ett NuGet-paket i din lösning Azure.Monitor.OpenTelemetry.AspNetCore
och sedan introducera Azure Monitor som exportör i diagnostikprojektet.