Telemetrie mit Azure Monitor und Drittanbieter-Tools anzeigen
Ihre App sammelt Telemetriedaten, und Sie benötigen jetzt eine umfassendere Möglichkeit, sie anzuzeigen. In dieser Lektion erfahren Sie, wie Telemetriedaten in vielen verschiedenen Tools angezeigt werden.
Überwachen und Anzeigen von Telemetriedaten
Eine gängige Möglichkeit zum Anzeigen von Telemetriedaten ist die gemeinsame Verwendung von Prometheus und Grafana. Prometheus ist ein Open-Source-Überwachungssystem, das Metriken aus Ihrer cloudeigenen App sammelt. Grafana ist ein Open-Source-Visualisierungstool, mit dem Sie Dashboards erstellen, um die von Prometheus gesammelten Metriken anzuzeigen.
Prometheus
Der erste Schritt besteht darin, einen Prometheus-Container hinzuzufügen und zu konfigurieren, um Daten aus jedem Microservice in Ihrer App zu sammeln. Anschließend fügen Sie die Prometheus .NET-Clientbibliothek hinzu, um Metriken aus der App zu sammeln.
OpenTelemetry stellt einen Exporter für Prometheus bereit. Sie können diesen Exporter zu Ihrer App hinzufügen, indem Sie das OpenTelemetry.Exporter.Prometheus.AspNetCore NuGet-Paket einschließen. Dieses Paket exportiert Metriken in Prometheus in einem Format, das sie verstehen kann. Sie ersetzen den aktuellen Konsolenexporteur durch den Prometheus-Exporter.
Sie fügen die Endpunkte für alle Microservices in Ihrer App hinzu. Beispiel:
global:
scrape_interval: 1s
scrape_configs:
- job_name: 'products'
static_configs:
- targets: ['backend:8080']
- job_name: 'store'
static_configs:
- targets: ['frontend:8080']
Grafana
Grafana ist ein Open-Source-Visualisierungstool, mit dem Sie Dashboards erstellen können, um die von Prometheus gesammelten Metriken anzuzeigen. Sie können Grafana so konfigurieren, dass eine Verbindung mit Prometheus hergestellt wird, und die Metriken in einem Dashboard anzeigen. Wie zuvor fügen Sie Ihrer App einen Grafana-Container hinzu und konfigurieren ihn für die Verbindung mit Prometheus.
Sie fügen Prometheus als Datenquelle zu Grafana in einer YAML-Datei hinzu:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
Aktivieren der verteilten Ablaufverfolgung
OpenTelemetry unterstützt sowohl Jaeger als auch Zipkin. In diesem Modul verwenden Sie Zipkin, bei dem es sich um ein Open-Source-verteiltes Tracing-System handelt. Sie hilft beim Sammeln von Zeitdaten, die für die Behandlung von Latenzproblemen in Microservice-Architekturen erforderlich sind. Sie verwaltet sowohl die Sammlung als auch die Suche dieser Daten.
In Ihrem Diagnoseprojekt müssen Sie Unterstützung für Zipkin über das OpenTelemetry.Exporter.Zipkin NuGet-Paket hinzufügen. Anschließend fügen Sie der AddObservability Methode Code hinzu, um Daten nach Zipkin zu exportieren.
Tiefer gehen mit Application Insights
Es gibt ein Tool, das das Betrachten von Metriken und das Anzeigen von verteilten Ablaufverfolgungen kombinieren und anschließend mit Daten aus Protokollen zusammenführen kann. Application Insights ist ein erweiterbarer APM-Dienst (Application Performance Management). Sie können sie verwenden, um Ihre Live-Webanwendung zu überwachen. Application Insights erkennt automatisch Leistungsanomalien. Es enthält leistungsstarke Analysetools, die Ihnen helfen, Probleme zu diagnostizieren und zu verstehen, was Benutzer tatsächlich mit Ihrer App machen.
Wie bei den vorherigen Tools müssen Sie Ihrer Lösung Azure.Monitor.OpenTelemetry.AspNetCoreein NuGet-Paket hinzufügen und dann Azure Monitor als Exporter in Ihr Diagnoseprojekt einführen.


