Wyświetlanie danych telemetrycznych za pomocą usługi Azure Monitor i narzędzi innych firm
Aplikacja zbiera dane telemetryczne i teraz potrzebujesz bardziej kompleksowego sposobu ich wyświetlania. W tej lekcji dowiesz się, jak wyświetlać dane telemetryczne w wielu różnych narzędziach.
Monitorowanie i wyświetlanie danych telemetrycznych
Typowym sposobem wyświetlania danych telemetrycznych jest użycie rozwiązania Prometheus i Grafana razem. Prometheus to system monitorowania typu open source, który zbiera metryki z aplikacji natywnej dla chmury. Grafana to narzędzie do wizualizacji typu open source, które służy do tworzenia pulpitów nawigacyjnych w celu wyświetlania metryk zebranych przez rozwiązanie Prometheus.
Prometeusz
Pierwszym krokiem jest dodanie kontenera Prometheus i skonfigurowanie go do zbierania danych z każdej mikrousługi w aplikacji. Następnie należy dodać bibliotekę klienta platformy .NET Prometheus, aby zbierać metryki z aplikacji.
OpenTelemetry zapewnia eksportera dla Rozwiązania Prometheus. Ten eksporter można dodać do aplikacji, dodając pakiet NuGet OpenTelemetry.Exporter.Prometheus.AspNetCore. Ten pakiet eksportuje metryki do rozwiązania Prometheus w formacie, który może zrozumieć. Należy zastąpić bieżącego eksportera konsoli eksporterem Prometheus.
Punkty końcowe są dodawane dla wszystkich mikrousług w aplikacji. Na przykład:
global:
scrape_interval: 1s
scrape_configs:
- job_name: 'products'
static_configs:
- targets: ['backend:8080']
- job_name: 'store'
static_configs:
- targets: ['frontend:8080']
Grafana
Grafana to narzędzie do wizualizacji typu open source, którego można użyć do tworzenia pulpitów nawigacyjnych w celu wyświetlania metryk zebranych przez rozwiązanie Prometheus. Możesz skonfigurować narzędzie Grafana, aby nawiązać połączenie z rozwiązaniem Prometheus i wyświetlić metryki na pulpicie nawigacyjnym. Podobnie jak wcześniej, dodasz kontener Grafana do aplikacji i skonfigurujesz go w celu nawiązania połączenia z rozwiązaniem Prometheus.
Rozwiązanie Prometheus jest dodawane jako źródło danych do narzędzia Grafana w pliku YAML:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
Włączanie śledzenia rozproszonego
Platforma OpenTelemetry obsługuje zarówno Jaeger, jak i Zipkin. W tym module użyjesz narzędzia Zipkin, który jest rozproszonym systemem śledzenia typu open source. Pomaga zbierać dane o czasie potrzebne do diagnostyki problemów z opóźnieniami w architekturach mikrousług. Zarządza zarówno kolekcją, jak i wyszukiwaniem tych danych.
W projekcie diagnostycznym należy dodać obsługę narzędzia Zipkin za pośrednictwem pakietu OpenTelemetry.Exporter.Zipkin NuGet. Następnie dodasz kod do metody AddObservability w celu wyeksportowania danych do pliku Zipkin.
Szczegółowe informacje o usłudze Application Insights
Istnieje narzędzie, które może łączyć przeglądanie metryk i wyświetlanie śledzenia rozproszonego, a następnie scalić je z danymi z dzienników. Application Insights to rozszerzalna usługa zarządzania wydajnością aplikacji (APM). Można jej użyć do monitorowania aktywnej aplikacji internetowej. Usługa Application Insights automatycznie wykrywa anomalie wydajności. Zawiera zaawansowane narzędzia analityczne ułatwiające diagnozowanie problemów i zrozumienie, co użytkownicy faktycznie robią z aplikacją.
Podobnie jak w przypadku poprzednich narzędzi, musisz dodać pakiet NuGet do rozwiązania Azure.Monitor.OpenTelemetry.AspNetCore, a następnie wprowadzić usługę Azure Monitor jako eksportera do projektu diagnostycznego.