Rozwiązywanie problemów z profilerem Szczegółowe informacje aplikacji

W tym artykule przedstawiono kroki rozwiązywania problemów i informacje umożliwiające korzystanie z usługi Application Szczegółowe informacje Profiler.

Czy używasz odpowiedniego punktu końcowego profilera?

Obecnie jedynymi regionami, które wymagają modyfikacji punktów końcowych, są platforma Azure Government i platforma Microsoft Azure obsługiwana przez firmę 21Vianet.

Ustawienia aplikacji Chmura dla instytucji rządowych USA Chmura w Chinach
Application Szczegółowe informacje ProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
Aplikacja Szczegółowe informacje Endpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

Czy aplikacja działa w odpowiedniej wersji?

Profiler jest obsługiwany w programie .NET Framework nowszym niż 4.6.2.

Jeśli aplikacja internetowa jest aplikacją ASP.NET Core, musi być uruchomiona w najnowszym obsługiwanym środowisku uruchomieniowym ASP.NET Core.

Czy używasz odpowiedniego planu usługi platformy Azure?

Profiler nie jest obecnie obsługiwany w przypadku bezpłatnych ani udostępnionych planów usługi App Service. Uaktualnij do jednego z podstawowych planów profilera, aby rozpocząć pracę.

Szukasz danych profilera w odpowiednim przedziale czasu?

Jeśli dane, które próbujesz wyświetlić, są starsze niż dwa tygodnie, spróbuj ograniczyć filtr czasu i spróbować ponownie. Ślady są usuwane po siedmiu dniach.

Czy możesz uzyskać dostęp do bramy?

Sprawdź, czy zapora lub serwery proxy nie blokują dostępu do tej strony internetowej.

Czy widzisz przekroczenia limitu czasu lub czy musisz sprawdzić, czy profiler jest uruchomiony?

Dane profilowania są przekazywane tylko wtedy, gdy można je dołączyć do żądania, które wystąpiło podczas uruchamiania profilera. Profiler zbiera dane przez dwie minuty co godzinę. Profiler można również wyzwolić, uruchamiając sesję profilowania.

Profiler zapisuje komunikaty śledzenia i zdarzenia niestandardowe do zasobu aplikacji Szczegółowe informacje. Możesz użyć tych zdarzeń, aby zobaczyć, jak działa profiler.

Wyszukaj komunikaty śledzenia i zdarzenia niestandardowe wysyłane przez profilera do zasobu Szczegółowe informacje aplikacji.

  1. W zasobie Aplikacja Szczegółowe informacje wybierz pozycję Wyszukaj w górnym menu.

    Screenshot that shows selecting the Search button from the Application Insights resource.

  2. Użyj następującego ciągu wyszukiwania, aby znaleźć odpowiednie dane:

    stopprofiler OR startprofiler OR upload OR ServiceProfilerSample
    

    Screenshot that shows the search results from aforementioned search string.

    Powyższe wyniki wyszukiwania zawierają dwa przykłady wyszukiwań z dwóch zasobów sztucznej inteligencji:

    • Jeśli aplikacja nie odbiera żądań podczas uruchamiania profilera, komunikat wyjaśnia, że przekazywanie zostało anulowane z powodu braku działania.

    • Profiler uruchomił i wysłał zdarzenia niestandardowe, gdy wykrył żądania, które wystąpiły podczas uruchamiania profilera. ServiceProfilerSample Jeśli jest wyświetlane zdarzenie niestandardowe, oznacza to, że profil został przechwycony i jest dostępny w okienku Aplikacja Szczegółowe informacje Wydajność.

    Jeśli nie są wyświetlane żadne rekordy, profiler nie jest uruchomiony lub upłynął limit czasu. Upewnij się, że włączono funkcję Profiler w usłudze platformy Azure.

Podwójne zliczanie w wątkach równoległych

Gdy co najmniej dwa wątki równoległe są skojarzone z żądaniem, łączna metryka czasu w przeglądarce stosu może być większa niż czas trwania żądania. W takim przypadku łączny czas wątku jest większy niż rzeczywisty czas, który upłynął.

Na przykład jeden wątek może czekać na zakończenie drugiego. Widz próbuje wykryć tę sytuację i pomija nieinteresujące oczekiwanie. W ten sposób błędy są błędne po stronie wyświetlania zbyt dużej ilości informacji, a nie pomijania informacji o krytycznym znaczeniu.

