Mapa aplikacji: klasyfikacja aplikacji rozproszonych

Mapy aplikacji reprezentują logiczną strukturę aplikacji rozproszonej. Poszczególne składniki aplikacji są określane przez ich właściwość "roleName" lub "name" w zarejestrowanych danych telemetrycznych. Te składniki są reprezentowane jako okręgi na mapie i są określane jako "węzły". Wywołania HTTP między węzłami są reprezentowane jako strzałki łączące te węzły, nazywane "łącznikami" lub "krawędziami". Węzeł, który wykonuje wywołanie jest "źródłem" wywołania, a węzeł odbierający jest "elementem docelowym" wywołania.

Mapa aplikacji pomaga dostrzec wąskie gardła wydajności oraz miejsca najczęstszych awarii we wszystkich składnikach aplikacji rozproszonej. Każdy węzeł na mapie reprezentuje składnik aplikacji lub jego zależności i ma wskaźnik KPI kondycji i stan alertów. Możesz wybrać dowolny składnik, aby uzyskać bardziej szczegółową diagnostykę, taką jak zdarzenia Szczegółowe informacje aplikacji. 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 udostępnia również inteligentny widok , aby ułatwić szybkie badanie kondycji usługi.

Co to jest składnik?

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. Na przykład:

  • 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 aplikacji Szczegółowe informacje, nawet jeśli subskrypcje są różne. Mogą również mieć różne role, które raportują do pojedynczego zasobu usługi Application Szczegółowe informacje. Środowisko mapy w wersji zapoznawczej pokazuje składniki niezależnie od sposobu ich konfigurowania.

Mapa aplikacji złożonych

Pełną topologię aplikacji można zobaczyć na wielu poziomach powiązanych składników aplikacji. Składniki mogą być różnymi zasobami Szczegółowe informacje aplikacji lub różnymi rolami w jednym zasobie. Mapa aplikacji znajduje składniki, wykonując następujące wywołania zależności HTTP między serwerami z zainstalowanym zestawem SDK usługi Application Szczegółowe informacje.

To doświadczenie rozpoczyna się od progresywnego odnajdywania składników. Podczas pierwszego ładowania mapy aplikacji zostanie wyzwolony zestaw zapytań w celu odnalezienia składników związanych z tym składnikiem. Przycisk w lewym górnym rogu zostanie zaktualizowany o liczbę składników w aplikacji podczas ich odnajdowania.

Po wybraniu pozycji Aktualizuj składniki mapy mapa zostanie odświeżona wraz ze wszystkimi składnikami odnalezionymi do tego momentu. W zależności od złożoności aplikacji załadowanie tej aktualizacji może potrwać minutę.

Jeśli wszystkie składniki są rolami w ramach jednego zasobu usługi Application Szczegółowe informacje, ten krok odnajdywania nie jest wymagany. Początkowe obciążenie dla takiej aplikacji będzie miało wszystkie jego składniki.

Screenshot that shows an example of an application map.

Jednym z kluczowych celów tego środowiska jest możliwość wizualizacji złożonych topologii z setkami składników.

Wybierz dowolny składnik, aby wyświetlić powiązane szczegółowe informacje i przejść do środowiska klasyfikacji wydajności i awarii dla tego składnika.

Diagram that shows application map details.

Zbadaj błędy

Wybierz pozycję Zbadaj błędy , aby otworzyć okienko Błędy .

Screenshot that shows the Investigate failures button.

Screenshot that shows the Failures screen.

Zbadaj wydajność

Aby rozwiązać problemy z wydajnością, wybierz pozycję Zbadaj wydajność.

Screenshot that shows the Investigate performance button.

Screenshot that shows the Performance screen.

Przejdź do szczegółów

Przycisk Przejdź do szczegółów zawiera kompleksowe środowisko transakcji, które oferuje widoki na poziomie stosu wywołań.

Screenshot that shows the Go to details button.

Screenshot that shows the End-to-end transaction details screen.

Wyświetlanie w dziennikach (analiza)

Aby dokładniej zbadać dane aplikacji i zbadać je, wybierz pozycję Wyświetl w obszarze Dzienniki (Analiza).

Screenshot that shows the View in Logs (Analytics) button.

Screenshot that shows the Logs screen with a line graph that summarizes the average response duration of a request over the past 12 hours.

