Omówienie monitorowania aplikacji dla usługi aplikacja systemu Azure
Monitorowanie aplikacji internetowych jest teraz łatwiejsze niż kiedykolwiek wcześniej w oparciu o ASP.NET, ASP.NET Core, Java i Node.js uruchomione w usłudze aplikacja systemu Azure Service. Wcześniej trzeba było ręcznie instrumentować aplikację, ale najnowsze rozszerzenie/agent jest teraz wbudowane w obraz usługi App Service domyślnie.
Włącz usługę Application Insights
Istnieją dwa sposoby włączania monitorowania aplikacji hostowanych w usłudze App Service:
Monitorowanie aplikacji autoinstrumentacji (Application Szczegółowe informacje Agent).
Ta metoda jest najłatwiejsza do włączenia i nie jest wymagana żadna zmiana kodu ani zaawansowane konfiguracje. Jest to często nazywane monitorowaniem "środowiska uruchomieniowego". W przypadku usługi App Service zalecamy włączenie tego poziomu monitorowania co najmniej. W zależności od konkretnego scenariusza możesz ocenić, czy potrzebne jest bardziej zaawansowane monitorowanie za pomocą instrumentacji ręcznej.
Po włączeniu automatycznej instrumentacji włącza Szczegółowe informacje aplikacji z ustawieniem domyślnym (obejmuje również próbkowanie). Nawet w przypadku ustawienia w aplikacja systemu Azure Szczegółowe informacje: Próbkowanie: wszystkie dane 100% to ustawienie zostanie zignorowane.
Aby uzyskać pełną listę obsługiwanych scenariuszy automatycznegoinstrumentacji, zobacz Obsługiwane środowiska, języki i dostawcy zasobów.
Na potrzeby monitorowania automatycznegoinstrumentacji są obsługiwane następujące platformy:
Ręczne instrumentowanie aplikacji za pomocą kodu przez zainstalowanie zestawu SDK usługi Application Szczegółowe informacje.
Takie podejście jest znacznie bardziej dostosowywalne, ale wymaga następujących podejść: zestaw SDK dla platformy .NET Core, .NET, Node.js, języka Python i autonomicznego agenta dla języka Java. Ta metoda oznacza również, że należy samodzielnie zarządzać aktualizacjami do najnowszej wersji pakietów.
Jeśli musisz wykonać niestandardowe wywołania interfejsu API w celu śledzenia zdarzeń/zależności, które nie są domyślnie przechwytywane za pomocą monitorowania automatycznegoinstrumentacji, należy użyć tej metody. Aby dowiedzieć się więcej, zobacz Application Szczegółowe informacje API for custom events and metrics (Interfejs API usługi Application Szczegółowe informacje dla zdarzeń niestandardowych i metryk).
W przypadku wykrycia zarówno monitorowania automatycznegoinstrumentacji, jak i ręcznej instrumentacji opartej na zestawie SDK, na platformie .NET są uwzględniane tylko ustawienia instrumentacji ręcznej, podczas gdy w języku Java tylko autoinstrumentacja emituje dane telemetryczne. Ta praktyka polega na zapobieganiu wysyłaniu zduplikowanych danych.
Uwaga
Debuger migawek i profiler są dostępne tylko na platformach .NET i .NET Core.
Informacje o wersji
Ta sekcja zawiera informacje o wersji rozszerzenia usługi Azure Web Apps na potrzeby instrumentacji środowiska uruchomieniowego za pomocą usługi Application Szczegółowe informacje.
Aby dowiedzieć się, której wersji rozszerzenia używasz, przejdź do strony https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights
.
Informacje o wersji
2.8.44
- .NET/.NET Core: uaktualniono do wersji Application Szczegółowe informacje .NET SDK do wersji 2.20.1.
2.8.43
- Rozdziel pakiet .NET/.NET Core, Java i Node.js na inne rozszerzenie witryny systemu Windows usługi App Service.
2.8.42
- Rozszerzenie JAVA: uaktualniono do wersji Java Agent 3.2.0 z wersji 2.5.1.
- rozszerzenie Node.js: zaktualizowano zestaw AI SDK do wersji 2.1.8 z wersji 2.1.7. Dodano obsługę tożsamości zarządzanych przypisanych przez użytkownika i system firmy Microsoft.
- .NET Core: dodano wdrożenia samodzielne i obsługę platformy .NET 6.0 przy użyciu programu .NET Startup Hook.
2.8.41
- rozszerzenie Node.js: zaktualizowano zestaw AI SDK do wersji 2.1.7 z wersji 2.1.3.
- .NET Core: usunięto wersję braku obsługi (2.1). Obsługiwane wersje to 3.1 i 5.0.
2.8.40
- Rozszerzenie JAVA: uaktualniono do wersji Java Agent 3.1.1 (GA) z wersji 3.0.2.
- rozszerzenie Node.js: zaktualizowano zestaw AI SDK do wersji 2.1.3 z wersji 1.8.8.
2.8.39
- .NET Core: dodano obsługę platformy .NET Core 5.0.
2.8.38
- Rozszerzenie JAVA: uaktualniono do wersji Java Agent 3.0.2 (GA) z wersji 2.5.1.
- rozszerzenie Node.js: zaktualizowano zestaw AI SDK do wersji 1.8.8 z wersji 1.8.7.
- .NET Core: usunięto wersje poza wsparciem (2.0, 2.2, 3.0). Obsługiwane wersje to 2.1 i 3.1.
2.8.37
- Rozszerzenie systemu Windows AppSvc: platforma .NET Core współdziała z dowolną wersją System.Diagnostics.DiagnosticSource.dll.
2.8.36
- Rozszerzenie systemu Windows AppSvc: włączono międzyoperajności z zestawem AI SDK na platformie .NET Core.
2.8.35
- Rozszerzenie systemu Windows AppSvc: dodano obsługę platformy .NET Core 3.1.
2.8.33
- Agenci platformy .NET, .NET Core, Java i Node.js oraz rozszerzenia systemu Windows: obsługa suwerennych chmur. Ciągi Połączenie ions mogą służyć do wysyłania danych do suwerennych chmur.
2.8.31
- Agent ASP.NET Core rozwiązał problem z zestawem SDK usługi Application Szczegółowe informacje. Jeśli środowisko uruchomieniowe załadowało niepoprawną wersję
System.Diagnostics.DiagnosticSource.dll
, rozszerzenie bez kodu nie powoduje awarii aplikacji i cofa się. Aby rozwiązać ten problem, klienci powinni usunąćSystem.Diagnostics.DiagnosticSource.dll
z folderu bin lub użyć starszej wersji rozszerzenia, ustawiając wartośćApplicationInsightsAgent_EXTENSIONVERSION=2.8.24
. Jeśli tak nie jest, monitorowanie aplikacji nie jest włączone.
2.8.26
- agent ASP.NET Core: rozwiązano problem związany ze zaktualizowanym zestawem SDK usługi Application Szczegółowe informacje. Agent nie próbuje załadować
AiHostingStartup
, jeśli aplikacja Szczegółowe informacje.dll jest już obecna w folderze bin. Rozwiązuje problemy związane z odbiciem za pośrednictwem elementu Assembly<AiHostingStartup>. GetTypes(). - Znane problemy: Jeśli załadowano inną wersję
DiagnosticSource
biblioteki DLL, może zostać zgłoszony wyjątekSystem.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
. Może się to zdarzyć, na przykład, jeśliSystem.Diagnostics.DiagnosticSource.dll
znajduje się w folderze publikowania. Jako środki zaradcze należy użyć poprzedniej wersji rozszerzenia, ustawiając ustawienia aplikacji w usługach app Services: Application Szczegółowe informacje Agent_EXTENSIONVERSION=2.8.24.
2.8.24
- Ponownie spakowane wersje 2.8.21.
2.8.23
- Dodano obsługę monitorowania bez kodu platformy ASP.NET Core 3.0.
- Zaktualizowano zestaw ASP.NET Core SDK do wersji 2.8.0 dla środowiska uruchomieniowego w wersji 2.1, 2.2 i 3.0. Aplikacje przeznaczone dla platformy .NET Core 2.0 nadal używają wersji 2.1.1 zestawu SDK.
2.8.14
- Zaktualizowano zestaw ASP.NET Core SDK z wersji 2.3.0 do najnowszej (2.6.1) dla aplikacji przeznaczonych dla platformy .NET Core 2.1, 2.2. Aplikacje przeznaczone dla platformy .NET Core 2.0 nadal używają wersji 2.1.1 zestawu SDK.
2.8.12
Obsługa aplikacji ASP.NET Core 2.2.
Usunięto usterkę w rozszerzeniu ASP.NET Core powodującą wstrzyknięcie zestawu SDK nawet wtedy, gdy aplikacja jest już instrumentowana za pomocą zestawu SDK. W przypadku aplikacji w wersji 2.1 i 2.2 obecność aplikacji Szczegółowe informacje.dll w folderze aplikacji powoduje teraz wycofywanie rozszerzenia. W przypadku aplikacji 2.0 rozszerzenie cofa się tylko wtedy, gdy aplikacja Szczegółowe informacje jest włączona za pomocą wywołania
UseApplicationInsights()
.Stała poprawka niekompletnej odpowiedzi HTML dla aplikacji ASP.NET Core. Ta poprawka została rozszerzona w celu działania aplikacji platformy .NET Core 2.2.
Dodano obsługę wyłączania wstrzykiwania kodu JavaScript dla aplikacji ASP.NET Core (
APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting
). W przypadku ASP.NET rdzenia iniekcja języka JavaScript jest domyślnie w trybie "Rezygnacja", chyba że jawnie wyłączono. (Ustawienie domyślne jest wykonywane w celu zachowania bieżącego zachowania).Usunięto usterkę rozszerzenia ASP.NET Core, która spowodowała wstrzyknięcie, nawet jeśli klucz ikey nie był obecny.
Usunięto usterkę logiki prefiksu wersji zestawu SDK, która spowodowała nieprawidłową wersję zestawu SDK w telemetrii.
Dodano prefiks wersji zestawu SDK dla aplikacji ASP.NET Core w celu zidentyfikowania sposobu zbierania danych telemetrycznych.
Naprawiono stronę SCM — aplikacja Szczegółowe informacje aby poprawnie wyświetlić wersję wstępnie zainstalowanego rozszerzenia.
2.8.10
- Poprawka dotycząca niekompletnej odpowiedzi HTML dla aplikacji ASP.NET Core.
Często zadawane pytania
Ta sekcja zawiera odpowiedzi na typowe pytania.
Co Szczegółowe informacje aplikacji modyfikuje w moim projekcie?
Szczegóły zależą od typu projektu. W przypadku aplikacji internetowej:
- Dodaje te pliki do projektu:
- Plik ApplicationInsights.config
- ai.js
- Instaluje następujące pakiety NuGet:
- Interfejs API Szczegółowe informacje aplikacji: podstawowy interfejs API
- Interfejs API Szczegółowe informacje aplikacji dla aplikacji internetowych: służy do wysyłania danych telemetrycznych z serwera
- Interfejs API Szczegółowe informacje aplikacji dla aplikacji JavaScript: służy do wysyłania danych telemetrycznych z klienta
- Pakiety obejmują następujące zestawy:
- Microsoft.Application Szczegółowe informacje
- Microsoft.Application Szczegółowe informacje. Platformy
- Wstawia elementy do:
- Web.config
- packages.config
- (Tylko w przypadku nowych projektów należy ręcznie dodać aplikację Szczegółowe informacje do istniejącego projektu). Wstawia fragmenty kodu klienta i serwera, aby zainicjować je za pomocą identyfikatora zasobu Application Szczegółowe informacje. Na przykład w aplikacji MVC kod jest wstawiany do strony głównej Views/Shared/_Layout.cshtml.
Następne kroki
Dowiedz się, jak włączyć monitorowanie aplikacji autoinstrumentacji dla aplikacji .NET Core, .NET, Java, Nodejs lub Python uruchomionych w usłudze App Service.