Mapa aplikacji: Klasyfikacja aplikacji rozproszonych
Deweloperzy używają map aplikacji do reprezentowania logicznej struktury swoich aplikacji rozproszonych. Mapa jest generowana przez zidentyfikowanie poszczególnych składników aplikacji z ich właściwością roleName
lub name
w zarejestrowanych danych telemetrycznych. Okręgi (lub węzły) na mapie reprezentują składniki i linie kierunkowe (łączniki lub krawędzie) pokazują wywołania HTTP z węzłów źródłowych do węzłów docelowych .
Usługa Azure Monitor udostępnia funkcję mapy aplikacji, która ułatwia szybkie implementowanie wąskich gardeł wydajności i punktów aktywności wydajności we wszystkich składnikach. Każdy węzeł mapy jest składnikiem aplikacji lub jego zależnościami i zapewnia wskaźnik KPI kondycji i stan alertów. Możesz wybrać dowolny węzeł, aby wyświetlić szczegółową diagnostykę składnika, na przykład zdarzenia usługi Application Insights. Jeśli aplikacja korzysta z usług platformy Azure, możesz również wybrać diagnostykę platformy Azure, taką jak rekomendacje usługi SQL Database Advisor.
Mapa aplikacji zawiera również inteligentny widok , aby ułatwić szybkie badanie kondycji usługi.
Omówienie składników
Składniki są niezależnie wdrażanymi częściami aplikacji rozproszonej lub mikrousługi. Deweloperzy i zespoły operacyjne mają widoczność na poziomie kodu lub dostęp do danych telemetrycznych generowanych przez te składniki aplikacji.
Niektóre zagadnienia dotyczące składników:
- Składniki różnią się od "obserwowanych" zależności zewnętrznych, takich jak usługi Azure SQL i Azure Event Hubs, do których zespół lub organizacja mogą nie mieć dostępu (kod lub telemetria).
- Składniki są uruchamiane na dowolnej liczbie wystąpień serwera, roli lub kontenera.
- Składniki mogą być oddzielnymi zasobami usługi Application Insights, nawet jeśli subskrypcje są różne. Mogą one również być różnymi rolami, które zgłaszają pojedynczy zasób usługi Application Insights. Środowisko mapy w wersji zapoznawczej pokazuje składniki niezależnie od sposobu ich konfigurowania.
Eksplorowanie mapy aplikacji
Mapa aplikacji umożliwia wyświetlenie pełnej topologii aplikacji na wielu poziomach powiązanych składników aplikacji. Zgodnie z wcześniejszym opisem składniki mogą być różnymi zasobami usługi Application Insights, składnikami zależniami lub różnymi rolami w jednym zasobie. Mapa aplikacji lokalizuje składniki, wykonując następujące wywołania zależności HTTP między serwerami z zainstalowanym zestawem SDK usługi Application Insights.
Środowisko mapowania rozpoczyna się od progresywnego odnajdywania składników w aplikacji i ich zależności. Podczas pierwszego ładowania mapy aplikacji zestaw zapytań wyzwala odnajdywanie składników powiązanych z głównym składnikiem. W miarę odnajdowania składników na pasku stanu jest wyświetlana bieżąca liczba odnalezionych składników:
W poniższych sekcjach opisano niektóre akcje dostępne do pracy z mapą aplikacji w witrynie Azure Portal.
Aktualizuj składniki mapy
Opcja Aktualizuj składniki mapy wyzwala odnajdywanie składników i odświeża mapę, aby wyświetlić wszystkie bieżące węzły. W zależności od złożoności aplikacji załadowanie aktualizacji może potrwać minutę:
Jeśli wszystkie składniki aplikacji są rolami w ramach jednego zasobu usługi Application Insights, krok odnajdywania nie jest wymagany. Początkowe obciążenie w tym scenariuszu aplikacji umożliwia odnalezienie wszystkich składników.
Wyświetlanie szczegółów składnika
Kluczowym celem środowiska mapy aplikacji jest ułatwienie wizualizacji złożonych topologii, które mają setki składników. W tym scenariuszu warto ulepszyć widok mapy ze szczegółami dla pojedynczego węzła przy użyciu opcji Wyświetl szczegóły . W okienku szczegółów węzła są wyświetlane powiązane szczegółowe informacje, wydajność i klasyfikacja błędów dla wybranego składnika:
Każda sekcja okienka zawiera opcję wyświetlania dodatkowych informacji w widoku rozszerzonym, w tym błędów, wydajności i szczegółów dotyczących żądań i zależności, które zakończyły się niepowodzeniem.
Zbadaj błędy
W okienku szczegółów węzła możesz użyć opcji Zbadaj błędy , aby wyświetlić wszystkie błędy składnika:
Widok Błędy umożliwia eksplorowanie danych błędów dotyczących operacji, zależności, wyjątków i ról związanych z wybranym składnikiem:
Zbadaj wydajność
W okienku szczegółów węzła możesz rozwiązywać problemy z wydajnością składnika, wybierając opcję Zbadaj wydajność :
Widok Wydajność umożliwia eksplorowanie danych telemetrycznych dotyczących operacji, zależności i ról połączonych z wybranym składnikiem:
Przejdź do szczegółów i śledzenia stosu
Opcja Przejdź do szczegółów w okienku szczegółów węzła zawiera kompleksowe środowisko transakcji dla składnika. To okienko umożliwia wyświetlanie szczegółów na poziomie stosu wywołań:
Zostanie otwarta strona, aby wyświetlić widok Osi czasu dla szczegółów:
Możesz użyć opcji Wyświetl wszystkie , aby wyświetlić szczegóły stosu z informacjami o śledzeniu i zdarzeniu składnika:
Wyświetlanie w dziennikach (analiza)
W okienku szczegółów węzła możesz dokładniej wykonywać zapytania dotyczące danych aplikacji i badać je za pomocą opcji Wyświetl w dziennikach (Analiza):
Strona Dzienniki (Analiza) zawiera opcje eksplorowania rekordów tabeli telemetrii aplikacji za pomocą wbudowanych lub niestandardowych zapytań i funkcji. Możesz pracować z danymi, dostosowując format i zapisując i eksportując analizę:
Wyświetlanie alertów i reguł
Opcja Wyświetl alerty w okienku szczegółów węzła umożliwia wyświetlanie aktywnych alertów:
Na stronie Alerty są wyświetlane alerty krytyczne i wyzwolone:
Opcja Reguły alertów na stronie Alerty zawiera podstawowe reguły, które powodują wyzwolenie alertów:
Omówienie nazw ról i węzłów w chmurze
Mapa aplikacji używa właściwości nazwy roli chmury do identyfikowania składników aplikacji na mapie. Aby dowiedzieć się, jak nazwy ról w chmurze są używane z węzłami składników, zapoznaj się z mapą aplikacji, która zawiera wiele nazw ról w chmurze.
Poniższy przykład przedstawia mapę w widoku hierarchicznym z pięcioma węzłami składników i łącznikami do dziewięciu węzłów zależnych. Każdy węzeł ma nazwę roli chmury.
Mapa aplikacji używa różnych kolorów, wyróżnień i rozmiarów węzłów do przedstawiania danych i relacji składników aplikacji:
Nazwy ról w chmurze wyrażają różne aspekty aplikacji rozproszonej. W tym przykładzie niektóre role aplikacji to
Contoso Retail Check
,Fabrikam-App
,fabrikam-loadfunc
,retailfabrikam-37ha6
iretailapp
.Kropkowane niebieskie kółko wokół węzła wskazuje ostatni wybrany składnik. W tym przykładzie ostatni wybrany składnik jest węzłem
Web
.Po wybraniu węzła, aby wyświetlić szczegóły, niebieski okrąg wyróżnia węzeł. W tym przykładzie aktualnie wybrany węzeł to
Contoso Retail Reports
.Odległe lub niepowiązane węzły składników są wyświetlane mniejsze w porównaniu z innymi węzłami. Te elementy są wygaszone w widoku, aby wyróżnić wydajność aktualnie wybranego składnika.
W tym przykładzie każda nazwa roli w chmurze reprezentuje również inny unikatowy zasób usługi Application Insights z własnymi kluczami instrumentacji. Ponieważ właściciel tej aplikacji ma dostęp do każdego z tych czterech różnych zasobów usługi Application Insights, mapa aplikacji może łączyć mapę podstawowych relacji.
Badanie wystąpień ról w chmurze
Gdy nazwa roli w chmurze ujawnia problem gdzieś w frontonie internetowym i uruchamiasz wiele serwerów o zrównoważonym obciążeniu na frontonie internetowym, użycie wystąpienia roli w chmurze może być przydatne. Mapa aplikacji umożliwia wyświetlenie szczegółowych informacji o węźle składnika przy użyciu zapytań Kusto. Możesz zbadać węzeł, aby wyświetlić szczegółowe informacje o określonych wystąpieniach roli w chmurze. Takie podejście pomaga określić, czy problem dotyczy wszystkich serwerów frontonu internetowego, czy tylko określonych wystąpień.
Scenariusz, w którym można przesłonić wartość wystąpienia roli chmury, jest wtedy, gdy aplikacja jest uruchomiona w środowisku konteneryzowanym. W takim przypadku informacje o poszczególnych serwerach mogą nie być wystarczające do zlokalizowania konkretnego problemu.
Aby uzyskać więcej informacji na temat zastępowania właściwości nazwy roli chmury za pomocą inicjatorów telemetrii, zobacz Dodawanie właściwości: ITelemetryInitializer.
Ustawianie nazw ról w chmurze
Mapa aplikacji używa właściwości nazwy roli chmury do identyfikowania składników na mapie. Ta sekcja zawiera przykłady ręcznego ustawiania lub zastępowania nazw ról w chmurze i zmieniania elementów wyświetlanych na mapie aplikacji.
Uwaga
Zestaw SDK usługi Application Insights lub agent automatycznie dodaje właściwość nazwy roli chmury do danych telemetrycznych emitowanych przez składniki w środowisku usługi aplikacja systemu Azure.
Poniższy fragment kodu przedstawia definicje schematu dla roli chmury i wystąpienia roli w chmurze:
[Description("Name of the role the application is a part of. Maps directly to the role name in Azure.")]
[MaxStringLength("256")]
705: string CloudRole = "ai.cloud.role";
[Description("Name of the instance where the application is running. Computer name for on-premises, instance name for Azure.")]
[MaxStringLength("256")]
715: string CloudRoleInstance = "ai.cloud.roleInstance";
Pisanie niestandardowej telemetriiInitializer
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
namespace CustomInitializer.Telemetry
{
public class MyTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
if (string.IsNullOrEmpty(telemetry.Context.Cloud.RoleName))
{
//set custom role name here
telemetry.Context.Cloud.RoleName = "Custom RoleName";
telemetry.Context.Cloud.RoleInstance = "Custom RoleInstance";
}
}
}
}
ASP.NET aplikacji: załaduj inicjator w aktywnej konfiguracji telemetrii
W pliku ApplicationInsights.config:
<ApplicationInsights>
<TelemetryInitializers>
<!-- Fully qualified type name, assembly name: -->
<Add Type="CustomInitializer.Telemetry.MyTelemetryInitializer, CustomInitializer"/>
...
</TelemetryInitializers>
</ApplicationInsights>
Alternatywną metodą ASP.NET web apps jest utworzenie wystąpienia inicjatora w kodzie. Poniższy przykład przedstawia kod w pliku Global.aspx.cs :
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
protected void Application_Start()
{
// ...
TelemetryConfiguration.Active.TelemetryInitializers.Add(new MyTelemetryInitializer());
}
Uwaga
Dodawanie inicjatora przy użyciu ApplicationInsights.config
właściwości or TelemetryConfiguration.Active
nie jest prawidłowe dla aplikacji ASP.NET Core.
aplikacje ASP.NET Core: ładowanie inicjatora do telemetriiKonfiguracja
W przypadku aplikacji ASP.NET Core , aby dodać nowe TelemetryInitializer
wystąpienie, należy dodać je do kontenera Wstrzykiwanie zależności. W poniższym przykładzie przedstawiono to podejście. Dodaj ten kod w ConfigureServices
metodzie Startup.cs
klasy .
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}
Korzystanie z filtrów mapy aplikacji
Filtry mapy aplikacji pomagają zmniejszyć liczbę widocznych węzłów i krawędzi na mapie. Te filtry mogą służyć do zmniejszenia zakresu mapy i wyświetlania mniejszego i bardziej ukierunkowanego widoku.
Szybkim sposobem filtrowania jest użycie opcji Filtruj w tym węźle w menu kontekstowym dla dowolnego węzła na mapie:
Możesz również utworzyć filtr z opcją Dodaj filtr :
Wybierz typ filtru (węzeł lub łącznik) i żądane ustawienia, a następnie przejrzyj wybrane opcje i zastosuj je do bieżącej mapy.
Tworzenie filtrów węzłów
Filtry węzłów umożliwiają wyświetlanie tylko niektórych węzłów na mapie aplikacji i ukrywanie wszystkich innych węzłów. Parametry można skonfigurować tak, aby przeszukiwały właściwości węzłów na mapie pod kątem wartości, które są zgodne z warunkiem. Gdy filtr węzła usunie węzeł, filtr usuwa również wszystkie łączniki i krawędzie węzła.
Filtr węzła ma trzy parametry do skonfigurowania:
Uwzględnione węzły: typy węzłów do przejrzenia na mapie aplikacji pod kątem pasujących właściwości. Istnieją cztery opcje:
Węzły, źródła i obiekty docelowe: wszystkie węzły spełniające kryteria wyszukiwania są uwzględnione na mapie wyników. Wszystkie węzły źródłowe i docelowe dla pasujących węzłów są również automatycznie dołączane do mapy wyników, nawet jeśli źródła lub obiekty docelowe nie spełniają kryteriów wyszukiwania. Węzły źródłowe i docelowe są określane zbiorczo jako połączone węzły.
Węzły i źródła: takie samo zachowanie jak węzły, źródła i obiekty docelowe, ale węzły docelowe nie są automatycznie uwzględniane w mapie wyników.
Węzły i obiekty docelowe: takie samo zachowanie jak węzły, źródła i obiekty docelowe, ale węzły źródłowe nie są automatycznie uwzględniane w mapie wyników.
Tylko węzły: wszystkie węzły na mapie wyników muszą mieć wartość właściwości zgodną z kryteriami wyszukiwania.
Operator: typ testu warunkowego do wykonania na wartościach właściwości każdego węzła. Istnieją cztery opcje:
contains
: Wartość właściwości węzła zawiera wartość określoną w parametrze Wartość wyszukiwania.!contains
Wartość właściwości węzła nie zawiera wartości określonej w parametrze Wartość wyszukiwania.==
: Wartość właściwości węzła jest równa wartości określonej w parametrze Wartość wyszukiwania.!=
: Wartość właściwości węzła nie jest równa wartości określonej w parametrze Wartość wyszukiwania.
Wartość wyszukiwania: ciąg tekstowy do użycia na potrzeby testu warunkowego wartości właściwości. Lista rozwijana parametru zawiera wartości dla istniejących węzłów na mapie aplikacji. Możesz wybrać wartość z listy lub utworzyć własną wartość. Wprowadź wartość niestandardową w polu parametru, a następnie wybierz pozycję Utwórz opcję ... na liście. Na przykład możesz wprowadzić polecenie
test
, a następnie wybrać opcję Utwórz "test" na liście.
Na poniższej ilustracji przedstawiono przykład filtru zastosowanego do mapy aplikacji, która pokazuje dane z 30 dni. Filtr powoduje, że mapa aplikacji wyszukuje węzły i połączone obiekty docelowe zawierające właściwości zawierające tekst "retailapp":
Pasujące węzły i połączone węzły docelowe są uwzględnione na mapie wyników:
Tworzenie filtrów łącznika (krawędzi)
Filtry łączników umożliwiają wyświetlanie tylko niektórych węzłów z określonymi łącznikami na mapie aplikacji i ukrywanie wszystkich innych węzłów i łączników. Parametry można skonfigurować tak, aby przeszukiwały właściwości łączników na mapie pod kątem wartości pasujących do warunku. Gdy węzeł nie ma pasujących łączników, filtr usuwa węzeł z mapy.
Filtr łącznika ma trzy parametry do skonfigurowania:
Filtrowanie łączników według: typy łączników do przejrzenia na mapie aplikacji pod kątem pasujących właściwości. Istnieją cztery opcje. Wybór steruje dostępnymi opcjami pozostałych dwóch parametrów.
Operator: typ testu warunkowego do wykonania na wartości każdego łącznika.
Wartość: wartość porównania do użycia dla testu warunkowego wartości właściwości. Lista rozwijana parametru zawiera wartości istotne dla bieżącej mapy aplikacji. Możesz wybrać wartość z listy lub utworzyć własną wartość. Na przykład możesz wprowadzić polecenie
16
, a następnie wybrać opcję Utwórz "16" na liście.
W poniższej tabeli podsumowano opcje konfiguracji na podstawie wybranego parametru Filtruj łączniki według parametru.
Filtrowanie łączników według | opis | Parametr operatora | Parametr wartości | Użycie |
---|---|---|---|---|
Łącznik błędów (wyróżniony na czerwono) | Wyszukaj łączniki na podstawie ich koloru. Kolor czerwony wskazuje, że łącznik jest w stanie błędu. | == : równe != : Nie równa się |
Zawsze ustawiane na błędy | Pokaż tylko łączniki z błędami lub tylko łączniki bez błędów. |
Współczynnik błędów (0% — 100%) | Wyszukaj łączniki na podstawie średniego współczynnika błędów (liczba wywołań zakończonych niepowodzeniem podzielona przez liczbę wszystkich wywołań). Wartość jest wyrażona jako wartość procentowa. | >= Większe niż lub równe <= Mniejsze niż lub równe |
Na liście rozwijanej przedstawiono średnie współczynniki błędów związane z bieżącymi łącznikami na mapie aplikacji. Wybierz wartość z listy lub wprowadź wartość niestandardową, postępując zgodnie z opisanym wcześniej procesem. | Pokaż łączniki z współczynnikami awarii większymi lub niższymi niż wybrana wartość. |
Średni czas trwania wywołania (ms) | Wyszukaj łączniki na podstawie średniego czasu trwania wszystkich wywołań w łączniku. Wartość jest mierzona w milisekundach. | >= Większe niż lub równe <= Mniejsze niż lub równe |
Na liście rozwijanej przedstawiono średnie czasy trwania dotyczące bieżących łączników na mapie aplikacji. Na przykład wartość 1000 odwołuje się do wywołań ze średnim czasem trwania wynoszącym 1 sekundę. Wybierz wartość z listy lub wprowadź wartość niestandardową, postępując zgodnie z opisanym wcześniej procesem. |
Pokaż łączniki ze średnimi współczynnikami czasu trwania wywołań większymi lub niższymi niż wybrana wartość. |
Liczba wywołań | Wyszukaj łączniki na podstawie łącznej liczby wywołań w łączniku. | >= Większe niż lub równe <= Mniejsze niż lub równe |
Lista rozwijana zawiera łączną liczbę wywołań istotnych dla bieżących łączników na mapie aplikacji. Wybierz wartość z listy lub wprowadź wartość niestandardową, postępując zgodnie z opisanym wcześniej procesem. | Pokaż łączniki z liczbą wywołań większą lub mniejszą niż wybrana wartość. |
Wskaźniki percentylu dla wartości
Podczas filtrowania łączników według współczynnika błędów, średniego czasu trwania wywołań lub liczby wywołań niektóre opcje parametru Value obejmują (Pxx)
oznaczenie. Ten wskaźnik pokazuje poziom percentylu. W przypadku filtru Średni czas trwania wywołania może zostać wyświetlona wartość 200 (P90)
. Ta opcja oznacza, że 90% wszystkich łączników (niezależnie od liczby reprezentowanych wywołań) ma krótszy niż 200 ms czasu trwania wywołania.
Opcje Wartości, które obejmują poziom percentylu, można zobaczyć, wprowadzając P
w polu parametru.
Przeglądanie filtrów
Po wybraniu opcji w okienku podręcznym Dodawanie filtru zostaną wyświetlone opisy tekstowe i wizualne dotyczące filtru. Wyświetlenie podsumowania może pomóc zrozumieć, jak filtr ma zastosowanie do mapy aplikacji.
W poniższym przykładzie przedstawiono podsumowanie przeglądu filtru węzła, który wyszukuje węzły i obiekty docelowe z właściwościami zawierającymi tekst "-west":
W tym przykładzie przedstawiono podsumowanie filtru łącznika, który wyszukuje łączniki (i węzły, z którymi się łączą) ze średnim czasem trwania wywołania równym lub większym niż 42 ms:
Stosowanie filtrów do mapowania
Po skonfigurowaniu i przejrzeniu ustawień filtru wybierz pozycję Zastosuj , aby utworzyć filtr. Możesz zastosować wiele filtrów do tej samej mapy aplikacji. Na mapie Aplikacji zastosowane filtry są wyświetlane jako pigułki nad mapą:
Akcja Usuń dla pigułki filtru umożliwia usunięcie filtru. Po usunięciu zastosowanego filtru widok mapy aktualizuje w celu odejmowania logiki filtru.
Mapa aplikacji stosuje logikę filtru do mapy sekwencyjnie, zaczynając od lewego filtru na liście. W miarę stosowania filtrów węzły i łączniki są usuwane z widoku mapy. Po usunięciu węzła lub łącznika z widoku kolejny filtr nie może przywrócić elementu.
Konfigurację zastosowanego filtru można zmienić, wybierając pigułkę filtru. Podczas zmiany ustawień filtru mapa aplikacji wyświetla podgląd widoku mapy z nową logiką filtru. Jeśli zdecydujesz się nie zastosować zmian, możesz użyć opcji Anuluj do bieżącego widoku mapy i filtrów.
Eksplorowanie i zapisywanie filtrów
Po odnalezieniu interesującego filtru możesz zapisać filtr, aby użyć go ponownie później, korzystając z opcji Kopiuj łącze lub Przypnij do pulpitu nawigacyjnego:
Opcja Kopiuj link koduje wszystkie bieżące ustawienia filtru w skopiowanych adresach URL. Możesz zapisać ten link w zakładkach przeglądarki lub udostępnić go innym osobom. Ta funkcja zachowuje wartość czasu trwania w ustawieniach filtru, ale nie czas bezwzględny. Gdy później użyjesz linku, utworzona mapa aplikacji może się różnić od mapy obecnej w momencie przechwycenia linku.
Opcja Przypnij do pulpitu nawigacyjnego dodaje bieżącą mapę aplikacji do pulpitu nawigacyjnego wraz z bieżącymi filtrami. Typowym podejściem diagnostycznym jest przypięcie mapy z zastosowanym filtrem łącznika błędów. Aplikację można monitorować pod kątem węzłów z błędami w wywołaniach HTTP.
W poniższych sekcjach opisano niektóre typowe filtry, które mają zastosowanie do większości map i mogą być przydatne do przypinania na pulpicie nawigacyjnym.
Sprawdzanie pod kątem ważnych błędów
Utwórz widok mapy tylko łączników z błędami (wyróżnionymi na czerwono) w ciągu ostatnich 24 godzin. Filtry obejmują parametr Łącznik błędów połączony z widokiem inteligentnym:
Funkcja inteligentnego widoku została opisana w dalszej części tego artykułu.
Ukryj łączniki o niskim natężeniu ruchu
Ukryj łączniki o niskim natężeniu ruchu bez błędów w widoku mapy, dzięki czemu można szybko skupić się na bardziej znaczących problemach. Filtry obejmują łączniki w ciągu ostatnich 24 godzin z liczbą wywołań większą niż 2872 (P20):
Pokaż łączniki o dużym natężeniu ruchu
Ujawniaj łączniki o dużym natężeniu ruchu, które mają również średni czas trwania wywołań. Ten filtr może pomóc w zidentyfikowaniu potencjalnych problemów z wydajnością. Filtry w tym przykładzie obejmują łączniki w ciągu ostatnich 24 godzin z liczbą wywołań większą niż 10854 (P50) i średni czas trwania wywołań dłuższy niż 578 (P80):
Lokalizowanie składników według nazwy
Znajdź składniki (węzły i łączniki) w aplikacji według nazwy zgodnie z implementacją konwencji nazewnictwa właściwości składników roleName
. Za pomocą tego podejścia można zobaczyć konkretną część aplikacji rozproszonej. Filtr wyszukuje węzły, źródła i obiekty docelowe w ciągu ostatnich 24 godzin, które zawierają określoną wartość. W tym przykładzie wartość wyszukiwania to "west":
Usuwanie hałaśliwych składników
Zdefiniuj filtry, aby ukryć hałaśliwe składniki, usuwając je z mapy. Czasami składniki aplikacji mogą mieć aktywne węzły zależne, które generują dane, które nie są niezbędne dla widoku mapy. W tym przykładzie filtr wyszukuje węzły, źródła i obiekty docelowe w ciągu ostatnich 24 godzin, które nie zawierają określonej wartości "retail":
Wyszukaj łączniki podatne na błędy
Pokaż tylko łączniki, które mają wyższe współczynniki błędów niż określona wartość. Filtr w tym przykładzie wyszukuje łączniki w ciągu ostatnich 24 godzin o współczynniku błędów większym niż 3%:
Eksplorowanie widoku inteligentnego
Funkcja inteligentnego widoku mapy aplikacji została zaprojektowana tak, aby ułatwić badanie kondycji usługi. Stosuje uczenie maszynowe w celu szybkiego identyfikowania potencjalnych głównych przyczyn problemów przez filtrowanie szumu. Model uczenia maszynowego uczy się na podstawie historycznego zachowania mapy aplikacji, aby zidentyfikować dominujące wzorce i anomalie wskazujące potencjalne przyczyny zdarzenia.
W dużych aplikacjach rozproszonych zawsze występuje pewien stopień szumu pochodzącego z "łagodnych" błędów, co może spowodować , że mapa aplikacji będzie hałaśliwa, pokazując wiele czerwonych krawędzi. Widok inteligentny przedstawia tylko najbardziej prawdopodobne przyczyny awarii usługi i usuwa czerwone krawędzie węzła-węzeł (komunikacja między usługami) w usługach w dobrej kondycji. Widok inteligentny wyróżnia krawędzie na czerwono, które należy zbadać. Oferuje również szczegółowe informacje umożliwiające podejmowanie działań dla wyróżnionej krawędzi.
Korzystanie z widoku inteligentnego ma wiele korzyści:
- Skraca czas rozwiązywania problemów, wyróżniając tylko błędy, które należy zbadać
- Udostępnia praktyczne informacje na temat tego, dlaczego wyróżniono pewną czerwoną krawędź
- Umożliwia bezproblemowe korzystanie z mapy aplikacji dla dużych aplikacji rozproszonych (koncentrując się tylko na krawędziach oznaczonych kolorem czerwonym)
Widok inteligentny ma pewne ograniczenia:
- Ładowanie dużych aplikacji rozproszonych może potrwać minutę.
- Obsługiwane są przedziały czasowe do siedmiu dni.
Praca z widokiem inteligentnym
Przełącznik powyżej mapy aplikacji umożliwia włączenie inteligentnego widoku i kontrolowanie poufności wykrywania problemów:
Widok inteligentny używa opatentowanego modelu uczenia maszynowego AIOps, aby wyróżnić (na czerwono) istotne i ważne dane na mapie aplikacji. Różne dane aplikacji służą do określania, które dane mają być wyróżniane na mapie, w tym współczynniki awarii, liczby żądań, czasy trwania, anomalie i typ zależności. Dla porównania standardowy widok mapy wykorzystuje tylko nieprzetworzone współczynniki awarii.
Mapa aplikacji wyróżnia krawędzie na czerwono zgodnie z ustawieniem poufności. Można dostosować czułość, aby osiągnąć żądany poziom ufności w wyróżnionych krawędziach.
Czułość | opis |
---|---|
Wysoka | Wyróżniono mniej krawędzi. |
Medium | (Ustawienie domyślne) Wyróżniono zrównoważoną liczbę krawędzi. |
Niska | Wyróżniono więcej krawędzi. |
Sprawdzanie szczegółowych informacji z możliwością działania
Po włączeniu widoku inteligentnego wybierz wyróżnioną krawędź (czerwoną) na mapie, aby wyświetlić "szczegółowe informacje z możliwością działania" dla składnika. Szczegółowe informacje są wyświetlane w okienku po prawej stronie i wyjaśniają, dlaczego krawędź jest wyróżniona.
Aby rozpocząć rozwiązywanie problemu, wybierz pozycję Zbadaj błędy. Możesz przejrzeć informacje o składniku w okienku Błędy , aby ustalić, czy wykryty problem jest główną przyczyną.
Gdy widok Inteligentny nie wyróżnia żadnych krawędzi na mapie aplikacji, model uczenia maszynowego nie znalazł potencjalnych zdarzeń w zależnościach aplikacji.
Wskazówki dotyczące rozwiązywania problemów
Jeśli masz problemy z działaniem mapy aplikacji zgodnie z oczekiwaniami, zapoznaj się z sugestiami w poniższych sekcjach.
Poniżej przedstawiono kilka ogólnych zaleceń:
Użyj oficjalnie obsługiwanego zestawu SDK. Nieobsługiwane zestawy SDK społeczności mogą nie obsługiwać korelacji. Aby uzyskać listę obsługiwanych zestawów SDK, zobacz Application Insights: Języki, platformy i integracje.
Uaktualnij wszystkie składniki do najnowszej wersji zestawu SDK.
Obsługa usługi Azure Functions w języku C# przez uaktualnienie do usługi Azure Functions w wersji 2.
Upewnij się, że nazwa roli chmury jest poprawnie skonfigurowana.
Upewnij się, że wszystkie brakujące zależności są wyświetlane jako zależności autokolektowane. Jeśli zależność nie znajduje się na liście, możesz ją śledzić ręcznie za pomocą wywołania zależności śledzenia.
Zbyt wiele węzłów na mapie
Mapa aplikacji dodaje węzeł składnika dla każdej unikatowej nazwy roli chmury w telemetrii żądania. Proces dodaje również węzeł zależności dla każdej unikatowej kombinacji typu, elementu docelowego i nazwy roli chmury.
Jeśli masz więcej niż 10 000 węzłów w telemetrii, mapa aplikacji nie może pobrać wszystkich węzłów i łączy. W tym scenariuszu struktura mapy jest niekompletna. Jeśli ten scenariusz wystąpi, podczas wyświetlania mapy zostanie wyświetlony komunikat ostrzegawczy.
Mapa aplikacji może renderować maksymalnie 1000 oddzielnych niezgrupowanych węzłów jednocześnie. Mapa aplikacji zmniejsza złożoność wizualną, grupując zależności razem, gdy mają one ten sam typ i wywołujące.
Jeśli dane telemetryczne mają zbyt wiele unikatowych nazw ról w chmurze lub zbyt wiele typów zależności, grupowanie jest niewystarczające i mapa nie jest renderowana.
Aby rozwiązać ten problem, należy zmienić instrumentację tak, aby poprawnie ustawić nazwę roli chmury, typ zależności i pola docelowe zależności. Upewnij się, że aplikacja jest zgodna z następującymi kryteriami:
Każdy element docelowy zależności reprezentuje nazwę logiczną zależności. W wielu przypadkach ta wartość jest równoważna nazwie serwera lub zasobu zależności. Na przykład jeśli istnieją zależności HTTP, wartość jest nazwą hosta. Wartość nie powinna zawierać unikatowych identyfikatorów ani parametrów, które zmieniają się z jednego żądania na inne.
Każdy typ zależności reprezentuje typ logiczny zależności. Na przykład http, SQL lub Azure Blob są typowymi typami zależności. Ta wartość nie powinna zawierać unikatowych identyfikatorów.
Każdy cel nazwy roli chmury stosuje opis w sekcji Ustawianie lub zastępowanie nazwy roli chmury.
Widok inteligentny: przeglądarka Edge nie jest wyróżniona
Widok inteligentny może nie wyróżniać krawędzi zgodnie z oczekiwaniami, nawet przy niskim ustawieniu poufności. Zależność może wydawać się awarią, ale model nie wskazuje problemu jako potencjalnego zdarzenia. Poniżej przedstawiono kilka możliwych scenariuszy:
Jeśli zależność często kończy się niepowodzeniem, model może rozważyć awarię standardowego stanu składnika i nie wyróżnić krawędzi. Inteligentny widok koncentruje się na rozwiązywaniu problemów w czasie rzeczywistym.
Jeśli zależność ma minimalny wpływ na ogólną wydajność aplikacji, widok Inteligentny może zignorować składnik podczas modelowania uczenia maszynowego.
Jeśli twój scenariusz jest unikatowy, możesz użyć opcji Opinie, aby opisać swoje środowisko i pomóc w ulepszaniu przyszłych wersji modelu.
Widok inteligentny: wyróżniona krawędź
Gdy inteligentny widok wyróżnia krawędź, szczegółowe informacje z możliwością działania z modelu uczenia maszynowego powinny identyfikować istotne problemy, które przyczyniają się do oceny wysokiego prawdopodobieństwa. Należy pamiętać, że zalecenie nie opiera się wyłącznie na awariach, ale na innych wskaźnikach, takich jak nieoczekiwane opóźnienie w dominujących przepływach.
Widok inteligentny: nie jest ładowany
Jeśli widok inteligentny nie zostanie załadowany, ustaw skonfigurowany przedział czasu na sześć dni lub mniej.
Widok inteligentny: długi czas ładowania
Jeśli widok inteligentny trwa dłużej niż oczekiwano, należy unikać wybierania opcji Aktualizuj składniki mapy. Włącz widok inteligentny tylko dla pojedynczego zasobu usługi Application Insights.
Powiązana zawartość
Dowiedz się, jak działa korelacja w usłudze Application Insights z korelacją telemetrii.
Poznaj kompleksowe środowisko diagnostyczne transakcji, które koreluje dane telemetryczne po stronie serwera ze wszystkich składników monitorowanych przez usługę Application Insights w jeden widok.
Obsługa zaawansowanych scenariuszy korelacji w programie ASP.NET Core i ASP.NET za pomocą funkcji Śledzenie operacji niestandardowych.