Alerty

Aby wyświetlić aktywne alerty i podstawowe reguły, które powodują wyzwolenie alertów, wybierz pozycję Alerty.

Screenshot that shows the Alerts button.

Screenshot that shows a list of alerts.

Ustawianie lub zastępowanie nazwy roli chmury

Mapa aplikacji używa właściwości nazwy roli chmury do identyfikowania składników na mapie.

Postępuj zgodnie z poniższymi wskazówkami, aby ręcznie ustawić lub zastąpić nazwy ról w chmurze i zmienić to, co pojawia się na mapie aplikacji.

Uwaga

Zestaw SDK lub agent aplikacji Szczegółowe informacje automatycznie dodaje właściwość nazwy roli chmury do telemetrii emitowanych przez składniki w środowisku usługi aplikacja systemu Azure.

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, na przykład 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 polecenia ApplicationInsights.config lub TelemetryConfiguration.Active nie jest prawidłowe w przypadku 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, jak pokazano poniżej. Ten krok należy wykonać w ConfigureServices metodzie Startup.cs klasy .

 using Microsoft.ApplicationInsights.Extensibility;
 using CustomInitializer.Telemetry;
 public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}

Opis nazwy roli chmury w kontekście mapy aplikacji

Aby ułatwić zrozumienie koncepcji nazw ról w chmurze, zapoznaj się z mapą aplikacji, która zawiera wiele nazw ról w chmurze.

Screenshot that shows an application map example.

Na wyświetlonej mapie aplikacji każda z nazw w zielonych polach jest wartością nazwy roli chmury dla różnych aspektów tej konkretnej aplikacji rozproszonej. W przypadku tej aplikacji jej role składają się z Authentication, acmefrontend, Inventory Managementi Payment Processing Worker Role.

W tej aplikacji każda z nazw ról w chmurze reprezentuje również inny unikatowy zasób aplikacji Szczegółowe informacje 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 Szczegółowe informacje, mapa aplikacji może łączyć mapę podstawowych relacji.

Oficjalne definicje:

   [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";

Alternatywnie wystąpienie roli w chmurze może być przydatne w scenariuszach, w których nazwa roli chmury informuje, że problem występuje gdzieś w frontonie internetowym. Jednak na frontonie internetowym może być uruchomionych wiele serwerów o zrównoważonym obciążeniu. Możliwość przechodzenia do szczegółów w warstwie za pośrednictwem zapytań Kusto i wiedząc, czy problem ma wpływ na wszystkie serwery frontonu internetowego lub wystąpienia, czy tylko jeden może być ważny.

Inteligentny widok Scenariusz, w którym można przesłonić wartość wystąpienia roli w chmurze, może być to, że aplikacja jest uruchomiona w środowisku konteneryzowanym. W takim przypadku po prostu znajomość pojedynczego serwera może nie być wystarczająca 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.


Filtry mapy aplikacji

Filtry mapy aplikacji umożliwiają użytkownikowi zmniejszenie liczby węzłów i krawędzi wyświetlanych przez zastosowanie co najmniej jednego filtru. Te filtry mogą służyć do zmniejszenia zakresu mapy, pokazując mniejszej i bardziej ukierunkowanej mapy.

Tworzenie filtrów mapy aplikacji

Aby utworzyć filtr, wybierz przycisk "Dodaj filtr" na pasku narzędzi mapy aplikacji.

A screenshot of the Add Filter button.

Spowoduje to wyskakujące okno dialogowe z trzema sekcjami: 1) Wybieranie typu filtru, 2) Wybieranie parametrów filtru i 3) Przegląd.

A screenshot with the Node Filter radio button selected.

A screenshot with the Connector Edge Filter radio button selected.

Pierwsza sekcja ma dwie opcje:

  1. Filtr węzła
  2. filtr Połączenie or (krawędź)

Zawartość w innych sekcjach zmienia się na podstawie wybranej opcji.

Filtry węzłów

Filtry węzłów umożliwiają użytkownikowi pozostawienie tylko wybranych węzłów na mapie i ukrycie reszty. Filtr węzła sprawdza każdy węzeł, jeśli zawiera właściwość (na przykład jej nazwę) z wartością zgodną z wartością wyszukiwania za pośrednictwem danego operatora. Jeśli węzeł zostanie usunięty przez filtr węzła, wszystkie jego łączniki (krawędzie) również zostaną usunięte.

