Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Monitorowanie aplikacji internetowych za pomocą metryk na żywo z usługi Application Insights . Wybierz i przefiltruj metryki i liczniki wydajności, aby obserwować dane w czasie rzeczywistym i sprawdzać ślady stosu z przykładowych żądań i wyjątków, które zakończyły się niepowodzeniem. Środowisko metryk na żywo to potężne narzędzie diagnostyczne, gdy jest używane z .NET Profilerem i Debuggerem Migawek.
Za pomocą metryk na żywo można wykonywać następujące czynności:
- Zweryfikuj poprawkę w trakcie jej wydawania, obserwując wskaźniki wydajności i liczby awarii.
- Obejrzyj efekt obciążeń testowych i zdiagnozuj problemy na żywo.
- Skoncentruj się na konkretnych sesjach testowych lub odfiltruj znane problemy, wybierając i filtrując metryki, które chcesz obejrzeć.
- Pobieraj ślady wyjątków w momencie ich wystąpienia.
- Poeksperymentuj z filtrami, aby znaleźć najbardziej odpowiednie wskaźniki KPI.
- Monitoruj dowolny licznik wydajności systemu Windows na żywo.
- Łatwo zidentyfikuj serwer, na którym występują problemy, i przefiltruj wszystkie kluczowe wskaźniki wydajności/transmisję na żywo tylko do tego serwera.
Rozpocznij
- Włącz metryki na żywo, postępując zgodnie z wytycznymi specyficznymi dla języka:
- ASP.NET: Nieobsługiwane.
- ASP.NET Core: domyślnie włączone.
- Java: domyślnie włączone.
- Node.js: domyślnie włączone.
-
Python: przekaż
enable_live_metrics=True
doconfigure_azure_monitor
. Aby uzyskać więcej informacji, zobacz dokumentację Azure Monitor OpenTelemetry Distro.
Otwórz zasób usługi Application Insights dla aplikacji w witrynie Azure Portal. Wybierz pozycję Metryki na żywo, które są wyświetlane w obszarze Zbadaj w menu po lewej stronie.
Zabezpiecz kanał kontroli, włączając uwierzytelnianie firmy Microsoft Entra, jeśli używasz filtrów niestandardowych.
Uwaga
31 marca 2025 r. zakończy się wsparcie dla przetwarzania kluczy instrumentacji. Pozyskiwanie klucza instrumentacji będzie nadal działać, ale nie udostępnimy już aktualizacji ani obsługi funkcji. Przejście do ciągów połączenia w celu skorzystania z nowych funkcji.
Jak metryki na żywo różnią się od eksploratora metryk i usługi Log Analytics?
Możliwości | Transmisja strumieniowa na żywo | Eksplorator metryk i usługa Log Analytics |
---|---|---|
Opóźnienie | Dane wyświetlane w ciągu jednej sekundy. | Zagregowane w ciągu kilku minut. |
Brak przechowywania | Dane są utrwalane na wykresie, a następnie są odrzucane. | Dane przechowywane przez 90 dni. |
Na żądanie | Dane są przesyłane strumieniowo tylko po otwarciu okienka metryk na żywo. | Dane są wysyłane za każdym razem, gdy zestaw SDK jest zainstalowany i włączony. |
Bezpłatna | Za dane transmisji strumieniowej na żywo nie są naliczane opłaty. | Podlega warunkom cenowym. |
Próbkowanie | Wszystkie wybrane metryki i liczniki są przesyłane. Próbkowane są błędy i ślady stosu. | Zdarzenia można próbkować. |
Kanał sterowania | Sygnały kontroli filtru są wysyłane do zestawu SDK. Zalecamy zabezpieczenie tego kanału. | Komunikacja jest jednokierunkowa, do portalu. |
Wybieranie i filtrowanie metryk
Te funkcje są dostępne w usługach ASP.NET, ASP.NET Core i Azure Functions (wersja 2).
Niestandardowe wskaźniki wydajności można monitorować na żywo, stosując dowolne filtry w dowolnej telemetrii usługi Application Insights z portalu. Wybierz kontrolkę filtru wyświetlaną po kliknięciu myszy na dowolnych wykresach. Poniższy wykres przedstawia niestandardowy licznik żądań KPI z filtrami dla adresu URL i czasu trwania. Zweryfikuj swoje filtry za pomocą sekcji podglądu strumienia, która pokazuje transmisję na żywo danych telemetrycznych spełniających kryteria określone przez Ciebie w dowolnym czasie.
Możesz monitorować wartość inną niż Liczba. Opcje zależą od typu strumienia, który może być dowolnym telemetrią usługi Application Insights, takimi jak żądania, zależności, wyjątki, ślady, zdarzenia lub metryki. Może to być również własna spersonalizowana miara.
Oprócz telemetrii usługi Application Insights można również monitorować dowolny licznik wydajności systemu Windows. Wybierz ją z opcji strumienia i podaj nazwę licznika wydajności.
Metryki na żywo są agregowane w dwóch punktach: lokalnie na każdym serwerze, a następnie na wszystkich serwerach. Wartość domyślną można zmienić na jednej z nich, wybierając inne opcje na odpowiednich listach rozwijanych.
Przykładowa telemetria: niestandardowe zdarzenia diagnostyczne na żywo
Domyślnie transmisja na żywo zdarzeń wyświetla przykłady niepomyślnych żądań, wywołań zależności, wyjątków, zdarzeń i śladów. Wybierz ikonę filtru, aby zobaczyć zastosowane kryteria w dowolnym momencie.
Podobnie jak w przypadku metryk, można określić dowolne kryteria dla dowolnego typu telemetrii usługi Application Insights. W tym przykładzie wybieramy określone błędy i zdarzenia żądań.
Uwaga
Obecnie w przypadku kryteriów opartych na komunikatach o wyjątku użyj najbardziej zewnętrznego komunikatu wyjątku. W poprzednim przykładzie, aby odfiltrować łagodny wyjątek z wewnętrznym komunikatem wyjątku (poniżej< ogranicznika "--" "Klient rozłączony", użyj komunikatu, który nie zawiera kryteriów "Błąd odczytu zawartości żądania".
Aby wyświetlić szczegóły elementu w kanale informacyjnym na żywo, wybierz go. Możesz wstrzymać kanał informacyjny, wybierając pozycję Wstrzymaj lub przewijając w dół i wybierając element. Transmisja na żywo jest wznawiana po przewinięciu do góry lub po wybraniu licznika przedmiotów zebranych podczas zatrzymania.
Filtruj według instancji serwera
Jeśli chcesz monitorować określone wystąpienie roli serwera, możesz filtrować według serwera. Aby filtrować, wybierz nazwę serwera w obszarze Serwery.
Zabezpieczanie kanału sterowania
Zabezpiecz kanał kontroli metryk na żywo, włączając uwierzytelnianie firmy Microsoft Entra, co uniemożliwia nieautoryzowane ujawnienie potencjalnie poufnych informacji wprowadzonych do filtrów niestandardowych.
Uwaga
30 września 2025 r. klucze interfejsu API używane do strumieniowego przesyłania danych telemetrycznych metryk na żywo do usługi Application Insights zostaną wycofane. Po tej dacie aplikacje korzystające z kluczy interfejsu API nie będą mogły wysyłać danych metryk na żywo do zasobu usługi Application Insights. Uwierzytelnione pozyskiwanie danych telemetrycznych, konieczne do przesyłania strumieniowego metryk na żywo do usługi Application Insights, będzie realizowane przy użyciu uwierzytelniania Microsoft Entra dla usługi Application Insights.
Tabela obsługiwanych funkcji
Język | Metryki podstawowe | Performance metrics (Metryki wydajności) | Filtrowanie niestandardowe | Przykładowa telemetria | Podział CPU na procesy |
---|---|---|---|---|---|
Środowisko .NET Framework | Obsługiwane (LTS) | Obsługiwane (LTS) | Obsługiwane (LTS) | Obsługiwane (LTS) | Obsługiwane (LTS) |
.NET Core (target=.NET Framework) | Obsługiwane (LTS) | Obsługiwane (LTS) | Obsługiwane (LTS) | Obsługiwane (LTS) | Obsługiwane (LTS) |
.NET Core (target=.NET Core) | Obsługiwane (LTS) | Obsługiwane* | Obsługiwane (LTS) | Obsługiwane (LTS) | Nieobsługiwane |
Azure Functions w wersji 2 | Obsługiwane | Obsługiwane | Obsługiwane | Obsługiwane | Nieobsługiwane |
Jawa | Obsługiwane (wersja 2.0.0 lub nowsza) | Obsługiwane (wersja 2.0.0 lub nowsza) | Nieobsługiwane | Obsługiwane (wersja 3.2.0 lub nowsza) | Nieobsługiwane |
Node.js | Obsługiwane (wersja 1.3.0 lub nowsza) | Obsługiwane (wersja 1.3.0 lub nowsza) | Nieobsługiwane | Obsługiwane (wersja 1.3.0 lub nowsza) | Nieobsługiwane |
Pyton | Obsługiwane (wersja dystrybucji 1.6.0 lub nowsza) | Nieobsługiwane | Nieobsługiwane | Nieobsługiwane | Nieobsługiwane |
Podstawowe metryki obejmują liczbę żądań, zależności i wyjątków. Metryki wydajności (liczniki wydajności) obejmują pamięć i procesor CPU. Przykładowe dane telemetryczne przedstawiają strumień szczegółowych informacji dotyczących nieudanych żądań i zależności, wyjątków, zdarzeń i śladów.
Obsługa platformy PerfCounters różni się nieznacznie w różnych wersjach platformy .NET Core, które nie są przeznaczone dla programu .NET Framework:
- Metryki PerfCounters są obsługiwane podczas uruchamiania w usłudze Azure App Service dla systemu Windows (ASP.NET Core SDK w wersji 2.4.1 lub nowszej).
- Narzędzie PerfCounters jest obsługiwane, gdy aplikacja jest uruchomiona na dowolnej maszynie z systemem Windows dla aplikacji przeznaczonych dla platformy .NET Core LTS lub nowszej.
- Narzędzie PerfCounters jest obsługiwane, gdy aplikacja działa w dowolnym miejscu (na przykład Linux, Windows, app service dla systemu Linux lub kontenerów) w najnowszych wersjach, ale tylko w przypadku aplikacji przeznaczonych dla platformy .NET Core LTS lub nowszej.
Rozwiązywanie problemów
W poniższej sekcji omówiono typowe scenariusze rozwiązywania problemów dotyczące środowiska metryk na żywo.
Brak danych metryk na żywo
Środowisko metryk na żywo używa różnych punktów końcowych w porównaniu z inną telemetrią usługi Application Insights. Upewnij się, że punkty końcowe metryk na żywo i porty wychodzące są otwarte w zaporze serwerów.
Zgodnie z opisem w ogłoszeniu o migracji protokołu TLS 1.2 platformy Azure metryki na żywo obsługują teraz tylko protokół TLS 1.2. Jeśli używasz starszej wersji protokołu TLS, okienko metryk na żywo nie wyświetla żadnych danych. W przypadku aplikacji opartych na programie .NET Framework 4.5.1 zobacz Włączanie protokołu Transport Layer Security (TLS) 1.2 na klientach — Configuration Manager w celu obsługi nowszej wersji protokołu TLS.
Sprawdź, czy usługa Application Insights jest włączona, a aplikacja korzysta z najnowszej wersji dystrybucji Azure Monitor OpenTelemetry. Jeśli używasz .NET Classic API, zainstaluj pakiet NuGet Application Insights.
Autoryzowanie połączonych serwerów: ta opcja nie będzie dostępna
Zdecydowanie odradzamy korzystanie z niezabezpieczonych kanałów.
Jeśli zdecydujesz się wypróbować filtry niestandardowe bez konfigurowania uwierzytelnionego kanału, musisz autoryzować połączone serwery w każdej nowej sesji lub gdy nowe serwery są dostępne w trybie online. Ponadto korzystanie z niezabezpieczonych kanałów zostanie automatycznie wyłączone po sześciu miesiącach.
W oknie dialogowym zostanie wyświetlone ostrzeżenie: "Możesz przesyłać strumieniowo metryki i zdarzenia za pomocą filtrów niestandardowych, a następnie są one przesyłane z powrotem do Twojej aplikacji." Unikaj wprowadzania potencjalnie poufnych informacji (takich jak identyfikator klienta), dopóki nie skonfigurujesz uwierzytelnionego kanału. Jeśli jednak rozpoznasz i zaufasz wszystkim serwerom poniżej, możesz wypróbować filtry niestandardowe bez uwierzytelniania. Ta opcja nie będzie dostępna po ##/##/####. Serwery połączone bez uwierzytelniania:"
Aby naprawić to ostrzeżenie, zobacz Zabezpieczanie kanału sterowania.
Niska liczba monitorowanych wystąpień serwera
Liczba monitorowanych wystąpień serwera wyświetlanych przez metryki na żywo może być niższa niż rzeczywista liczba wystąpień przydzielonych dla aplikacji. Ta niezgodność jest taka, ponieważ wiele nowoczesnych serwerów internetowych zwalnia aplikacje, które nie odbierają żądań przez pewien czas w celu zaoszczędzenia zasobów. Ponieważ metryki na żywo zliczają tylko serwery, na których jest obecnie uruchomiona aplikacja, serwery, które już zwolniły ten proces, nie zostaną uwzględnione w tej sumie.
Brak konfiguracji dla platformy .NET
Sprawdź, czy używasz najnowszej wersji pakietu NuGet Microsoft.ApplicationInsights.PerfCounterCollector.
ApplicationInsights.config
Edytuj plik:- Sprawdź, czy ciąg połączenia wskazuje na zasób usługi Application Insights, którego używasz.
-
QuickPulseTelemetryModule
Znajdź opcję konfiguracji. Jeśli tak nie jest, dodaj go. -
QuickPulseTelemetryProcessor
Znajdź opcję konfiguracji. Jeśli tak nie jest, dodaj go.
<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector. QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/> </TelemetryModules> <TelemetryProcessors> <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector. QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/> </TelemetryProcessors>
Uruchom ponownie aplikację.
Komunikat o stanie "Dane są tymczasowo niedostępne"
Podczas przechodzenia do metryk na żywo możesz zobaczyć baner z komunikatem o stanie: "Dane są tymczasowo niedostępne. Aktualizacje naszego stanu są publikowane tutaj https://aka.ms/aistatus "
Postępuj zgodnie z linkiem do strony stanu platformy Azure i sprawdź, czy wystąpiła awaria aktywacji wpływająca na usługę Application Insights. Upewnij się, że zapory sieciowe i rozszerzenia przeglądarki nie blokują dostępu do danych na żywo, jeśli nie występuje przerwa. Na przykład niektóre popularne rozszerzenia blokujące reklamy blokują połączenia z *.monitor.azure.com
. Aby użyć pełnych możliwości metryk na żywo, wyłącz rozszerzenie blokady reklam lub dodaj regułę wykluczania dla domeny *.livediagnostics.monitor.azure.com
do blokady reklam, zapory itp.
Nieoczekiwana duża liczba żądań do livediagnostics.monitor.azure.com
Zestawy SDK usługi Application Insights używają interfejsu API REST do komunikowania się z punktami końcowymi QuickPulse, które zapewniają bieżące metryki dla Twojej aplikacji internetowej. Domyślnie zestawy SDK sprawdzają punkty końcowe co pięć sekund, aby upewnić się, czy przeglądasz sekcję metryk na żywo w Azure Portal.
Jeśli otworzysz metryki na żywo, zestawy SDK przełączą się na tryb wyższej częstotliwości i co sekundę będą wysyłać nowe metryki do QuickPulse. Dzięki temu można monitorować i diagnozować aplikację na żywo z 1-sekundowym opóźnieniem, ale także generuje większy ruch sieciowy. Aby przywrócić normalny przepływ ruchu, nawiguj z dala od okna metryk na żywo.
Uwaga
Wywołania interfejsu API REST wykonywane przez SDK do punktów końcowych QuickPulse nie są śledzone przez usługę Application Insights i nie wpływają na wywołania zależności ani inne metryki. Można je jednak zobaczyć w innych narzędziach do monitorowania sieci.