Zobrazení telemetrie pomocí služby Azure Monitor a nástrojů třetích stran
Vaše aplikace shromažďuje telemetrická data a teď potřebujete komplexnější způsob, jak je zobrazit. V této lekci se dozvíte, jak zobrazit telemetrická data v mnoha různých nástrojích.
Monitorování a zobrazení telemetrických dat
Běžným způsobem, jak zobrazit telemetrická data, je společně používat Prometheus a Grafana. Prometheus je opensourcový monitorovací systém, který shromažďuje metriky z vaší aplikace nativní pro cloud. Grafana je opensourcový vizualizační nástroj, který slouží k vytváření řídicích panelů k zobrazení metrik shromážděných nástrojem Prometheus.
Prometheus
Prvním krokem je přidání kontejneru Prometheus a jeho konfigurace pro shromažďování dat z jednotlivých mikroslužeb ve vaší aplikaci. Pak přidáte klientskou knihovnu Prometheus .NET, která bude shromažďovat metriky z aplikace.
OpenTelemetry poskytuje vývozce pro Prometheus. Tento exportér můžete do aplikace přidat zahrnutím OpenTelemetry.Exporter.Prometheus.AspNetCore
balíčku NuGet. Tento balíček exportuje metriky do prometheus ve formátu, kterému dokáže porozumět. Aktuálního vývozce konzoly nahradíte vývozcem prometheus.
Přidáte koncové body pro všechny mikroslužby ve vaší aplikaci. Příklad:
global:
scrape_interval: 1s
scrape_configs:
- job_name: 'products'
static_configs:
- targets: ['backend:8080']
- job_name: 'store'
static_configs:
- targets: ['frontend:8080']
Grafana
Grafana je opensourcový vizualizační nástroj, pomocí kterého můžete vytvářet řídicí panely k zobrazení metrik shromážděných nástrojem Prometheus. Grafana můžete nakonfigurovat tak, aby se připojil k Systému Prometheus a zobrazil metriky na řídicím panelu. Stejně jako předtím přidáte do aplikace kontejner Grafana a nakonfigurujete ho pro připojení k Prometheus.
Do Souboru YAML přidáte jako zdroj dat Prometheus:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
Povolení distribuovaného trasování
OpenTelemetry podporuje Jaeger i Zipkin. V tomto modulu použijete Zipkin, což je opensourcový distribuovaný trasovací systém. Pomáhá shromažďovat data časování potřebná k řešení problémů s latencí v architekturách mikroslužeb. Spravuje jak kolekci, tak vyhledávání těchto dat.
V projektu diagnostiky je potřeba přidat podporu zipkinu OpenTelemetry.Exporter.Zipkin
prostřednictvím balíčku NuGet. Pak do AddObservability
metody přidáte kód pro export dat do zipkinu.
Podrobnější informace o Přehledy aplikací
Existuje nástroj, který může zkombinovat zobrazení metrik a zobrazení distribuovaného trasování a pak ho sloučit s daty z protokolů. Application Insights je rozšiřitelná služba APM (Application Performance Management) pro správu výkonu aplikací. Můžete ho použít k monitorování živé webové aplikace. Aplikační Přehledy automaticky detekuje anomálie výkonu. Obsahuje výkonné analytické nástroje, které vám pomůžou diagnostikovat problémy a pochopit, co uživatelé ve skutečnosti s vaší aplikací dělají.
Stejně jako v předchozích nástrojích musíte do svého řešení Azure.Monitor.OpenTelemetry.AspNetCore
přidat balíček NuGet a pak do projektu diagnostiky zavést Azure Monitor jako vývozce.