Istnieją trzy parametry dostępne dla węzłów:

  • Opcja "Dołączone węzły" umożliwia użytkownikowi wybranie tylko węzłów z pasującymi właściwościami lub dołączenie węzłów źródłowych, węzłów docelowych lub obu tych węzłów w wynikowej mapie.

    • "Węzły i źródła, obiekty docelowe"- Oznacza to, że węzły pasujące do parametrów wyszukiwania zostaną uwzględnione w wynikowej mapie, a węzły, które są źródłami lub miejscami docelowymi pasującego węzła, również zostaną uwzględnione, nawet jeśli nie mają wartości właściwości pasujących do wyszukiwania. Węzły źródłowe i docelowe są zbiorczo nazywane węzłami "Połączenie".

    • "Węzły i źródła" — takie samo jak powyżej, ale węzły docelowe nie są automatycznie uwzględniane w wynikach.

    • "Węzły i obiekty docelowe" — takie samo jak powyżej, ale węzły źródłowe nie są automatycznie uwzględniane.

    • "Tylko węzły" — wszystkie węzły na wynikowej mapie muszą mieć zgodną wartość właściwości.

  • "Operator" to typ sprawdzania, który zostanie wykonany na wartościach właściwości każdego węzła:

    • zawiera

    • !zawiera (nie zawiera)

    • == (równa się)

    • != (nie równa się)

  • "Wartość wyszukiwania" to tekst, który musi być zawarty, nie zawierany, równy lub nie równy wartości właściwości węzła. Niektóre wartości znalezione w węzłach na mapie są wyświetlane na liście rozwijanej. Dowolną wartość można wprowadzić, klikając pozycję "Utwórz opcję..." na liście rozwijanej.

Na przykład na poniższym zrzucie ekranu filtr jest konfigurowany do wybierania węzłów zawierających tekst "-west".Węzły źródłowe i target również zostaną uwzględnione w wynikowej mapie. Na tym samym zrzucie ekranu użytkownik może wybrać jedną z wartości znalezionych na mapie lub utworzyć opcję, która nie jest dokładnie zgodna z wartością znalezioną na mapie.

A screenshot with the filter configured to select nodes that contain the text west.

Filtry Połączenie or (krawędzi)

Połączenie or filtry badają właściwości łącznika, aby dopasować wartość. Połączenie ory niezgodne z filtrem są usuwane z mapy. Dzieje się tak samo w przypadku węzłów bez pozostawionych łączników.

filtry Połączenie or wymagają trzech parametrów:

  • Opcja "Filtruj łączniki według" umożliwia użytkownikowi wybranie właściwości łącznika do użycia:

    • "Łącznik błędów (wyróżniony czerwony)" wybiera łączniki na podstawie ich koloru (czerwony lub nie). Nie można wprowadzić wartości dla tego typu filtru, tylko operator "==" lub "!=" oznaczający "łącznik z błędami" i "łącznik bez błędów".

    • "Współczynnik błędów" używa średniego współczynnika błędów dla łącznika--- liczba wywołań zakończonych niepowodzeniem podzielona przez liczbę wszystkich wywołań---wyrażeniu jako procent. Na przykład wartość "1" odnosi się do 1% nieudanych wywołań.

    • "Średni czas trwania wywołania (****ms)" używa tylko tego: średni czas trwania wszystkich wywołań reprezentowanych przez łącznik w milisekundach. Na przykład wartość "1000" odnosi się do wywołań średnio 1 sekundy.

    • Funkcja "Liczba wywołań" używa całkowitej liczby wywołań reprezentowanych przez łącznik.

  • "Operator" to porównanie, które zostanie zastosowane między właściwością łącznika a wartością wprowadzoną poniżej. Opcje zmieniają się: "Łącznik błędu" ma wartości równe/nie równa się opcje; wszystkie inne mają większe/mniejsze niż.

  • Wartość "Value" to wartość porównania filtru. Istnieje tylko jedna opcja filtru "Łącznik błędów": "Błędy". Inne typy filtrów wymagają wartości liczbowej i oferują listę rozwijaną z wstępnie wypełnionymi wpisami odpowiednimi dla mapy.

    • Niektóre z tych wpisów mają oznaczenie "(Pxx)", które są poziomami percentylu. Na przykład filtr "Średni czas trwania wywołania" może mieć wartość "200 (P90)", która wskazuje 90% wszystkich łączników (niezależnie od liczby reprezentowanych wywołań) ma krótszy niż 200 ms czasu trwania wywołania.

    • Gdy określona liczba nie jest wyświetlana na liście rozwijanej, można ją wpisać i utworzyć, klikając pozycję "Utwórz opcję". Wpisanie "P" pokazuje wszystkie wartości percentylu z listy rozwijanej.

