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.
Prometheus
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, dołączając OpenTelemetry.Exporter.Prometheus.AspNetCore
pakiet NuGet. 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. Narzędzie Grafana można skonfigurować tak, 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 chronometrażu potrzebne do rozwiązywania 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ę pliku Zipkin za pośrednictwem OpenTelemetry.Exporter.Zipkin
pakietu NuGet. Następnie dodasz kod do AddObservability
metody w celu wyeksportowania danych do pliku Zipkin.
Więcej informacji można znaleźć w Szczegółowe informacje aplikacji
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 umożliwiająca zarządzanie wydajnością aplikacji. Można jej użyć do monitorowania aktywnej aplikacji internetowej. Aplikacja Szczegółowe informacje 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.