Monitorowanie aplikacji dla usługi Azure App Service i ASP.NET

Włączanie monitorowania na platformie ASP. Aplikacje internetowe oparte na platformie NET działające w usłudze aplikacja systemu Azure są teraz łatwiejsze niż kiedykolwiek wcześniej. Wcześniej trzeba było ręcznie instrumentować aplikację. Teraz najnowsze rozszerzenie/agent jest domyślnie wbudowane w obraz usługi App Service. Ten artykuł przeprowadzi Cię przez proces włączania monitorowania aplikacji usługi Azure Monitor Szczegółowe informacje i zawiera wstępne wskazówki dotyczące automatyzowania procesu wdrożeń na dużą skalę.

Uwaga

Ręczne dodawanie rozszerzenia witryny Szczegółowe informacje aplikacji za pomocą rozszerzeń narzędzi>programistycznych jest przestarzałe. Ta metoda instalacji rozszerzenia była zależna od ręcznych aktualizacji dla każdej nowej wersji. Najnowsza stabilna wersja rozszerzenia jest teraz wstępnie zainstalowana jako część obrazu usługi App Service. Pliki znajdują się w folderze d:\Program Files (x86)\SiteExtensions\Application Szczegółowe informacje Agent i są automatycznie aktualizowane przy każdej stabilnej wersji. Jeśli wykonasz instrukcje autoinstrumentacji, aby włączyć monitorowanie, automatycznie usunie przestarzałe rozszerzenie.

W przypadku wykrycia zarówno monitorowania automatycznegoinstrumentacji, jak i ręcznej instrumentacji opartej na zestawie SDK, zostaną uznane tylko ustawienia instrumentacji ręcznej. To rozwiązanie uniemożliwia wysyłanie zduplikowanych danych. Aby dowiedzieć się więcej, zobacz sekcję Rozwiązywanie problemów.

Uwaga

31 marca 2025 r. zostanie zakończone świadczenie pomocy technicznej dla pozyskiwania klucza instrumentacji. Pozyskiwanie klucza instrumentacji będzie nadal działać, ale nie udostępnimy już aktualizacji ani obsługi funkcji. Przejście do parametry połączenia w celu skorzystania z nowych funkcji.

Włączanie monitorowania automatycznejinstrumentacji

Aby uzyskać pełną listę obsługiwanych scenariuszy automatycznegoinstrumentacji, zobacz Obsługiwane środowiska, języki i dostawcy zasobów.

Uwaga

Kombinacja elementów APPINSIGHTS_JAVASCRIPT_ENABLED i urlCompression nie jest obsługiwana. Aby uzyskać więcej informacji, zobacz wyjaśnienie w sekcji Rozwiązywanie problemów.

  1. Wybierz pozycję Szczegółowe informacje aplikacji w panelu sterowania platformy Azure dla usługi App Service. Następnie wybierz pozycję Włącz.

    Zrzut ekranu przedstawiający kartę Aplikacja Szczegółowe informacje z wybraną pozycję Włącz.

  2. Wybierz opcję utworzenia nowego zasobu lub wybierz istniejący zasób aplikacji Szczegółowe informacje dla tej aplikacji.

    Uwaga

    Po wybraniu przycisku OK w celu utworzenia nowego zasobu zostanie wyświetlony monit o wybranie pozycji Zastosuj ustawienia monitorowania. Wybranie pozycji Kontynuuj łączy nowy zasób aplikacji Szczegółowe informacje z usługą app Service. Spowoduje to również wyzwolenie ponownego uruchomienia usługi App Service.

    Zrzut ekranu przedstawiający listę rozwijaną Zmień zasób.

  3. Po określeniu, który zasób ma być używany, możesz wybrać sposób, w jaki aplikacja Szczegółowe informacje zbierać dane na platformę dla aplikacji. ASP.NET monitorowanie aplikacji jest domyślnie włączone z dwoma różnymi poziomami kolekcji.

    Zrzut ekranu przedstawiający stronę Rozszerzenia witryny Szczegółowe informacje aplikacji z wybraną pozycją Utwórz nowy zasób.

    Poniższa tabela zawiera podsumowanie danych zebranych dla każdej trasy.

    Data podstawowa kolekcja ASP.NET zalecana kolekcja ASP.NET
    Dodanie trendów użycia procesora, pamięci i operacji we/wy Nie. Tak
    Zbieranie trendów użycia z możliwością korelacji wyników dostępności z transakcjami Tak Tak
    Zbieranie wyjątków nieobsłużonych przez proces hosta Tak Tak
    Zwiększenie dokładności metryki APM pod obciążeniem, gdy jest używane próbkowanie Tak Tak
    Korelowanie mikrousług ponad granicami żądań/zależności Nie (tylko funkcje APM pojedynczego wystąpienia) Tak
  4. Aby skonfigurować próbkowanie, które wcześniej można było kontrolować za pośrednictwem pliku applicationinsights.config , można teraz wchodzić z nim w interakcje za pomocą ustawień aplikacji z odpowiednim prefiksem MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor.

    • Aby na przykład zmienić początkową wartość procentową próbkowania, możesz utworzyć ustawienie MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage aplikacji i wartość 100.

    • Aby wyłączyć próbkowanie, ustaw MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage wartość 100.

    • Obsługiwane ustawienia obejmują:

      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_EvaluationInterval
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MaxTelemetryItemsPerSecond
    • Aby uzyskać listę obsługiwanych ustawień i definicji procesora telemetrii próbkowania adaptacyjnego, zobacz dokumentację dotyczącą kodu i próbkowania.