Przejrzyj sekcję

Sekcja Przegląd zawiera tekstowe i wizualne opisy tego, co zrobi filtr, co powinno być przydatne podczas uczenia się, jak działają filtry:

A screenshot of the Review section with node in focus.

A screenshot of the Review section depicting an average call duration greater than 42 milliseconds.

Używanie filtrów w mapie aplikacji

Filtrowanie interakcyjności

Po skonfigurowaniu filtru w oknie podręcznym "Dodaj filtr" wybierz pozycję "Zastosuj", aby utworzyć filtr. Można zastosować kilka filtrów i działają sekwencyjnie od lewej do prawej. Każdy filtr może usuwać kolejne węzły i łączniki, ale nie może dodać ich z powrotem do mapy.

Filtry są wyświetlane jako zaokrąglone przyciski nad mapą aplikacji:

A screenshot displaying the rounded filter buttons above the application map.

Kliknięcie filtru A screenshot of a rounded X button. spowoduje usunięcie tego filtru. Kliknięcie w innym miejscu przycisku umożliwia użytkownikowi edytowanie wartości filtru. Gdy użytkownik zmienia wartości w filtrze, nowe wartości są stosowane tak, aby mapa był podglądem zmiany. Kliknięcie przycisku Anuluj spowoduje przywrócenie filtru tak, jak wcześniej.

A screenshot displaying the Configure Connector Filter section with a Cancel button.

Ponowne włączanie filtrów

Filtry można używać ponownie na dwa sposoby:

  • Przycisk "Kopiuj link" na pasku narzędzi powyżej mapy koduje informacje filtru w skopiowany adres URL. Ten link można zapisać w zakładkach przeglądarki lub udostępnić innym osobom. Opcja "Kopiuj link" zachowuje wartość czasu trwania, ale nie bezwzględną, więc mapa wyświetlana w późniejszym czasie może różnić się od tej obserwowanej podczas tworzenia linku.

  • Przypięcie A screenshot displaying the dashboard pin button.pulpitu nawigacyjnego znajduje się obok paska tytułu okienka Mapa aplikacji. Ten przycisk przypina mapę do pulpitu nawigacyjnego wraz z zastosowanymi do niego filtrami. Ta akcja może być przydatna w przypadku filtrów, które są często interesujące. Na przykład użytkownik może przypiąć mapę z zastosowanym filtrem "Łącznik błędów", a w widoku pulpitu nawigacyjnego będą wyświetlane tylko węzły, które mają błędy w wywołaniach HTTP.

Filtrowanie scenariuszy użycia

Istnieje wiele kombinacji filtrów. Poniżej przedstawiono kilka sugestii, które mają zastosowanie do większości map i mogą być przydatne do przypinania na pulpicie nawigacyjnym:

  • Pokaż tylko błędy, które pojawiają się znacząco przy użyciu filtru "Łącznik błędów" wraz z "Widokiem inteligentnym":
    A screenshot displaying the Last 24 hours and Highlighted Errors filters.A screenshot displaying the Intelligent Overview toggle.

  • Ukryj łączniki o niskim natężeniu ruchu bez błędów, aby szybko skoncentrować się na problemach, które mają większy wpływ: A screenshot displaying the Last 24 hours, calls greater than 876, and highlighted errors filters.

  • Pokaż łączniki o wysokim natężeniu ruchu z wysokim średnim czasem trwania, aby skupić się na potencjalnych problemach z wydajnością: A screenshot displaying the Last 24 hours, calls greater than 3057, and average time greater than 467 filters.

  • Pokaż określoną część aplikacji rozproszonej (wymaga odpowiedniej konwencji nazewnictwa roleName): A screenshot displaying the Last 24 hours and Connected Contains West filters.

  • Ukryj typ zależności, który jest zbyt hałaśliwy: A screenshot displaying the Last 24 hours and Nodes Contains Storage Accounts filters.

  • Pokaż tylko łączniki, które mają wyższe współczynniki błędów niż określona wartość A screenshot displaying the Last 24 hours and Errors greater than 0.01 filters.