Po wyświetleniu równoległych wątków w śladach określ, które wątki oczekują, aby można było zidentyfikować ścieżkę gorącą dla żądania. Zazwyczaj wątek, który szybko przechodzi w stan oczekiwania czeka na inne wątki. Skoncentruj się na innych wątkach i ignoruj czas w wątkach oczekujących.

Rozwiązywanie problemów z profilerem w określonej usłudze platformy Azure

W poniższych sekcjach opisano kroki rozwiązywania problemów dotyczące korzystania z profilera w usłudze aplikacja systemu Azure lub w usługach Azure Cloud Services.

Azure App Service

Aby profiler działał prawidłowo, upewnij się, że:

  • Aplikacja internetowa ma włączoną Szczegółowe informacje aplikacji z odpowiednimi ustawieniami.

  • Uruchomiono polecenie WebJob Application Szczegółowe informacje Profiler3. Aby sprawdzić zadania webjob:

    1. Przejdź do kudu. W witrynie Azure Portal:

      1. W wystąpieniu usługi App Service wybierz pozycję Narzędzia zaawansowane w okienku po lewej stronie.
      2. Wybierz pozycję Przejdź.
    2. W górnym menu wybierz pozycję Narzędzia Pulpit nawigacyjny zadań>WebJob. Zostanie otwarte okienko Zadania WebJob .

      Jeśli aplikacja Szczegółowe informacje Profiler3 nie jest wyświetlana, uruchom ponownie aplikację usługi App Service.

      Screenshot that shows the WebJobs pane, which displays the name, status, and last runtime of jobs.

    3. Aby wyświetlić szczegóły zadania WebJob, w tym dziennik, wybierz link Application Szczegółowe informacje Profiler3. Zostanie otwarte okienko Ciągłe szczegóły zadania WebJob.

      Screenshot that shows the Continuous WebJob Details pane.

Jeśli profiler nadal nie działa, pobierz dziennik i prześlij bilet pomoc techniczna platformy Azure.

Sprawdź stronę stanu rozszerzenia lokacji usług diagnostycznych

Jeśli profiler został włączony za pośrednictwem okienka Szczegółowe informacje aplikacji w portalu, został włączony przez rozszerzenie lokacji usług diagnostycznych. Możesz sprawdzić stronę stanu tego rozszerzenia, przechodząc do strony https://{site-name}.scm.azurewebsites.net/DiagnosticServices.

Uwaga

Domena linku strony stanu różni się w zależności od chmury. Ta domena jest taka sama jak witryna zarządzania Kudu dla usługi App Service.

Na stronie stanu przedstawiono stan instalacji agentów profilera i debugera migawek. Jeśli wystąpił nieoczekiwany błąd, pojawia się wraz z instrukcjami dotyczącymi jego naprawiania.

Aby uzyskać podstawowy adres URL tej strony stanu, możesz użyć witryny zarządzania Kudu dla usługi App Service:

  1. Otwórz aplikację usługi App Service w witrynie Azure Portal.
  2. Wybierz pozycję Narzędzia zaawansowane.
  3. Wybierz pozycję Przejdź.
  4. W lokacji zarządzania Kudu:
    1. Dołącz element /DiagnosticServices do adresu URL.
    2. Wybierz Enter.

Kończy się na przykład https://<kudu-url>/DiagnosticServices.

Strona stanu jest podobna do poniższego przykładu.

Screenshot that shows the Diagnostic Services status page.

Uwaga

Instalacja bez kodu aplikacji Szczegółowe informacje Profiler jest zgodna z zasadami obsługi platformy .NET Core. Aby uzyskać więcej informacji na temat obsługiwanych środowisk uruchomieniowych, zobacz Zasady pomocy technicznej platformy .NET Core.

Instalacja ręczna

Podczas konfigurowania profilera aktualizacje są wprowadzane do ustawień aplikacji internetowej. W razie potrzeby można ręcznie zastosować aktualizacje.

Zbyt wiele aktywnych sesji profilowania

Profiler można włączyć w maksymalnie czterech aplikacjach internetowych działających w tym samym planie usługi. Jeśli masz więcej niż cztery, profiler może zgłosić następujący błąd:

Microsoft.ServiceProfiler.Exceptions.TooManyETWSessionException

Aby rozwiązać ten problem, przenieś niektóre aplikacje internetowe do innego planu usługi.

Błąd wdrożenia: Katalog nie jest pusty "D:\home\site\wwwroot\App_Data\jobs"