Włączanie monitorowania po stronie klienta

Monitorowanie po stronie klienta to zgoda na ASP.NET. Aby włączyć monitorowanie po stronie klienta:

  1. Wybierz pozycję Ustawienia>Konfiguracja.

  2. W obszarze Ustawienia aplikacji utwórz nowe ustawienie aplikacji:

    • Nazwa: wprowadź APPINSIGHTS_JAVASCRIPT_ENABLED.
    • Wartość: wprowadź wartość true.
  3. Zapisz ustawienia i uruchom ponownie aplikację.

Aby wyłączyć monitorowanie po stronie klienta, usuń skojarzona para wartości klucza z ustawień aplikacji lub ustaw wartość false.

Automatyzowanie monitorowania

Aby włączyć zbieranie danych telemetrycznych za pomocą Szczegółowe informacje aplikacji, należy ustawić tylko ustawienia aplikacji.

Zrzut ekranu przedstawiający ustawienia aplikacji usługi App Service z ustawieniami Szczegółowe informacje aplikacji.

Definicje ustawień aplikacji

Nazwa ustawienia aplikacji Definicja Wartość
ApplicationInsightsAgent_EXTENSION_VERSION Główne rozszerzenie, które kontroluje monitorowanie środowiska uruchomieniowego. ~2
XDT_MicrosoftApplicationInsights_Mode W trybie domyślnym są włączone tylko podstawowe funkcje, aby zapewnić optymalną wydajność. default lub recommended
InstrumentationEngine_EXTENSION_VERSION Określa, czy aparat InstrumentationEngine binarnego ponownego zapisywania zostanie włączony. To ustawienie ma wpływ na wydajność i wpływa na zimny start/czas uruchamiania. ~1
XDT_MicrosoftApplication Szczegółowe informacje_BaseExtensions Określa, czy tekst tabeli SQL i azure zostaną przechwycone wraz z wywołaniami zależności. Ostrzeżenie o wydajności: Będzie to miało wpływ na zimny czas uruchamiania aplikacji. To ustawienie wymaga .InstrumentationEngine ~1

Ustawienia aplikacji usługi App Service z usługą Azure Resource Manager

Ustawienia aplikacji dla usługi aplikacja systemu Azure można zarządzać i konfigurować przy użyciu szablonów usługi Azure Resource Manager. Tej metody można użyć podczas wdrażania nowych zasobów usługi App Service za pomocą automatyzacji usługi Resource Manager lub modyfikowania ustawień istniejących zasobów.

