Zobrazení telemetrie pomocí služby Azure Monitor a nástrojů třetích stran

Dokončeno

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.

Screenshot that shows the configured Prometheus app showing the health of the eShopLite app.

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.

Screenshot that shows an ASP.NET dashboard in Grafana.

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.

Screenshot that shows Zipkin showing the dependencies of the eShopLite app Store sending requests to the Products service.

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í.

Screenshot that shows Application Insights showing the health of the eShopLite app.

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.