Jeśli ponownie wdrażasz aplikację internetową w zasobie usługi Web Apps z włączonym profilerem, może zostać wyświetlony następujący komunikat:

"Katalog nie jest pusty 'D:\home\site\wwwroot\App_Data\jobs'"

Ten błąd występuje, jeśli uruchamiasz narzędzie Web Deploy ze skryptów lub z usługi Azure Pipelines. Rozwiąż ten problem, dodając następujące parametry wdrożenia do zadania Web Deploy:

-skip:Directory='.*\\App_Data\\jobs\\continuous\\ApplicationInsightsProfiler.*' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs\\continuous$' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs$'  -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data$'

Te parametry usuwają folder używany przez program Application Szczegółowe informacje Profiler i odblokuj proces ponownego wdrażania. Nie mają one wpływu na aktualnie uruchomione wystąpienie profilera.

Czy program Application Szczegółowe informacje Profiler jest uruchomiony?

Profiler działa jako ciągłe zadanie WebJob w aplikacji internetowej. Zasób aplikacji internetowej można otworzyć w witrynie Azure Portal. W okienku Zadania WebJob sprawdź stan Aplikacji Szczegółowe informacje Profiler. Jeśli nie jest uruchomiony, otwórz pozycję Dzienniki , aby uzyskać więcej informacji.

Maszyny wirtualne i usługi Azure Cloud Services

Aby sprawdzić, czy profiler jest poprawnie skonfigurowany przez Diagnostyka Azure:

  1. Sprawdź, czy zawartość wdrożonej konfiguracji Diagnostyka Azure jest oczekiwana.

  2. Upewnij się, że Diagnostyka Azure przekazuje prawidłowy klucz iKey w wierszu polecenia profilera.

  3. Sprawdź plik dziennika profilera, aby sprawdzić, czy profiler został uruchomiony, ale zwrócił błąd.

Aby sprawdzić ustawienia, które zostały użyte do skonfigurowania Diagnostyka Azure:

  1. Zaloguj się do maszyny wirtualnej.

  2. Otwórz plik dziennika w tej lokalizacji. Wersja wtyczki może być nowsza na maszynie.

    W przypadku maszyn wirtualnych:

    c:\WindowsAzure\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
    

    W przypadku usług Azure Cloud Services:

    c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
    
  3. W pliku wyszukaj ciągWadCfg, aby znaleźć ustawienia przekazane do maszyny wirtualnej w celu skonfigurowania Diagnostyka Azure.

  4. Sprawdź, czy klucz iKey używany przez ujście profilera jest poprawny.

  5. Sprawdź wiersz polecenia używany do uruchomienia profilera. Argumenty używane do uruchamiania profilera znajdują się w następującym pliku (dysk może być c: lub d: katalog może być ukryty):

    W przypadku maszyn wirtualnych:

    C:\ProgramData\ApplicationInsightsProfiler\config.json
    

    W przypadku usług Azure Cloud Services:

    D:\ProgramData\ApplicationInsightsProfiler\config.json
    
  6. Upewnij się, że klucz iKey w wierszu polecenia profilera jest poprawny.

  7. Korzystając ze ścieżki znalezionej w poprzednim pliku config.json , sprawdź plik dziennika profilera o nazwie BootstrapN.log. Są w nim pokazywane następujące informacje:

    • Informacje debugowania wskazujące ustawienia używane przez profilera.
    • Komunikaty o stanie i błędach z profilera.

    Plik można znaleźć:

    W przypadku maszyn wirtualnych:

    C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
    

    W przypadku usług Azure Cloud Services:

    C:\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
    
  8. Jeśli profiler jest uruchomiony podczas odbierania żądań przez aplikację, zostanie wyświetlony następujący komunikat: "Działanie wykryte z klucza iKey".

  9. Po przekazaniu śladu zostanie wyświetlony następujący komunikat: "Rozpocznij przekazywanie śledzenia".

Edytowanie reguł serwera proxy sieci lub zapory

Jeśli aplikacja łączy się z Internetem za pośrednictwem serwera proxy lub zapory, może być konieczne zaktualizowanie reguł w celu komunikowania się z profilerem.

Adresy IP używane przez usługę Application Szczegółowe informacje Profiler znajdują się w tagu usługi Azure Monitor. Aby uzyskać więcej informacji, zobacz dokumentację tagów usługi.

Pomoc techniczna

Jeśli nadal potrzebujesz pomocy, prześlij bilet pomocy technicznej w witrynie Azure Portal. Dołącz identyfikator korelacji z komunikatu o błędzie.