Podstawowa struktura pliku JSON ustawień aplikacji dla zasobu usługi App Service:

      "resources": [
        {
          "name": "appsettings",
          "type": "config",
          "apiVersion": "2015-08-01",
          "dependsOn": [
            "[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
          ],
          "tags": {
            "displayName": "Application Insights Settings"
          },
          "properties": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      ]

Na przykład szablonu usługi Resource Manager z ustawieniami aplikacji skonfigurowanymi dla Szczegółowe informacje aplikacji ten szablon może być przydatny. W szczególności zobacz sekcję, która rozpoczyna się w wierszu 238.

Aby utworzyć szablon usługi Resource Manager z domyślnymi ustawieniami usługi Application Szczegółowe informacje, rozpocznij proces tak, jakby zamierzasz utworzyć nową aplikację internetową z włączoną Szczegółowe informacje aplikacji.

  1. Utwórz nowy zasób usługi App Service z żądanymi informacjami o aplikacji internetowej. Włącz Szczegółowe informacje aplikacji na karcie Monitorowanie.

  2. Wybierz pozycję Przejrzyj i utwórz. Następnie wybierz pozycję Pobierz szablon do automatyzacji.

    Zrzut ekranu przedstawiający menu tworzenia aplikacji internetowej usługi App Service.

    Ta opcja generuje najnowszy szablon usługi Resource Manager ze skonfigurowanymi wszystkimi wymaganymi ustawieniami.

    Zrzut ekranu przedstawiający szablon aplikacji internetowej usługi App Service.

W poniższym przykładzie zastąp wszystkie wystąpienia AppMonitoredSite swojej nazwy witryny:

Uwaga

W przypadku korzystania z systemu Windows ustaw wartość ApplicationInsightsAgent_EXTENSION_VERSION~2. W przypadku korzystania z systemu Linux ustaw wartość ApplicationInsightsAgent_EXTENSION_VERSION~3.

{
    "resources": [
        {
            "name": "[parameters('name')]",
            "type": "Microsoft.Web/sites",
            "properties": {
                "siteConfig": {
                    "appSettings": [
                        {
                            "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').InstrumentationKey]"
                        },
                        {
                            "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').ConnectionString]"
                        },
                        {
                            "name": "ApplicationInsightsAgent_EXTENSION_VERSION",
                            "value": "~2"
                        }
                    ]
                },
                "name": "[parameters('name')]",
                "serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "dependsOn": [
                "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "microsoft.insights/components/AppMonitoredSite"
            ],
            "apiVersion": "2016-03-01",
            "location": "[parameters('location')]"
        },
        {
            "apiVersion": "2016-09-01",
            "name": "[parameters('hostingPlanName')]",
            "type": "Microsoft.Web/serverfarms",
            "location": "[parameters('location')]",
            "properties": {
                "name": "[parameters('hostingPlanName')]",
                "workerSizeId": "[parameters('workerSize')]",
                "numberOfWorkers": "1",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "sku": {
                "Tier": "[parameters('sku')]",
                "Name": "[parameters('skuCode')]"
            }
        },
        {
            "apiVersion": "2015-05-01",
            "name": "AppMonitoredSite",
            "type": "microsoft.insights/components",
            "location": "West US 2",
            "properties": {
                "ApplicationId": "[parameters('name')]",
                "Request_Source": "IbizaWebAppExtensionCreate"
            }
        }
    ],
    "parameters": {
        "name": {
            "type": "string"
        },
        "hostingPlanName": {
            "type": "string"
        },
        "hostingEnvironment": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "sku": {
            "type": "string"
        },
        "skuCode": {
            "type": "string"
        },
        "workerSize": {
            "type": "string"
        },
        "serverFarmResourceGroup": {
            "type": "string"
        },
        "subscriptionId": {
            "type": "string"
        }
    },
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0"
}

Włączanie za pomocą programu PowerShell

Aby włączyć monitorowanie aplikacji za pomocą programu PowerShell, należy zmienić tylko podstawowe ustawienia aplikacji. Poniższy przykład umożliwia monitorowanie aplikacji dla witryny internetowej o nazwie AppMonitoredSite w grupie AppMonitoredRGzasobów . Konfiguruje dane do wysłania 012345678-abcd-ef01-2345-6789abcd do klucza instrumentacji.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Uwaga

W przypadku korzystania z systemu Windows ustaw wartość Application Szczegółowe informacje Agent_EXTENSION_VERSION na ~2wartość . W przypadku korzystania z systemu Linux ustaw wartość Application Szczegółowe informacje Agent_EXTENSION_VERSION na ~3.

$app = Get-AzWebApp -ResourceGroupName "AppMonitoredRG" -Name "AppMonitoredSite" -ErrorAction Stop
$newAppSettings = @{} # case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # preserve non Application Insights application settings.
$newAppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] = "012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights instrumentation key
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~2"; # enable the ApplicationInsightsAgent
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop

Uaktualnianie rozszerzenia/agenta monitorowania: .NET

Uaktualnianie z wersji 2.8.9 i nowszych

Uaktualnienie z wersji 2.8.9 odbywa się automatycznie bez żadnych dodatkowych akcji. Nowe bity monitorowania są dostarczane w tle do docelowej usługi aplikacji. Zostaną one wybrane po ponownym uruchomieniu aplikacji.

Aby sprawdzić, która wersja rozszerzenia jest uruchomione, przejdź do https://yoursitename.scm.azurewebsites.net/ApplicationInsightsstrony .

Zrzut ekranu przedstawiający ścieżkę adresu URL, aby sprawdzić wersję uruchomionego rozszerzenia.

Uaktualnianie z wersji 1.0.0 — 2.6.5

Począwszy od wersji 2.8.9, używane jest wstępnie zainstalowane rozszerzenie lokacji. Jeśli korzystasz z wcześniejszej wersji, możesz zaktualizować za pomocą jednego z dwóch sposobów:

Jeśli uaktualnienie zostanie wykonane z wersji wcześniejszej niż 2.5.1, sprawdź, czy biblioteki DLL aplikacji Szczegółowe informacje zostaną usunięte z folderu bin aplikacji. Aby uzyskać więcej informacji, zobacz kroki opisane w sekcji Rozwiązywanie problemów.

Rozwiązywanie problemów

Uwaga

Podczas tworzenia aplikacji internetowej ze ASP.NET środowiskami uruchomieniowymi w usłudze App Service jest wdrażana pojedyncza statyczna strona HTML jako początkowa witryna internetowa. Nie zalecamy rozwiązywania problemu z szablonem domyślnym. Przed rozwiązaniem problemu wdróż aplikację.

Oto nasz przewodnik rozwiązywania problemów krok po kroku dotyczący monitorowania opartego na rozszerzeniu/agencie dla platformy ASP. Aplikacje oparte na platformie NET działające w usłudze App Service.

  1. Sprawdź, czy ApplicationInsightsAgent_EXTENSION_VERSION ustawienie aplikacji jest ustawione na wartość ~2.

  2. Przejdź do https://yoursitename.scm.azurewebsites.net/ApplicationInsights.

    Zrzut ekranu przedstawiający stronę wyników powyższego linku.

    • Upewnij się, że Application Insights Extension Status jest Pre-Installed Site Extension, version 2.8.x.xxxx uruchomiona wartość i jest uruchomiona.

      Jeśli nie jest uruchomiona, postępuj zgodnie z instrukcjami, aby włączyć monitorowanie usługi Application Szczegółowe informacje.

    • Upewnij się, że źródło stanu istnieje i wygląda następująco: Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.

      Jeśli podobna wartość nie jest obecna, oznacza to, że aplikacja nie jest obecnie uruchomiona lub nie jest obsługiwana. Aby upewnić się, że aplikacja jest uruchomiona, spróbuj ręcznie odwiedzić adres URL aplikacji/punkty końcowe aplikacji, co umożliwi udostępnienie informacji o środowisku uruchomieniowym.

    • Upewnij się, że IKeyExists jest to true. W przeciwnym razie dodaj APPINSIGHTS_INSTRUMENTATIONKEY identyfikator APPLICATIONINSIGHTS_CONNECTION_STRING GUID klucza instrumentacji do ustawień aplikacji.

    • Upewnij się, że nie ma żadnych wpisów dla AppAlreadyInstrumented, AppContainsDiagnosticSourceAssemblyi AppContainsAspNetTelemetryCorrelationAssembly.

      Jeśli którykolwiek z tych wpisów istnieje, usuń następujące pakiety z aplikacji: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSourcei Microsoft.AspNet.TelemetryCorrelation.

Domyślna witryna internetowa wdrożona za pomocą aplikacji internetowych nie obsługuje automatycznego monitorowania po stronie klienta

Podczas tworzenia aplikacji internetowej ze ASP.NET środowiskami uruchomieniowymi w usłudze App Service jest wdrażana pojedyncza statyczna strona HTML jako początkowa witryna internetowa. Statyczna strona internetowa ładuje również asp. Składnik Web Part zarządzany przez platformę NET w usługach IIS. Ta strona umożliwia testowanie monitorowania bez kodu po stronie serwera, ale nie obsługuje automatycznego monitorowania po stronie klienta.

Jeśli chcesz przetestować monitorowanie bez kodu i monitorowania po stronie klienta dla ASP.NET w aplikacji internetowej usługi App Service, zalecamy wykonanie czynności zgodnie z oficjalnymi przewodnikami dotyczącymi tworzenia aplikacji internetowej platformy ASP.NET Framework. Następnie użyj instrukcji w bieżącym artykule, aby włączyć monitorowanie.

APPINSIGHTS_JAVASCRIPT_ENABLED i urlSkompresja nie jest obsługiwana

Jeśli używasz APPINSIGHTS_JAVASCRIPT_ENABLED=true w przypadkach kodowania zawartości, mogą wystąpić błędy takie jak:

  • Błąd ponownego zapisywania adresu URL 500.
  • Błąd modułu ponownego zapisywania adresu URL 500.53 z komunikatem "Reguły ponownego zapisywania ruchu wychodzącego nie można zastosować, gdy zawartość odpowiedzi HTTP jest zakodowana ('gzip')."

Występuje błąd, ponieważ APPINSIGHTS_JAVASCRIPT_ENABLED ustawienie aplikacji jest ustawione na true , a kodowanie zawartości jest obecne w tym samym czasie. Ten scenariusz nie jest jeszcze obsługiwany. Obejściem jest usunięcie APPINSIGHTS_JAVASCRIPT_ENABLED z ustawień aplikacji. Niestety, jeśli instrumentacja JavaScript po stronie klienta/przeglądarki jest nadal wymagana, ręczne odwołania do zestawu SDK są potrzebne dla stron internetowych. Postępuj zgodnie z instrukcjami dotyczącymi instrumentacji ręcznej przy użyciu zestawu SDK języka JavaScript.

Aby uzyskać najnowsze informacje na temat agenta/rozszerzenia usługi Application Szczegółowe informacje, zobacz informacje o wersji.

Jaka jest różnica między metrykami standardowymi z metryk usługi Application Szczegółowe informacje a metrykami usługi aplikacja systemu Azure Service?

Aplikacja Szczegółowe informacje zbiera dane telemetryczne dla żądań wysyłanych do aplikacji. Jeśli błąd wystąpi w usłudze WebApps/WebServer, a żądanie nie dotarło do aplikacji użytkownika, aplikacja Szczegółowe informacje nie ma żadnych danych telemetrycznych.

Czas trwania obliczany serverresponsetime przez aplikację Szczegółowe informacje nie musi być zgodny z czasem odpowiedzi serwera obserwowanym przez usługę Web Apps. To zachowanie jest spowodowane tym, że aplikacja Szczegółowe informacje liczy czas trwania tylko wtedy, gdy żądanie rzeczywiście dociera do aplikacji użytkownika. Jeśli żądanie jest zablokowane lub umieszczone w kolejce na serwerze WebServer, czas oczekiwania jest uwzględniany w metrykach usługi Web Apps, ale nie w metrykach usługi Application Szczegółowe informacje.

Testowanie łączności między hostem aplikacji a usługą pozyskiwania

Zestawy SDK Szczegółowe informacje aplikacji i agenci wysyłają dane telemetryczne, aby uzyskać pozyskane jako wywołania REST do naszych punktów końcowych pozyskiwania. Możesz przetestować łączność z serwera internetowego lub maszyny hosta aplikacji do punktów końcowych usługi pozyskiwania przy użyciu pierwotnych klientów REST z poziomu programu PowerShell lub poleceń curl. Zobacz Rozwiązywanie problemów z brakującą telemetrią aplikacji w usłudze Azure Monitor Application Szczegółowe informacje.

Język PHP i WordPress nie są obsługiwane

Witryny PHP i WordPress nie są obsługiwane. Obecnie nie ma oficjalnie obsługiwanego zestawu SDK/agenta na potrzeby monitorowania tych obciążeń po stronie serwera. Transakcje po stronie klienta można instrumentować ręcznie w witrynie PHP lub WordPress, dodając kod JavaScript po stronie klienta do stron internetowych przy użyciu zestawu SDK języka JavaScript.

Poniższa tabela zawiera bardziej szczegółowe wyjaśnienie, co oznaczają te wartości, ich podstawowe przyczyny i zalecane poprawki.

Wartość problemu Wyjaśnienie Napraw
AppAlreadyInstrumented:true Ta wartość wskazuje, że rozszerzenie wykryło, że jakiś aspekt zestawu SDK jest już obecny w aplikacji i wycofa się. Może to być spowodowane odwołaniem do System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelationlub Microsoft.ApplicationInsights. Usuń odwołania. Niektóre z tych odwołań są domyślnie dodawane z niektórych szablonów programu Visual Studio. Starsze wersje programu Visual Studio mogą dodawać odwołania do Microsoft.ApplicationInsightsprogramu .
AppAlreadyInstrumented:true Ta wartość może być również spowodowana obecnością powyższych bibliotek DLL w folderze aplikacji z poprzedniego wdrożenia. Wyczyść folder aplikacji, aby upewnić się, że te biblioteki DLL zostaną usunięte. Sprawdź zarówno katalog bin aplikacji lokalnej, jak i katalog wwwroot w zasobie usługi App Service. Aby sprawdzić katalog wwwroot aplikacji internetowej usługi App Service, wybierz pozycję Narzędzia zaawansowane (Kudu)>Debug konsoli>CMD>home\site\wwwroot.
AppContainsAspNetTelemetryCorrelationAssembly: true Ta wartość wskazuje, że rozszerzenie wykryło odwołania do Microsoft.AspNet.TelemetryCorrelation w aplikacji i wycofa się. Usuń odwołanie.
AppContainsDiagnosticSourceAssembly**:true Ta wartość wskazuje, że rozszerzenie wykryło odwołania do System.Diagnostics.DiagnosticSource w aplikacji i wycofa się. W przypadku ASP.NET usuń odwołanie.
IKeyExists:false Ta wartość wskazuje, że klucz instrumentacji nie jest obecny w ustawieniu APPINSIGHTS_INSTRUMENTATIONKEYaplikacji . Możliwe przyczyny mogą być przypadkowe usunięcie wartości lub zapomnienie ustawienia wartości w skrycie automatyzacji. Upewnij się, że ustawienie jest obecne w ustawieniach aplikacji usługi App Service.

System.IO.FileNotFoundException po uaktualnieniu wersji 2.8.44

Wersja 2.8.44 aktualizacji automatycznego wystąpienia uaktualnia zestaw SDK usługi Application Szczegółowe informacje do wersji 2.20.0. Zestaw SDK Szczegółowe informacje aplikacji ma pośrednie odwołanie do System.Runtime.CompilerServices.Unsafe.dll elementu za pośrednictwem System.Diagnostics.DiagnosticSource.dllelementu . Jeśli aplikacja ma przekierowanieSystem.Runtime.CompilerServices.Unsafe.dll powiązania i jeśli ta biblioteka nie znajduje się w folderze aplikacji, może zgłosić błąd System.IO.FileNotFoundException.

Aby rozwiązać ten problem, usuń wpis System.Runtime.CompilerServices.Unsafe.dll przekierowania powiązania z pliku web.config. Jeśli aplikacja chciała użyć System.Runtime.CompilerServices.Unsafe.dllpolecenia , ustaw przekierowanie powiązania, jak pokazano poniżej:

<dependentAssembly>
	<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
	<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
</dependentAssembly>

Jako tymczasowe obejście można ustawić ustawienie ApplicationInsightsAgent_EXTENSION_VERSION aplikacji na wartość 2.8.37. To ustawienie spowoduje wyzwolenie usługi App Service w celu użycia starego rozszerzenia Szczegółowe informacje aplikacji. Tymczasowe środki zaradcze powinny być stosowane tylko jako tymczasowe.

Informacje o wersji

Aby uzyskać najnowsze aktualizacje i poprawki błędów, zobacz informacje o wersji.

Następne kroki