Widok inteligentny mapy aplikacji

W poniższych sekcjach omówiono widok inteligentny.

Podsumowanie widoku inteligentnego

Widok Inteligentny mapy aplikacji jest przeznaczony do pomocy w badaniach kondycji usługi. Stosuje uczenie maszynowe w celu szybkiego identyfikowania potencjalnych głównych przyczyn problemów przez filtrowanie szumu. Model uczenia maszynowego uczy się od historycznego zachowania mapy aplikacji w celu identyfikowania dominujących wzorców i anomalii, które wskazują 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.

Korzyści z wyświetlania inteligentnego

  • 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)

Włączanie widoku inteligentnego na mapie aplikacji

Włącz przełącznik Widok inteligentny. Opcjonalnie, aby zmienić czułość wykrywania, wybierz pozycję Niski, Średni lub Wysoki. Aby uzyskać więcej informacji, zobacz pytanie dotyczące rozwiązywania problemów dotyczące poufności.

Screenshot that shows the Application Map user interface with options to toggle Intelligent view and provide feedback.

Po włączeniu widoku inteligentnego wybierz jedną z wyróżnionych krawędzi, aby wyświetlić "szczegółowe informacje z możliwością działania". Szczegółowe informacje są wyświetlane w okienku po prawej stronie i wyjaśniają, dlaczego krawędź została wyróżniona.

Screenshot that shows the Application Map user interface section about actionable insights.

Aby rozpocząć rozwiązywanie problemów, wybierz pozycję Zbadaj błędy. W otwartym okienku Błędy sprawdź, czy wykryty problem jest główną przyczyną. Jeśli żadne krawędzie nie są czerwone, model uczenia maszynowego nie znalazł potencjalnych zdarzeń w zależnościach aplikacji.

Aby przekazać opinię, wybierz przycisk Opinie na mapie.

Jak widok inteligentny określa, gdzie wyróżniono czerwone krawędzie?

Widok inteligentny używa opatentowanego modelu uczenia maszynowego AIOps, aby podkreślić, co jest naprawdę ważne na mapie aplikacji.

Oto kilka przykładowych zagadnień:

  • Współczynniki błędów
  • Liczba żądań
  • Czas trwania
  • Anomalie w danych
  • Typy zależności

Dla porównania normalny widok korzysta tylko z nieprzetworzonego współczynnika awarii.

Jak działa czułość widoku inteligentnego?

Czułość inteligentnego widoku dostosowuje prawdopodobieństwo wykrycia problemu z usługą.

Dopasuj czułość, aby osiągnąć żądany poziom ufności w wyróżnionych krawędziach.

Ustawienie poufności Result
Maksimum Zostanie wyróżniona mniejsza liczba krawędzi.
Średni (domyślnie) Zostanie wyróżniona zrównoważona liczba krawędzi.
Minimum Więcej krawędzi zostanie wyróżnionych.

Ograniczenia widoku inteligentnego

Widok inteligentny ma pewne ograniczenia:

  • Ładowanie widoku inteligentnego w dużych aplikacjach rozproszonych może potrwać minutę.
  • Obsługiwane są przedziały czasowe do siedmiu dni.

Aby przekazać opinię, zobacz Opinie dotyczące portalu.


Rozwiązywanie problemów

Jeśli masz problemy z działaniem mapy aplikacji zgodnie z oczekiwaniami, spróbuj wykonać te kroki.

Ogólne

  1. Upewnij się, że używasz 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 Szczegółowe informacje: Languages, platforms, and integrations (Języki, platformy i integracje).

  2. Uaktualnij wszystkie składniki do najnowszej wersji zestawu SDK.

  3. Jeśli używasz usługi Azure Functions w języku C#, przeprowadź uaktualnienie do usługi Azure Functions w wersji 2.

  4. Upewnij się, że nazwa roli chmury jest poprawnie skonfigurowana.

  5. Jeśli brakuje zależności, upewnij się, że znajduje się ona na liście automatycznie wygenerowanych zależności. W przeciwnym razie możesz w dalszym ciągu śledzić ją ręcznie przy użyciu wywołania zależności śledzenia.

