Rozwiązywanie problemów z brakami danych: usługa Application Insights dla platformy .NET i platformy .NET Core
Ten artykuł zawiera informacje dotyczące rozwiązywania problemów, które ułatwiają rozwiązywanie problemów, gdy brakuje danych lub nie są wyświetlane podczas korzystania z usługi Application Insights dla platformy .NET i platformy .NET Core.
Uwaga 16.
Ten artykuł został niedawno zaktualizowany, aby użyć terminu Dzienniki usługi Azure Monitor zamiast usługi Log Analytics. Dane dzienników są nadal przechowywane w obszarze roboczym usługi Log Analytics i nadal są zbierane i analizowane przez tę samą usługę Log Analytics. Aktualizujemy terminologię, aby lepiej odzwierciedlać rolę dzienników w usłudze Azure Monitor. Aby uzyskać więcej informacji, zobacz Zmiany terminologii usługi Azure Monitor.
Brakuje niektórych danych telemetrycznych
Przykładowe scenariusze:
W usłudze Application Insights widzę tylko ułamek zdarzeń generowanych przez moją aplikację
- Jeśli stale widzisz ten sam ułamek, prawdopodobnie wynika to z próbkowania adaptacyjnego. Aby potwierdzić tę przyczynę, wybierz pozycję Wyszukaj przegląd>i przyjrzyj się wystąpieniu żądania lub innego zdarzenia. Aby wyświetlić pełne szczegóły właściwości, wybierz wielokropek (...) w dolnej części sekcji Właściwości . Jeśli liczba żądań jest większa niż 1, próbkowanie jest wykonywane.
- Istnieje możliwość osiągnięcia limitu szybkości danych dla planu cenowego. Te limity są stosowane na minutę.
Losowo doświadczam utraty danych
- Sprawdź, czy występuje utrata danych w kanale telemetrii.
- Sprawdź znane problemy w kanale telemetrii repozytorium GitHub.
Uwaga 16.
Jeśli brakuje danych, możliwe, że dane są odrzucane przez zaplecze. Taka sytuacja może wystąpić z różnych powodów, w tym następujące przyczyny:
- Brak wymaganych pól.
- Co najmniej jedno pole przekracza limity rozmiaru.
- Zestawy SDK kończą się niepowodzeniem w trybie dyskretnym zamiast zgłaszać wyjątki.
Aby potwierdzić pomyślne przekazywanie danych telemetrycznych, możesz użyć narzędzia takiego jak Fiddler lub inne narzędzie, które będzie sprawdzać ruch HTTP. Zaplecze zwróci kod stanu HTTP "200 OK", aby wskazać pomyślne przekazanie. Możesz też użyć dzienników zestawu SDK, aby sprawdzić, czy zaplecze odrzuca dane.
Występuje utrata danych w aplikacji konsolowej lub w aplikacji internetowej, gdy aplikacja ma się zatrzymać
- Kanał zestawu SDK przechowuje dane telemetryczne w buforze i wysyła je w partiach. Jeśli aplikacja jest zamykana, może być konieczne jawne wywołanie funkcji Flush(). Zachowanie
Flush()
zależy od rzeczywistego używanego kanału . - W aplikacjach konsoli .NET Core/.NET Framework jawne wywoływanie
Flush()
a następnie uśpienie jest wymagane w aplikacjach konsoli.
Liczba żądań zebranych przez zestaw SDK usługi Application Insights nie jest zgodna z liczbą dzienników usług IIS dla mojej aplikacji
Liczba dzienników usług Internet Information Services (IIS) wszystkich żądań, które docierają do usług IIS, i może z założenia różnić się od łącznej liczby żądań, które docierają do aplikacji. Ze względu na to zachowanie nie ma gwarancji, że liczba żądań zebranych przez zestawy SDK będzie zgodna z całkowitą liczbą dzienników usług IIS.
Brak danych z mojego serwera
Przykładowe scenariusze:
Aplikacja została zainstalowana na moim serwerze internetowym, a teraz nie widzę z niej żadnych danych telemetrycznych. To działało OK na mojej maszynie dewelopera
Przyczyną jest najprawdopodobniej problem z zaporą. Ustaw wyjątki zapory dla usługi Application Insights w celu wysyłania danych.
Na serwerze internetowym zainstalowano agenta usługi Azure Monitor Application Insights, aby monitorować istniejące aplikacje. Nie widzę żadnych wyników
Zobacz Rozwiązywanie problemów z monitorem stanu.
Sprawdzanie ustawień klienta PROTOKOŁU TLS/SSL (ASP.NET)
Jeśli masz aplikację ASP.NET hostowaną w usłudze aplikacja systemu Azure lub w usługach IIS na maszynie wirtualnej, aplikacja może nie nawiązać połączenia z usługą Snapshot Debugger z powodu braku protokołu zabezpieczeń SSL.
Punkt końcowy debugera migawek wymaga protokołu TLS w wersji 1.2. Zestaw protokołów zabezpieczeń SSL jest jednym z dziwactwa włączanych przez <httpRuntime>
wartość atrybutu elementu targetFramework
w <system.web>
sekcji pliku web.config . Jeśli platforma docelowa ma wartość 4.5.2 lub niższą, protokół TLS 1.2 nie jest domyślnie dołączany.
Uwaga 16.
<httpRuntime>
Wartość atrybutu elementu jest niezależna targetFramework
od platformy docelowej używanej podczas kompilowania aplikacji.
Aby sprawdzić ustawienie, otwórz plik web.config i znajdź sekcję <system.web>
. Upewnij się, że dla <httpRuntime>
parametru targetFramework
jest ustawiona wartość 4.6 lub nowsza.
<system.web>
...
<httpRuntime targetFramework="4.7.2" />
...
</system.web>
Uwaga 16.
Modyfikowanie <httpRuntime>
wartości elementu targetFramework
zmienia dziwaczne środowisko uruchomieniowe zastosowane do aplikacji i może spowodować inne subtelne zmiany zachowania. Pamiętaj, aby dokładnie przetestować aplikację po wprowadzeniu tej zmiany. Aby zapoznać się z pełną listą zmian zgodności, zobacz Retargeting changes (Zmiany w usłudze Retargeting).
Jeśli platforma docelowa ma wartość 4.7 lub nowszą, system Windows określa dostępne protokoły. W usłudze aplikacja systemu Azure dostępny jest protokół TLS 1.2. Jeśli jednak używasz własnej maszyny wirtualnej, może być konieczne włączenie protokołu TLS 1.2 w systemie operacyjnym.
FileNotFoundException: "Nie można załadować pliku lub zestawu Microsoft.AspNet TelemetryCorrelation"
Aby uzyskać więcej informacji na temat tego błędu, zobacz Problem z usługą GitHub 1610.
Podczas uaktualniania z zestawów SDK usługi Application Insights starszych niż wersja 2.4 upewnij się, że następujące zmiany zostały zastosowane do plików web.config i ApplicationInsights.config :
W pliku web.config powinny istnieć dwa moduły HTTP zamiast jednego. Kolejność jest ważna w niektórych scenariuszach:
<system.webServer> <modules> <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" /> <add name="ApplicationInsightsHttpModule" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" /> </modules> </system.webServer>
Oprócz pliku ApplicationInsights.config
RequestTrackingTelemetryModule
należy mieć następujący moduł telemetrii:<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule, Microsoft.AI.Web"/> </TelemetryModules>
Niepowodzenie poprawnego uaktualnienia może prowadzić do niespodziewanych wyjątków lub nie są zbierane dane telemetryczne.
Brak opcji „Dodaj usługę Application Insights” w programie Visual Studio
Przykładowy scenariusz:
Po kliknięciu prawym przyciskiem myszy istniejącego projektu w Eksplorator rozwiązań nie widzę żadnych opcji usługi Application Insights
- Narzędzia nie obsługują wszystkich typów projektów platformy .NET. Obsługiwane są projekty internetowe i Windows Communication Foundation (WCF). W przypadku innych typów projektów, takich jak aplikacje klasyczne lub usługi, nadal można dodać zestaw SDK usługi Application Insights do projektu ręcznie.
- Upewnij się, że masz program Visual Studio 2013 Update 3 lub nowszy. Jest ona wstępnie zainstalowana z narzędziami do analizy deweloperów, które udostępniają zestaw SDK usługi Application Insights.
- Wybierz pozycję Rozszerzenia i aktualizacje narzędzi>. Następnie sprawdź, czy narzędzia Developer Analytics Tools są zainstalowane i włączone. Jeśli jest zainstalowana i włączona, wybierz pozycję Aktualizacje , aby sprawdzić, czy jest dostępna aktualizacja.
- Otwórz okno dialogowe Nowy projekt i wybierz pozycję ASP.NET aplikacja internetowa. Jeśli zostanie wyświetlona opcja Application Insights , zostaną zainstalowane narzędzia. Jeśli nie, odinstaluj i ponownie zainstaluj narzędzia analizy deweloperów.
Dodawanie usługi Application Insights nie powiodło się
Przykładowy scenariusz:
Podczas próby dodania usługi Application Insights do istniejącego projektu jest wyświetlany komunikat o błędzie
Prawdopodobne przyczyny:
- Komunikacja z portalem usługi Application Insights nie powiodła się.
- Wystąpił problem z kontem platformy Azure.
- Masz dostęp do odczytu tylko do subskrypcji lub grupy, w której próbowano utworzyć nowy zasób.
Naprawa:
- Sprawdź, czy podano poświadczenia logowania dla poprawnego konta platformy Azure.
- W przeglądarce sprawdź, czy masz dostęp do witryny Azure Portal. Otwórz pozycję Ustawienia i sprawdź, czy istnieją jakiekolwiek ograniczenia.
- Dodaj usługę Application Insights do istniejącego projektu. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz pozycję Dodaj usługę Application Insights.
Brak pakietów NuGet na moim serwerze kompilacji
Przykładowy scenariusz:
Wszystko kompiluje się ok podczas debugowania na maszynie dewelopera, ale otrzymuję błąd NuGet na serwerze kompilacji
Zobacz Przywracanie pakietów NuGet i automatyczne przywracanie pakietów.
Brak polecenia menu umożliwiającego otwarcie usługi Application Insights z poziomu programu Visual Studio
Przykładowy scenariusz:
Po kliknięciu prawym przyciskiem myszy Eksplorator rozwiązań projektu nie widzę żadnych poleceń usługi Application Insights lub nie widzę polecenia Open Application Insights
Prawdopodobne przyczyny:
- Zasób usługi Application Insights został utworzony ręcznie.
- Projekt jest typu, który nie obsługuje narzędzi usługi Application Insights.
- Narzędzia do analizy deweloperów są wyłączone w twoim wystąpieniu programu Visual Studio.
- Wersja programu Visual Studio jest starsza niż Visual Studio 2013 Update 3.
Naprawa:
- Upewnij się, że wersja programu Visual Studio to Visual Studio 2013 Update 3 lub nowsza.
- Wybierz pozycję Rozszerzenia i aktualizacje narzędzi>. Upewnij się, że narzędzia Developer Analytics Tools są zainstalowane i włączone. Jeśli jest zainstalowana i włączona, wybierz pozycję Aktualizacje , aby sprawdzić, czy jest dostępna aktualizacja.
- Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań. Jeśli widzisz polecenie Application Insights>Configure Application Insights( Konfigurowanie usługi Application Insights), użyj go do połączenia projektu z zasobem w usłudze Application Insights.
W przeciwnym razie typ projektu nie jest bezpośrednio obsługiwany przez narzędzia analizy deweloperów. Aby wyświetlić dane telemetryczne, zaloguj się do witryny Azure Portal, wyszukaj i wybierz pozycję Application Insights, a następnie wybierz aplikację.
„Odmowa dostępu” podczas otwierania usługi Application Insights z poziomu programu Visual Studio
Przykładowy scenariusz:
Polecenie menu "Otwórz usługę Application Insights" powoduje przejście do witryny Azure Portal, ale otrzymuję błąd "Odmowa dostępu"
Logowanie firmy Microsoft, które zostało ostatnio użyte w domyślnej przeglądarce, nie ma dostępu do zasobu utworzonego podczas dodawania usługi Application Insights do tej aplikacji. Istnieją dwie prawdopodobne przyczyny:
Przyczyna | Rozwiązanie |
---|---|
Masz więcej niż jedno konto Microsoft — być może służbowe i osobiste konto Microsoft. Jeśli tak jest, logowanie, które zostało ostatnio użyte w domyślnej przeglądarce, dotyczyło innego konta niż konto, które ma dostęp do dodawania usługi Application Insights do projektu. | Wybierz swoją nazwę w prawym górnym rogu okna przeglądarki i wyloguj się. Następnie zaloguj się przy użyciu konta z dostępem. Wyszukaj i wybierz pozycję Application Insights , a następnie wybierz aplikację. |
Inna osoba dodała usługę Application Insights do projektu i zapomniała udzielić Ci dostępu do grupy zasobów, w której została utworzona. | Jeśli używali konta organizacyjnego, mogą dodać Cię do zespołu. Mogą też udzielić ci indywidualnego dostępu do grupy zasobów. |
„Nie znaleziono zasobu” podczas otwierania usługi Application Insights z poziomu programu Visual Studio
Przykładowy scenariusz:
Polecenie menu "Otwórz usługę Application Insights" powoduje przejście do witryny Azure Portal, ale otrzymuję błąd "Nie znaleziono zasobu"
Istnieją dwie prawdopodobne przyczyny:
- Zasób usługi Application Insights dla aplikacji został usunięty.
- Ktoś ustawił lub zmienił parametry połączenia w pliku ApplicationInsights.config bez aktualizowania pliku projektu.
Parametry połączenia w pliku ApplicationInsights.config kontroluje, gdzie jest wysyłana telemetria. Wiersz w pliku projektu kontroluje, który zasób jest otwierany podczas korzystania z polecenia w programie Visual Studio.
Zastosuj jedną z następujących poprawek:
- W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz pozycję Application Insights Configure Application Insights (Skonfiguruj usługę Application Insights).> W oknie dialogowym możesz wybrać opcję wysyłania danych telemetrycznych do istniejącego zasobu lub utworzyć nowy.
- Otwórz zasób bezpośrednio. Zaloguj się do witryny Azure Portal, wyszukaj i wybierz pozycję Application Insights, a następnie wybierz aplikację.
Gdzie mogę znaleźć dane telemetryczne?
Przykładowy scenariusz:
Zalogowałem się do witryny Azure Portal i przeglądam pulpit nawigacyjny strony głównej platformy Azure. Gdzie więc mogę znaleźć dane usługi Application Insights?
- Wyszukaj i wybierz pozycję Application Insights, a następnie wybierz aplikację. Jeśli nie masz żadnych projektów, musisz dodać lub skonfigurować usługę Application Insights w projekcie internetowym. Możesz przeglądać wykresy podsumowania, które wydają się widzieć więcej szczegółów.
- W programie Visual Studio podczas debugowania aplikacji wybierz przycisk Application Insights .
Brak danych serwera (ani brak danych)
Przykładowy scenariusz:
Uruchomiono moją aplikację, a następnie otwarto usługę Application Insights na platformie Microsoft Azure, ale wszystkie wykresy pokazują "Dowiedz się, jak zbierać", "Nieskonfigurowane" lub tylko widok strony i dane użytkownika, ale nie ma danych serwera
Uruchom aplikację w trybie debugowania w programie Visual Studio (F5). Użyj aplikacji, aby wygenerować dane telemetryczne. Sprawdź, czy w oknie danych wyjściowych programu Visual Studio są rejestrowane zdarzenia.
W portalu usługi Application Insights wybierz pozycję Wyszukiwanie omówienia>. Dane zwykle pojawiają się tutaj najpierw.
Wybierz Odśwież. Okienko odświeża się okresowo, ale można to zrobić również ręcznie. Interwał odświeżania jest dłuższy dla większych zakresów czasu.
Sprawdź, czy parametry połączenia są zgodne. W okienku głównym aplikacji w portalu usługi Application Insights na liście rozwijanej Podstawy przyjrzyj się parametrom połączenia. Następnie w projekcie w programie Visual Studio otwórz plik ApplicationInsights.config i znajdź
<ConnectionString>
element. Sprawdź, czy dwa ciągi są równe. Jeśli ciągi nie są zgodne, wykonaj jedną z następujących akcji:Środowisko Akcja Witryna Azure Portal Wyszukaj i wybierz pozycję Application Insights , a następnie wyszukaj zasób aplikacji z odpowiednim ciągiem. Visual Studio W programie Visual Studio Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz pozycję Konfiguracja usługi Application Insights>. Zresetuj aplikację, aby wysyłać dane telemetryczne do odpowiedniego zasobu. Jeśli nie możesz znaleźć pasujących ciągów, upewnij się, że używasz tych samych poświadczeń logowania w programie Visual Studio, których używasz do logowania się w portalu.
W witrynie Azure Portal wyszukaj i wybierz pozycję Service Health. Jeśli mapa ma pewne wskazania alertu, poczekaj na powrót do kondycji. Następnie zamknij i otwórz ponownie okienko aplikacji usługi Application Insights.
Czy zapisano jakikolwiek kod zestawu SDK po stronie serwera, który może zmienić parametry połączenia w wystąpieniach lub w
TelemetryClient
TelemetryContext
systemie ? Czy też zapisano konfigurację filtru lub próbkowania, która może być zbyt duża?Jeśli edytowano plik ApplicationInsights.config, dokładnie sprawdź konfigurację elementów <TelemetryInitializers> i <TelemetryProcessors.> Niepoprawnie nazwany typ lub parametr może spowodować, że zestaw SDK nie wysyła żadnych danych.
Brak danych w widokach stron, przeglądarkach i użyciu
Przykładowy scenariusz:
Widzę dane w czasie odpowiedzi serwera i wykresy żądań serwera, ale brak danych w czasie ładowania strony lub w okienkach Przeglądarka lub Użycie
Dane pochodzą ze skryptów na stronach internetowych.
- W przypadku dodania usługi Application Insights do istniejącego projektu internetowego należy ręcznie dodać skrypty.
- Upewnij się, że program Internet Explorer nie wyświetla witryny w trybie zgodności.
- Użyj funkcji debugowania przeglądarki (F12 w niektórych przeglądarkach, a następnie wybierz pozycję Sieć), aby sprawdzić, czy dane są wysyłane do
dc.services.visualstudio.com
programu .
Brak danych zależności ani wyjątków
Zobacz telemetrię zależności i dane telemetryczne wyjątków.
Brak danych wydajności
Dane wydajności, takie jak procesor CPU i szybkość we/wy, są dostępne dla następujących środowisk w obszarze Serwery ustawień>:
- Usługi internetowe Java
- Aplikacje klasyczne systemu Windows
- Aplikacje internetowe i usługi USŁUG IIS (jeśli instalujesz agenta usługi Application Insights)
- Azure Cloud Services
Brak danych (serwer) od czasu opublikowania aplikacji na serwerze
- Sprawdź, czy skopiowano wszystkie biblioteki
Microsoft.ApplicationInsights
DLL na serwer wraz z elementemMicrosoft.Diagnostics.Instrumentation.Extensions.Intercept.dll
. - W zaporze może być konieczne otwarcie niektórych portów TCP.
- Jeśli musisz użyć serwera proxy do wysyłania z sieci firmowej, ustaw element defaultProxy> w pliku web.config.<
Wpływ na wydajność po włączeniu usługi Application Insights
Włączenie zestawu SDK usługi Application Insights w aplikacji może czasami prowadzić do problemów z wydajnością, takich jak wysokie użycie procesora CPU, przecieki pamięci, przecieki wątków lub wyczerpanie portów TCP. Te problemy często pochodzą z przecieków Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration
obiektów aplikacji. Każde ujawnione wystąpienie tworzy dwa dodatkowe wątki, co prowadzi do ciągłego zwiększania liczby wątków procesu w czasie. Jeśli obserwujesz rosnącą liczbę wątków, kluczowe jest sprawdzenie wycieków obiektów TelemetryConfiguration .
Typowe przyczyny przecieków telemetriiKonfiguracja
Istnieją dwie podstawowe przyczyny wycieku TelemetryConfiguration
obiektów:
Jawne tworzenie w kodzie: jeśli tworzysz
TelemetryConfiguration
obiekty w kodzie, upewnij się, że nie zostały przypadkowo utworzone dla każdego żądania internetowego. Zamiast tego użyj udostępnionego wystąpienia globalnego. W przypadku aplikacji .NET Framework uzyskaj dostęp do wystąpienia globalnego za pomocą poleceniaTelemetryConfiguration.Active
. W przypadku aplikacji platformy .NET Core użyj poleceniaTelemetryConfiguration.CreateDefault()
, aby uzyskać konfigurację domyślną.Nieprawidłowe użycie dostawcy usług: w aplikacjach .NET Core unikaj wywoływania
services.BuildServiceProvider()
w programieConfigureServices
. Metoda BuildServiceProvider tworzy nowego dostawcę usług, który inicjuje i odczytuje konfigurację, co powoduje utworzenie nowegoTelemetryConfiguration
obiektu za każdym razem. Taki wzorzec może prowadzić do przecieków i jest odradzany, jak wspomniano w ostrzeżeniu programu Visual Studio przed tą praktyką kodowania.
Widziałem dane, ale został zatrzymany
Czy przekroczono miesięczny limit przydziału punktów danych? Otwórz pozycję Limit przydziału ustawień>i cennik, aby dowiedzieć się. Jeśli tak, możesz uaktualnić plan lub zapłacić za większą pojemność. Zobacz schemat cen.
Nie widzę wszystkich oczekiwanych danych
Jeśli aplikacja wysyła znaczne dane i używasz zestawu SDK usługi Application Insights dla ASP.NET w wersji 2.0.0-beta3 lub nowszej, funkcja adaptacyjnego próbkowania może działać i wysyłać tylko procent telemetrii.
Można go wyłączyć, ale nie zalecamy tego. Próbkowanie zostało zaprojektowane tak, aby powiązane dane telemetryczne zostały prawidłowo przesłane do celów diagnostycznych.
Adres IP klienta to 0.0.0.0
5 lutego 2018 r. ogłosiliśmy, że usunęliśmy rejestrowanie adresu IP klienta. To zalecenie nie ma wpływu na geolokalizacja.
Uwaga 16.
Jeśli potrzebujesz pierwszych trzech oktetów adresu IP, możesz użyć inicjatora telemetrii, aby dodać atrybut niestandardowy. Ten problem nie ma wpływu na dane zebrane przed 5 lutego 2018 r.
Nieprawidłowe dane geograficzne w telemetrii użytkownika
Wymiary miasta i kraju/regionu pochodzą z adresów IP i nie zawsze są dokładne. Te adresy IP są najpierw przetwarzane dla lokalizacji, a następnie zmieniane na 0.0.0.0, aby były przechowywane.
Wyjątek „nie można odnaleźć metody” podczas uruchamiania w usługach Azure Cloud Services
Czy utworzono obsługę długoterminową platformy .NET (LTS)? Wcześniejsze wersje nie są automatycznie obsługiwane w rolach usług Azure Cloud Services. Zainstaluj środowisko LTS dla każdej roli przed uruchomieniem aplikacji.
Rozwiązywanie problemów z dziennikami
Postępuj zgodnie z tymi instrukcjami, aby przechwycić dzienniki rozwiązywania problemów ze strukturą.
.NET Framework
Uwaga 16.
Począwszy od wersji 2.14, pakiet Microsoft.AspNet.ApplicationInsights.HostingStartup nie jest już konieczny. Dzienniki zestawu SDK są teraz zbierane za pomocą pakietu Microsoft.ApplicationInsights . Żaden inny pakiet nie jest wymagany.
Zmodyfikuj plik ApplicationInsights.config , aby uwzględnić następujący kod XML:
<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.FileDiagnosticsTelemetryModule, Microsoft.ApplicationInsights"> <Severity>Verbose</Severity> <LogFileName>mylog.txt</LogFileName> <LogFilePath>C:\\SDKLOGS</LogFilePath> </Add> </TelemetryModules>
Aplikacja musi mieć uprawnienia do zapisu w skonfigurowanej lokalizacji.
Uruchom ponownie proces, aby zestaw SDK pobierał te nowe ustawienia.
Przywróć te zmiany po zakończeniu.
.NET Core
Zainstaluj pakiet NuGet zestawu SDK usługi Application Insights dla pakietu ASP.NET Core z pakietu NuGet. Zainstalowana wersja musi być zgodna z bieżącą zainstalowaną wersją programu
Microsoft.ApplicationInsights
.Najnowsza wersja programu
Microsoft.ApplicationInsights.AspNetCore
to 2.14.0 i odnosi się doMicrosoft.ApplicationInsights
wersji 2.14.0. Z tego powodu należy zainstalować wersję programuMicrosoft.ApplicationInsights.AspNetCore
2.14.0.Zmodyfikuj metodę
ConfigureServices
w klasie Startup.cs :services.AddSingleton<ITelemetryModule, FileDiagnosticsTelemetryModule>(); services.ConfigureTelemetryModule<FileDiagnosticsTelemetryModule>( (module, options) => { module.LogFilePath = "C:\\SDKLOGS"; module.LogFileName = "mylog.txt"; module.Severity = "Verbose"; } );
Aplikacja musi mieć uprawnienia do zapisu w skonfigurowanej lokalizacji.
Uruchom ponownie proces, aby zestaw SDK pobierał te nowe ustawienia.
Przywróć te zmiany po zakończeniu.
Zbieranie dzienników za pomocą narzędzia PerfView
PerfView to bezpłatne narzędzie, które pomaga wyizolować procesor CPU, pamięć i inne problemy.
Dziennik EventSource
zestawu SDK usługi Application Insights zawiera dzienniki samodzielnego rozwiązywania problemów, które można przechwycić za pomocą narzędzia PerfView.
Aby zebrać dzienniki, pobierz narzędzie PerfView i uruchom następujące polecenie:
PerfView.exe collect -MaxCollectSec:300 -NoGui /onlyProviders=*Microsoft-ApplicationInsights-Core,*Microsoft-ApplicationInsights-Data,*Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Microsoft-ApplicationInsights-Extensibility-HostingStartup,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Microsoft-ApplicationInsights-Extensibility-Web,*Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Microsoft-ApplicationInsights-WindowsServer-Core,*Microsoft-ApplicationInsights-LoggerProvider,*Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Microsoft-ApplicationInsights-AspNetCore,*Redfield-Microsoft-ApplicationInsights-Core,*Redfield-Microsoft-ApplicationInsights-Data,*Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Redfield-Microsoft-ApplicationInsights-Extensibility-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Redfield-Microsoft-ApplicationInsights-LoggerProvider,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Redfield-Microsoft-ApplicationInsights-AspNetCore
Te parametry można modyfikować zgodnie z potrzebami:
Parametr | Opis |
---|---|
MaxCollectSec |
Ustaw ten parametr, aby uniemożliwić działanie narzędzia PerfView na czas nieokreślony i wpływać na wydajność serwera. |
OnlyProviders |
Ustaw ten parametr tak, aby zbierał tylko dzienniki z zestawu SDK. Tę listę można dostosować na podstawie konkretnych badań. |
NoGui |
Ustaw ten parametr, aby zbierać dzienniki bez graficznego interfejsu użytkownika. |
Aby uzyskać więcej informacji, zobacz:
Zbieranie dzienników za pomocą polecenia dotnet-trace
Alternatywnie możesz użyć międzyplatformowego narzędzia .NET Core dotnet-trace do zbierania dzienników, które mogą zapewnić dalszą pomoc w rozwiązywaniu problemów. To narzędzie może być przydatne w środowiskach opartych na systemie Linux.
Po zainstalowaniu dotnet-trace
programu uruchom następujące polecenie dotnet-trace collect w powłoce bash:
dotnet-trace collect --process-id <PID> --providers Microsoft-ApplicationInsights-Core,Microsoft-ApplicationInsights-Data,Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Microsoft-ApplicationInsights-Extensibility-HostingStartup,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Microsoft-ApplicationInsights-Extensibility-Web,Microsoft-ApplicationInsights-Extensibility-WindowsServer,Microsoft-ApplicationInsights-WindowsServer-Core,Microsoft-ApplicationInsights-LoggerProvider,Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Microsoft-ApplicationInsights-AspNetCore,Redfield-Microsoft-ApplicationInsights-Core,Redfield-Microsoft-ApplicationInsights-Data,Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Redfield-Microsoft-ApplicationInsights-Extensibility-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,Redfield-Microsoft-ApplicationInsights-LoggerProvider,Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Redfield-Microsoft-ApplicationInsights-AspNetCore
Usuwanie usługi Application Insights
Aby usunąć usługę Application Insights w programie Visual Studio, wykonaj kroki opisane w artykule Usuwanie usługi Application Insights w programie Visual Studio.
Nadal nie działa
Zobacz stronę pytań i pytań firmy Microsoft dla usługi Application Insights.
Zastrzeżenie dotyczące innych firm
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.