Zbyt wiele węzłów na mapie

Mapa aplikacji tworzy węzeł aplikacji dla każdej unikatowej nazwy roli chmury obecnej w telemetrii żądania. Węzeł zależności jest również tworzony dla każdej unikatowej kombinacji typu, celu i nazwy roli chmury.

Jeśli w telemetrii znajduje się więcej niż 10 000 węzłów, mapa aplikacji nie może pobrać wszystkich węzłów i łączy, więc mapa będzie niekompletna. Jeśli ten scenariusz wystąpi, podczas wyświetlania mapy zostanie wyświetlony komunikat ostrzegawczy.

Mapa aplikacji obsługuje tylko 1000 oddzielnych niezgrupowanych węzłów renderowanych jednocześnie. Mapa aplikacji zmniejsza złożoność wizualną przez grupowanie zależności, które mają 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, to grupowanie będzie niewystarczające, a mapa nie będzie 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.

  • Obiekt docelowy zależności powinien reprezentować nazwę logiczną zależności. W wielu przypadkach jest to odpowiednik nazwy serwera lub zasobu zależności. Jeśli na przykład istnieją zależności HTTP, jest ona ustawiona na nazwę hosta. Nie powinien zawierać unikatowych identyfikatorów ani parametrów, które zmieniają się z jednego żądania na inne.

  • Typ zależności powinien reprezentować typ logiczny zależności. Na przykład http, SQL lub Azure Blob są typowymi typami zależności. Nie powinien zawierać unikatowych identyfikatorów.

  • Cel nazwy roli chmury jest opisany w sekcji Ustawianie lub zastępowanie nazwy roli chmury.

Widok inteligentny

Typowe pytania dotyczące rozwiązywania problemów dotyczące widoku inteligentnego.

Dlaczego ta krawędź nie jest wyróżniona, nawet przy niskiej poufności?

Może się wydawać, że zależność kończy się niepowodzeniem, ale model nie wskazuje, że jest to potencjalne zdarzenie:

  • Jeśli ta zależność kończy się niepowodzeniem od jakiegoś czasu, model może uważać, że jest to zwykły stan, a nie wyróżnia krawędzi dla Ciebie. Koncentruje się na rozwiązywaniu problemów w RT.
  • Jeśli ta zależność ma minimalny wpływ na ogólną wydajność aplikacji, może to również sprawić, że model go zignoruje.
  • Jeśli żaden z powyższych elementów nie jest poprawny, użyj opcji Opinie i opisz swoje środowisko. Możesz pomóc nam ulepszyć przyszłe wersje modelu.

Dlaczego krawędź jest wyróżniona?

Jeśli krawędź zostanie wyróżniona, wyjaśnienie modelu powinno wskazywać najważniejsze funkcje, które sprawiły, że model dał tej zależności wysoki wynik prawdopodobieństwa. Zalecenie nie opiera się wyłącznie na awariach, ale na innych wskaźnikach, takich jak nieoczekiwane opóźnienie w dominujących przepływach.

Dlaczego nie jest ładowany widok inteligentny?

Jeśli widok inteligentny nie zostanie załadowany, ustaw skonfigurowany przedział czasu na sześć dni lub mniej.

Dlaczego ładowanie widoku inteligentnego trwa długo?

Unikaj wybierania aktualizacji składników mapy.

Włącz widok inteligentny tylko dla pojedynczego zasobu aplikacji Szczegółowe informacje.

Screenshot that shows the Update map components button in the Application Map user interface.

Opinie dotyczące portalu

Aby przekazać opinię, użyj opcji opinii.

Screenshot that shows the Feedback option.

Następne kroki

  • Aby dowiedzieć się więcej o sposobie działania korelacji w usłudze Application Szczegółowe informacje, zobacz Korelacja telemetrii.
  • Kompleksowe środowisko diagnostyczne transakcji koreluje dane telemetryczne po stronie serwera ze wszystkich składników aplikacji Szczegółowe informacje monitorowanych w jednym widoku.
  • Aby uzyskać zaawansowane scenariusze korelacji w programie ASP.NET Core i ASP.NET, zobacz Śledzenie operacji niestandardowych.