Aktivera programövervakning i Azure App Service för .NET-, Node.js-, Python- och Java-program
Artikel
Automatisk instrumentering, även kallat körningsövervakning , är det enklaste sättet att aktivera Application Insights för Azure App Service utan att kräva några kodändringar eller avancerade konfigurationer. Baserat på ditt specifika scenario utvärderar du om du behöver mer avancerad övervakning via manuell instrumentering.
Kommentar
Stödet för inmatning av instrumentationsnycklar upphör den 31 mars 2025. Inmatningen av instrumenteringsnyckeln fortsätter att fungera, men vi kommer inte längre att tillhandahålla uppdateringar eller stöd för funktionen. Övergå till anslutningssträng för att dra nytta av nya funktioner.
Om både övervakning av autoinstrumentation och manuell SDK-baserad instrumentation identifieras respekteras endast de manuella instrumentationsinställningarna. Det här arrangemanget förhindrar att dubbletter av data skickas. Mer information finns i Felsökning.
Välj Application Insights i den vänstra navigeringsmenyn i apptjänsten och välj sedan Aktivera.
Skapa en ny resurs eller välj en befintlig Application Insights-resurs för det här programmet.
Kommentar
När du väljer OK för att skapa en ny resurs uppmanas du att använda övervakningsinställningar. Om du väljer Fortsätt länkar du din nya Application Insights-resurs till din apptjänst. Apptjänsten startas sedan om.
När du har angett vilken resurs som ska användas kan du välja hur du vill att Application Insights ska samla in data per plattform för ditt program. ASP.NET Alternativ för kärnsamling rekommenderas eller inaktiveras.
Viktigt!
Om både övervakning av autoinstrumentation och manuell SDK-baserad instrumentation identifieras respekteras endast de manuella instrumentationsinställningarna. Det här arrangemanget förhindrar att dubbletter av data skickas. Mer information finns i Felsökning.
Kommentar
Kombinationen av APPINSIGHTS_JAVASCRIPT_ENABLED och urlCompression stöds inte. Mer information finns i Felsökning.
Automatisk instrumentering i Azure Portal
Välj Application Insights i den vänstra navigeringsmenyn i apptjänsten och välj sedan Aktivera.
Skapa en ny resurs eller välj en befintlig Application Insights-resurs för det här programmet.
Kommentar
När du väljer OK för att skapa en ny resurs uppmanas du att använda övervakningsinställningar. Om du väljer Fortsätt länkar du din nya Application Insights-resurs till din apptjänst. Apptjänsten startas sedan om.
När du har angett vilken resurs som ska användas kan du välja hur du vill att Application Insights ska samla in data per plattform för ditt program. ASP.NET appövervakning är aktiverat som standard med två olika samlingsnivåer, rekommenderade och grundläggande.
I följande tabell sammanfattas de data som samlas in för varje väg.
Data
Rekommenderat
Grundläggande
Lägger till trender för processor-, minnes- och I/O-användning
Ja
Nej
Samlar in användningstrender och aktiverar korrelation från tillgänglighetsresultat till transaktioner
Ja
Ja
Samlar in undantag som hanteras av värdprocessen
Ja
Ja
Förbättrar precisionen för APM-mått under belastning när sampling används
Ja
Ja
Korrelerar mikrotjänster över begärande-/beroendegränser
Välj Application Insights i den vänstra navigeringsmenyn i apptjänsten och välj sedan Aktivera.
Skapa en ny resurs eller välj en befintlig Application Insights-resurs för det här programmet.
Kommentar
När du väljer OK för att skapa en ny resurs uppmanas du att använda övervakningsinställningar. Om du väljer Fortsätt länkar du din nya Application Insights-resurs till din apptjänst. Apptjänsten startas sedan om.
Viktigt!
Om både övervakning av autoinstrumentation och manuell SDK-baserad instrumentation identifieras respekteras endast de manuella instrumentationsinställningarna. Det här arrangemanget förhindrar att dubbletter av data skickas. Mer information finns i avsnittet Felsökning.
Kommentar
Du kan konfigurera den automatiskt anslutna agenten APPLICATIONINSIGHTS_CONFIGURATION_CONTENT med hjälp av miljövariabeln på bladet App Service-miljön variabel. Mer information om de konfigurationsalternativ som kan skickas via den här miljövariabeln finns i Node.js Konfiguration.
Application Insights för Node.js är integrerat med Azure App Service på Linux – både kodbaserade och anpassade containrar och med App Service i Windows för kodbaserade appar. Integreringen finns i en offentlig förhandsversion.
Automatisk instrumentering i Azure Portal
Välj Application Insights i den vänstra navigeringsmenyn i apptjänsten och välj sedan Aktivera.
Skapa en ny resurs eller välj en befintlig Application Insights-resurs för det här programmet.
Kommentar
När du väljer OK för att skapa en ny resurs uppmanas du att använda övervakningsinställningar. Om du väljer Fortsätt länkar du din nya Application Insights-resurs till din apptjänst. Apptjänsten startas sedan om.
När du har angett vilken resurs som ska användas är du redo att gå.
Använd endast autoinstrumentation i App Service om du inte använder manuell instrumentering av OpenTelemetry i koden, till exempel Azure Monitor OpenTelemetry Distro eller Azure Monitor OpenTelemetry Exporter. Detta för att förhindra att dubbletter av data skickas. Mer information om detta finns i felsökningsavsnittet i den här artikeln.
Application Insights för Python integreras med kodbaserad Linux Azure App Service. Integreringen är i offentlig förhandsversion och lägger till Python SDK, som finns i GA. Det instrumenterar populära Python-bibliotek i koden så att du automatiskt kan samla in och korrelera beroenden, loggar och mått. Information om vilka anrop och mått som samlas in finns i Python-bibliotek
Loggningstelemetri samlas in på rotloggarens nivå. Mer information om Pythons interna loggningshierarki finns i dokumentationen för Python-loggning.
Förutsättningar
Python version 3.11 eller tidigare.
App Service måste distribueras som kod. Anpassade containrar stöds inte.
Automatisk instrumentering i Azure Portal
Välj Application Insights i den vänstra navigeringsmenyn i apptjänsten och välj sedan Aktivera.
Skapa en ny resurs eller välj en befintlig Application Insights-resurs för det här programmet.
Kommentar
När du väljer OK för att skapa en ny resurs uppmanas du att använda övervakningsinställningar. Om du väljer Fortsätt länkar du din nya Application Insights-resurs till din apptjänst. Apptjänsten startas sedan om.
Du anger resursen och är redo att använda den.
Python-bibliotek
Efter instrumenteringen samlar du in anrop och mått från dessa Python-bibliotek:
För att kunna använda OpenTelemetry Django-instrumentationen DJANGO_SETTINGS_MODULE måste du ange miljövariabeln i App Service-inställningarna så att den pekar från appmappen till inställningsmodulen.
Mer information finns i Django-dokumentationen.
Lägga till ett bibliotek för communityinstrumentation
Du kan samla in mer data automatiskt när du inkluderar instrumentationsbibliotek från OpenTelemetry-communityn.
Varning
Vi stöder inte eller garanterar inte kvaliteten på communityinstrumentationsbibliotek. Att föreslå en för vår distribution, post eller up-vote i vår feedback community. Tänk på att vissa baseras på experimentella OpenTelemetry-specifikationer och kan introducera framtida icke-bakåtkompatibla ändringar.
Om du vill lägga till communityns OpenTelemetry Instrumentation Library installerar du det via appens requirements.txt fil. OpenTelemetry autoinstrumentation plockar automatiskt upp och instrumenterar alla installerade bibliotek. Hitta listan över communitybibliotek här.
Uppgradering från version 2.8.9 sker automatiskt, utan några extra åtgärder. De nya övervakningsbitarna levereras i bakgrunden till målapptjänsten och hämtas vid omstart av programmet.
Om du vill kontrollera vilken version av tillägget du kör går du till https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Uppgradera från version 1.0.0 – 2.6.5
Från och med version 2.8.9 används det förinstallerade webbplatstillägget. Om du använder en tidigare version kan du uppdatera på något av två sätt:
Uppgradera genom att aktivera via Azure Portal: Även om du har Application Insights-tillägget för App Service installerat visar användargränssnittet bara knappen Aktivera. I bakgrunden tas det gamla privata webbplatstillägget bort.
Ange programinställningarna för att aktivera det förinstallerade webbplatstillägget ApplicationInsightsAgent. Mer information finns i Aktivera via PowerShell.
Ta bort det privata webbplatstillägget med namnet Application Insights-tillägget för Azure App Service manuellt.
Om uppgraderingen är klar från en version före 2.5.1 kontrollerar du att ApplicationInsights DLL:erna tas bort från mappen programlager. Mer information finns i Felsökning.
Uppgradera från version 2.8.9 och senare
Uppgradering från version 2.8.9 sker automatiskt, utan några extra åtgärder. De nya övervakningsbitarna levereras i bakgrunden till målapptjänsten och hämtas vid omstart av programmet.
Om du vill kontrollera vilken version av tillägget du kör går du till https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Uppgradera från version 1.0.0 – 2.6.5
Från och med version 2.8.9 används det förinstallerade webbplatstillägget. Om du använder en tidigare version kan du uppdatera på något av två sätt:
Uppgradera genom att aktivera via Azure Portal: Även om du har Application Insights-tillägget för App Service installerat visar användargränssnittet bara knappen Aktivera. I bakgrunden tas det gamla privata webbplatstillägget bort.
Ange programinställningarna för att aktivera det förinstallerade webbplatstillägget ApplicationInsightsAgent. Mer information finns i Aktivera via PowerShell.
Ta bort det privata webbplatstillägget med namnet Application Insights-tillägget för Azure App Service manuellt.
Om uppgraderingen är klar från en version före 2.5.1 kontrollerar du att ApplicationInsights DLL:erna tas bort från mappen programlager. Mer information finns i Felsökning.
Application Insights Java-versionen uppdateras automatiskt som en del av App Service-uppdateringar. Om du stöter på ett problem som har åtgärdats i den senaste versionen av Application Insights Java-agenten kan du uppdatera det manuellt.
Ladda upp Jar-filen för Java-agenten till App Service.
a. Hämta först den senaste versionen av Azure CLI genom att följa anvisningarna här.
b. Hämta sedan den senaste versionen av Application Insights Java-agenten genom att följa anvisningarna här.
c. Distribuera sedan Java-agentens jar-fil till App Service med följande kommando: az webapp deploy --src-path applicationinsights-agent-{VERSION_NUMBER}.jar --target-path java/applicationinsights-agent-{VERSION_NUMBER}.jar --type static --resource-group {YOUR_RESOURCE_GROUP} --name {YOUR_APP_SVC_NAME}. Du kan också använda den här guiden för att distribuera agenten via Plugin-programmet Maven.
Inaktivera Application Insights via fliken Application Insights i Azure Portal.
När agent jar-filen har laddats upp går du till App Service-konfigurationer. Om du behöver använda startkommandot för Linux ska du inkludera JVM-argument:
Startkommandot respekterar JAVA_OPTS inte JavaSE eller CATALINA_OPTS Tomcat.
Om du inte använder startkommandot skapar du en ny miljövariabel för JAVA_OPTS JavaSE eller CATALINA_OPTS Tomcat med värdet -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar.
Starta om appen om du vill tillämpa ändringarna.
Kommentar
Om du anger JAVA_OPTS för JavaSE eller CATALINA_OPTS för Miljövariabeln Tomcat måste du inaktivera Application Insights i Azure Portal. Om du föredrar att aktivera Application Insights från Azure Portal kontrollerar du att du inte anger JAVA_OPTS för JavaSE eller CATALINA_OPTS för Tomcat-variabeln i App Service-konfigurationsinställningarna.
Application Insights Node.js-versionen uppdateras automatiskt som en del av App Service-uppdateringar och kan inte uppdateras manuellt.
Om du stöter på ett problem som har åtgärdats i den senaste versionen av Application Insights SDK kan du ta bort autoinstrumentation och manuellt instrumentera ditt program med den senaste SDK-versionen.
Application Insights Python-versionen uppdateras automatiskt som en del av App Service-uppdateringar och kan inte uppdateras manuellt.
Om du stöter på ett problem som har åtgärdats i den senaste versionen av Application Insights SDK kan du ta bort autoinstrumentation och manuellt instrumentera ditt program med den senaste SDK-versionen.
Vi erbjuder för närvarande inte alternativ för att konfigurera övervakningstillägget för ASP.NET Core.
För att konfigurera sampling, som du tidigare kunde styra via filen applicationinsights.config , kan du nu interagera med den via programinställningar med motsvarande prefix MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor.
Om du till exempel vill ändra den inledande samplingsprocenten kan du skapa en programinställning för MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage och värdet 100.
Om du vill inaktivera sampling anger du MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage värdet 100.
En lista över inställningar och definitioner för anpassningsbar sampling av telemetriprocessorer som stöds finns i dokumentationen för kod och sampling.
När du har angett vilken resurs som ska användas kan du konfigurera Java-agenten. Om du inte konfigurerar Java-agenten gäller standardkonfigurationer.
Den fullständiga uppsättningen konfigurationer är tillgänglig. Du behöver bara klistra in en giltig json-fil. Undanta anslutningssträng och alla konfigurationer som finns i förhandsversionen – du kan lägga till de objekt som för närvarande är i förhandsversion när de blir allmänt tillgängliga.
När du har modifierat konfigurationerna via Azure Portal APPLICATIONINSIGHTS_CONFIGURATION_FILE fylls miljövariabeln automatiskt i och visas på panelen App Service-inställningar. Den här variabeln innehåller det fullständiga json-innehåll som du klistrade in i textrutan Azure Portal konfiguration för din Java-app.
Node.js-agenten kan konfigureras med JSON. APPLICATIONINSIGHTS_CONFIGURATION_CONTENT Ange miljövariabeln till JSON-strängen eller ange APPLICATIONINSIGHTS_CONFIGURATION_FILE miljövariabeln till filsökvägen som innehåller JSON.
Anger de OpenTelemetry-resursattribut som är associerade med ditt program. Du kan ange alla resursattribut med OTEL_RESOURCE_ATTRIBUTES eller använda OTEL_SERVICE_NAME för att endast ange service.name.
OTEL_LOGS_EXPORTER
Om värdet är Noneinaktiveras insamling och export av loggningstelemetri.
OTEL_METRICS_EXPORTER
Om värdet är Noneinställt på inaktiveras insamling och export av måtttelemetri.
OTEL_TRACES_EXPORTER
Om värdet är Noneinaktiverar du insamling och export av distribuerad spårningstelemetri.
OTEL_BLRP_SCHEDULE_DELAY
Anger loggningsexportintervallet i millisekunder. Standardvärdet är 5 000.
OTEL_BSP_SCHEDULE_DELAY
Anger exportintervallet för distribuerad spårning i millisekunder. Standardvärdet är 5 000.
OTEL_TRACES_SAMPLER_ARG
Anger förhållandet mellan distribuerad spårningstelemetri som ska samplas. Godkända värden sträcker sig från 0 till 1. Standardvärdet är 1.0, vilket innebär att ingen telemetri samplas ut.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
Anger vilka OpenTelemetry-instrumentationer som ska inaktiveras. När instrumenteringar är inaktiverade körs de inte som en del av autoinstrumentationen. Accepterar en kommaavgränsad lista med gemena biblioteksnamn. Ange den till exempel för "psycopg2,fastapi" att inaktivera Psycopg2- och FastAPI-instrumentationerna. Den är som standard en tom lista som aktiverar alla instrumentationer som stöds.
Övervakning på klientsidan är aktiverat som standard för ASP.NET Core-appar med rekommenderad samling, oavsett om appinställningen APPINSIGHTS_JAVASCRIPT_ENABLED finns.
Om du vill inaktivera övervakning på klientsidan:
Välj Inställningar>Konfiguration.
Under Programinställningar skapar du en ny programinställning med följande information:
Namn: APPINSIGHTS_JAVASCRIPT_ENABLED
Värde: false
Spara inställningarna. Starta om appen.
Övervakning på klientsidan är ett alternativ för ASP.NET. Så här aktiverar du övervakning på klientsidan:
Välj Inställningar>Konfiguration.
Under Programinställningar skapar du en ny programinställning:
Namn: Ange APPINSIGHTS_JAVASCRIPT_ENABLED.
Värde: Ange sant.
Spara inställningarna och starta om appen.
Om du vill inaktivera övervakning på klientsidan tar du antingen bort det associerade nyckelvärdeparet från programinställningarna eller ställer in värdet på false.
I standardläge är endast viktiga funktioner aktiverade för att säkerställa optimala prestanda.
disabled eller recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk
Endast för ASP.NET Core-appar. Aktiverar Interop (interoperation) med Application Insights SDK. Läser in tillägget sida vid sida med SDK:t och använder det för att skicka telemetri. (Inaktiverar Application Insights SDK.)
1
Definitioner för programinställningar
Namn på appinställning
Definition
Värde
ApplicationInsightsAgent_EXTENSION_VERSION
Huvudtillägget, som styr körningsövervakning.
~2
XDT_MicrosoftApplicationInsights_Mode
I standardläge är endast viktiga funktioner aktiverade för att säkerställa optimala prestanda.
default eller recommended
InstrumentationEngine_EXTENSION_VERSION
Styr om motorn InstrumentationEngine för binär omskrivning är aktiverad. Den här inställningen har prestandakonsekvenser och påverkar kall start-/starttid.
~1
XDT_MicrosoftApplicationInsights_BaseExtensions
Styr om SQL- och Azure-tabelltext samlas in tillsammans med beroendeanropen. Prestandavarning: Programmets kalla starttid påverkas. Den här inställningen kräver InstrumentationEngine.
~1
Definitioner för programinställningar
Namn på appinställning
Definition
Värde
ApplicationInsightsAgent_EXTENSION_VERSION
Huvudtillägget, som styr körningsövervakning.
~2 i Windows eller ~3 i Linux.
XDT_MicrosoftApplicationInsights_Java
Flagga för att kontrollera om Java-agenten ingår.
0 eller 1 (gäller endast i Windows).
Kommentar
Felsökningsprogrammet för ögonblicksbilder är inte tillgängligt för Java-program.
Definitioner för programinställningar
Namn på appinställning
Definition
Värde
ApplicationInsightsAgent_EXTENSION_VERSION
Huvudtillägget, som styr körningsövervakning.
~2 i Windows eller ~3 i Linux.
XDT_MicrosoftApplicationInsights_NodeJS
Flagga för att styra om Node.js agent ingår.
0 eller 1 (gäller endast i Windows).
Kommentar
Felsökningsprogrammet för ögonblicksbilder är inte tillgängligt för Node.js program.
Definitioner för programinställningar
Namn på appinställning
Definition
Värde
APPLICATIONINSIGHTS_CONNECTION_STRING
Anslutningssträng för application insights-resursen.
Exempel: abcd1234-ab12-cd34-abcd1234abcd
ApplicationInsightsAgent_EXTENSION_VERSION
Huvudtillägget, som styr körningsövervakning.
~3
Kommentar
Felsökningsprogrammet för ögonblicksbilder är inte tillgängligt för Python-program.
App Service-programinställningar med Azure Resource Manager
Programinställningar för Azure App Service kan hanteras och konfigureras med Azure Resource Manager-mallar. Du kan använda den här metoden när du distribuerar nya App Service-resurser med Resource Manager-automatisering eller ändrar inställningarna för befintliga resurser.
Den grundläggande strukturen för JSON för programinställningar för en App Service-resurs:
För ett exempel på en Resource Manager-mall med programinställningar som konfigurerats för Application Insights kan den här mallen vara till hjälp. Mer information finns i avsnittet som börjar på rad 238.
Automatisera skapandet av en Application Insights-resurs och länka till din nyligen skapade App Service-resurs
Om du vill skapa en Resource Manager-mall med standardinställningarna för Application Insights börjar du processen som om du skulle skapa en ny webbapp med Application Insights aktiverat.
Skapa en ny App Service-resurs med önskad webbappsinformation. Aktivera Application Insights på fliken Övervakning .
Välj Granska + skapa. Välj sedan Ladda ned en mall för automatisering.
Det här alternativet genererar den senaste Resource Manager-mallen med alla nödvändiga inställningar konfigurerade.
I följande exempel ersätter du alla instanser av AppMonitoredSite med webbplatsnamnet:
Kommentar
Om du använder Windows anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~2. Om du använder Linux anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~3.
För att aktivera programövervakning via PowerShell måste endast de underliggande programinställningarna ändras. Följande exempel aktiverar programövervakning för en webbplats som heter AppMonitoredSite i resursgruppen AppMonitoredRG. Den konfigurerar data som ska skickas till instrumentationsnyckeln 012345678-abcd-ef01-2345-6789abcd .
Om du använder Windows anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~2. Om du använder Linux anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~3.
Det här avsnittet innehåller svar på vanliga frågor.
Vad ändrar Application Insights i mitt projekt?
Informationen beror på typen av projekt. Följande lista är ett exempel för ett webbprogram.
Lägger till filer i projektet:
ApplicationInsights.config
ai.js
Installerar NuGet-paket:
Application Insights API: Kärn-API:et
Application Insights API för webbprogram: Används för att skicka telemetri från servern
Application Insights API för JavaScript-program: Används för att skicka telemetri från klienten
Innehåller sammansättningar i paket:
Microsoft.ApplicationInsights
Microsoft.ApplicationInsights.Platform
Infogar objekt i:
Web.config
packages.config
Infogar kodfragment i klient- och serverkoden för att initiera dem med Application Insights-resurs-ID:t. I en MVC-app infogas till exempel kod i huvudsidan Views/Shared/_Layout.cshtml. Endast för nya projekt lägger du till Application Insights i ett befintligt projekt manuellt.
Vad är skillnaden mellan standardmått från Application Insights jämfört med Azure App Service-mått?
Application Insights samlar in telemetri för de begäranden som gjorde det till programmet. Om felet inträffar i WebApps/WebServer och begäran inte nådde användarprogrammet har Application Insights ingen telemetri om det.
Varaktigheten för serverresponsetime beräknad av Application Insights matchar inte nödvändigtvis serverns svarstid som observeras av Web Apps. Det här beteendet beror på att Application Insights bara räknar varaktigheten när begäran faktiskt når användarprogrammet. Om begäran har fastnat eller placerats i kö i WebServer inkluderas väntetiden i Web Apps-måtten men inte i Application Insights-mått.
Felsökning
Testa anslutningen mellan programvärden och inmatningstjänsten
Application Insights SDK:er och agenter skickar telemetri för att matas in som REST-anrop till våra inmatningsslutpunkter. Du kan testa anslutningen från webbservern eller programvärddatorn till slutpunkterna för inmatningstjänsten med hjälp av råa REST-klienter från PowerShell- eller curl-kommandon. Se Felsöka programtelemetri som saknas i Azure Monitor Application Insights.
När du skapar en webbapp med körningen i App Service distribuerar den ASP.NET Core en enda statisk HTML-sida som en startwebbplats. Vi rekommenderar inte att du felsöker ett problem med standardmallen. Distribuera ett program innan du felsöker ett problem.
Telemetri saknas
Windows
Kontrollera att appinställningen ApplicationInsightsAgent_EXTENSION_VERSION är inställd på värdet ~2.
Bläddra till https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Bekräfta att Application Insights-tilläggsstatusen är Pre-Installed Site Extension, version 2.8.x.xxxx, is running.
Bekräfta att statuskällan finns och ser ut som Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.
Om ett liknande värde inte finns innebär det att programmet för närvarande inte körs eller inte stöds. För att säkerställa att programmet körs kan du prova att manuellt besöka programmets URL/programslutpunkter, vilket gör att körningsinformationen blir tillgänglig.
Bekräfta att IKeyExists är True. Om det är Falselägger du till APPINSIGHTS_INSTRUMENTATIONKEY och APPLICATIONINSIGHTS_CONNECTION_STRING med ditt ikey-GUID i dina programinställningar.
Om ditt program refererar till application insights-paket kanske det inte börjar gälla att aktivera App Service-integreringen och data kanske inte visas i Application Insights. Ett exempel skulle vara om du tidigare instrumenterade eller försökte instrumentera din app med ASP.NET Core SDK. Åtgärda problemet genom att i Azure Portal aktivera Interop med Application Insights SDK.
Viktigt!
Den här funktionen är i förhandsversion.
Data skickas med en kodlös metod, även om Application Insights SDK ursprungligen användes eller försökte användas.
Viktigt!
Om programmet använde Application Insights SDK för att skicka telemetri inaktiveras telemetrin. Med andra ord inaktiveras anpassad telemetri (till exempel alla Track*() metoder) och anpassade inställningar (till exempel sampling).
Linux
Kontrollera att appinställningen ApplicationInsightsAgent_EXTENSION_VERSION är inställd på värdet ~3.
Bläddra till https://your site name.scm.azurewebsites.net/ApplicationInsights.
På den här webbplatsen bekräftar du:
Statuskällan finns och ser ut som Status source /var/log/applicationinsights/status_abcde1234567_89_0.json.
Värdet Auto-Instrumentation enabled successfully visas. Om ett liknande värde inte finns innebär det att programmet inte körs eller inte stöds. För att säkerställa att programmet körs kan du prova att manuellt besöka programmets URL/programslutpunkter, vilket gör att körningsinformationen blir tillgänglig.
IKeyExists är True. Om det är Falselägger du till APPINSIGHTS_INSTRUMENTATIONKEY och APPLICATIONINSIGHTS_CONNECTION_STRING med ditt ikey-GUID i dina programinställningar.
Standardwebbplatsen som distribueras med webbappar stöder inte automatisk övervakning på klientsidan
När du skapar en webbapp med ASP.NET Core-körningar i App Service distribuerar den en enda statisk HTML-sida som en startwebbplats. Den statiska webbsidan läser också in en ASP. NET-hanterad webbdel i IIS. Det här beteendet möjliggör testning av kodlös övervakning på serversidan, men stöder inte automatisk övervakning på klientsidan.
Om du vill testa kodlös övervakning på server- och klientsidan för ASP.NET Core i en App Service-webbapp rekommenderar vi att du följer de officiella guiderna för att skapa en ASP.NET Core-webbapp. Därefter använder du anvisningarna i den aktuella artikeln för att aktivera övervakning.
PHP och WordPress stöds inte
PHP- och WordPress-webbplatser stöds inte. Det finns för närvarande ingen officiellt stödd SDK/agent för övervakning på serversidan av dessa arbetsbelastningar. Om du vill spåra transaktioner på klientsidan på en PHP- eller WordPress-webbplats lägger du till JavaScript på klientsidan på dina webbsidor med hjälp av JavaScript SDK.
Följande tabell innehåller en förklaring av vad dessa värden betyder, deras underliggande orsaker och rekommenderade korrigeringar.
Problemvärde
Förklaring
Åtgärda
AppAlreadyInstrumented:true
Det här värdet anger att tillägget identifierade någon aspekt av SDK:et som redan finns i programmet och säkerhetskopierar. En referens till Microsoft.ApplicationInsights.AspNetCore eller Microsoft.ApplicationInsights kan orsaka det här värdet.
Ta bort referenserna. Vissa av dessa referenser läggs som standard till från vissa Visual Studio-mallar. Äldre versioner av Visual Studio-referensen Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
Förekomsten av Microsoft.ApplicationsInsights DLL i appmappen från en tidigare distribution kan också orsaka det här värdet.
Rensa appmappen för att säkerställa att dessa DLL:er tas bort. Kontrollera både den lokala appens bin-katalog och katalogen wwwroot i App Service. (Om du vill kontrollera wwwroot-katalogen för din App Service-webbapp väljer du Advanced Tools (Kudu) >Felsökningskonsol>CMD>home\site\wwwroot).
IKeyExists:false
Det här värdet anger att instrumentationsnyckeln inte finns i appinställningen APPINSIGHTS_INSTRUMENTATIONKEY. Möjliga orsaker är att oavsiktligt ta bort värdena eller glömma att ange värdena i automationsskriptet.
Kontrollera att inställningen finns i App Service-programinställningarna.
Kommentar
När du skapar en webbapp med körningen i App Service distribuerar den ASP.NET en enda statisk HTML-sida som en startwebbplats. Vi rekommenderar inte att du felsöker ett problem med en standardmall. Distribuera ett program innan du felsöker ett problem.
Telemetri saknas
Kontrollera att appinställningen ApplicationInsightsAgent_EXTENSION_VERSION är inställd på värdet ~2.
Bläddra till https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Bekräfta att Application Insights Extension Status är Pre-Installed Site Extension, version 2.8.x.xxxx och körs.
Bekräfta att statuskällan finns och ser ut som Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.
Om ett liknande värde inte finns innebär det att programmet för närvarande inte körs eller inte stöds. För att säkerställa att programmet körs kan du prova att manuellt besöka programmets URL/programslutpunkter, vilket gör att körningsinformationen blir tillgänglig.
Bekräfta att är IKeyExiststrue.
Om inte lägger du till APPINSIGHTS_INSTRUMENTATIONKEY och APPLICATIONINSIGHTS_CONNECTION_STRING med instrumentationsnyckeln GUID i dina programinställningar.
Bekräfta att det inte finns några poster för AppAlreadyInstrumented, AppContainsDiagnosticSourceAssemblyoch AppContainsAspNetTelemetryCorrelationAssembly.
Om någon av dessa poster finns tar du bort följande paket från ditt program: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSourceoch Microsoft.AspNet.TelemetryCorrelation.
Standardwebbplatsen som distribueras med webbappar stöder inte automatisk övervakning på klientsidan
När du skapar en webbapp med ASP.NET-körningar i App Service distribuerar den en enda statisk HTML-sida som en startwebbplats. Den statiska webbsidan läser också in en ASP. NET-hanterad webbdel i IIS. Den här sidan tillåter testning av kodlös övervakning på serversidan men stöder inte automatisk övervakning på klientsidan.
Om du vill testa kodlös övervakning på server- och klientsidan för ASP.NET i en App Service-webbapp rekommenderar vi att du följer de officiella guiderna för att skapa en ASP.NET Framework-webbapp. Därefter använder du anvisningarna i den aktuella artikeln för att aktivera övervakning.
APPINSIGHTS_JAVASCRIPT_ENABLED och urlCompression stöds inte
Om du använder APPINSIGHTS_JAVASCRIPT_ENABLED=true i fall där innehåll är kodat kan du få fel som:
500 URL-omskrivningsfel.
500.53 URL-omskrivningsmodulfel med meddelandet "Regler för utgående omskrivning kan inte tillämpas när innehållet i HTTP-svaret är kodat ('gzip')."
Ett fel uppstår eftersom programinställningen APPINSIGHTS_JAVASCRIPT_ENABLED är inställd true på och innehållskodning finns samtidigt. Det här scenariot stöds inte ännu. Lösningen är att ta bort APPINSIGHTS_JAVASCRIPT_ENABLED från programinställningarna. Om JavaScript-instrumentation på klient-/webbläsarsidan fortfarande krävs krävs tyvärr manuella SDK-referenser för dina webbsidor. Följ anvisningarna för manuell instrumentering med JavaScript SDK.
Den senaste informationen om Application Insights-agenten/tillägget finns i viktig information.
PHP och WordPress stöds inte
PHP- och WordPress-webbplatser stöds inte. Det finns för närvarande ingen officiellt stödd SDK/agent för övervakning på serversidan av dessa arbetsbelastningar. Om du vill spåra transaktioner på klientsidan på en PHP- eller WordPress-webbplats lägger du till JavaScript på klientsidan på dina webbsidor med hjälp av JavaScript SDK.
Följande tabell innehåller en förklaring av vad dessa värden betyder, deras underliggande orsaker och rekommenderade korrigeringar.
Problemvärde
Förklaring
Åtgärda
AppAlreadyInstrumented:true
Det här värdet anger att tillägget identifierade någon aspekt av SDK:et som redan finns i programmet och säkerhetskopierar. En referens till System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelationeller Microsoft.ApplicationInsights kan orsaka det här värdet.
Ta bort referenserna. Vissa av dessa referenser läggs som standard till från vissa Visual Studio-mallar. Äldre versioner av Visual Studio kan lägga till referenser till Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
Förekomsten av de föregående DLL:erna i appmappen från en tidigare distribution kan också orsaka det här värdet.
Rensa appmappen för att säkerställa att dessa DLL:er tas bort. Kontrollera både den lokala appens bin-katalog och katalogen wwwroot på App Service-resursen. Om du vill kontrollera wwwroot-katalogen för apptjänstens webbapp väljer du Avancerade verktyg (Kudu)>Felsökningskonsol>cmd>home\site\wwwroot.
Det här värdet anger att tillägget identifierade referenser till Microsoft.AspNet.TelemetryCorrelation i programmet och säkerhetskopieras.
Ta bort referensen.
AppContainsDiagnosticSourceAssembly**:true
Det här värdet anger att tillägget identifierade referenser till System.Diagnostics.DiagnosticSource i programmet och säkerhetskopieras.
Ta bort referensen för ASP.NET.
IKeyExists:false
Det här värdet anger att instrumentationsnyckeln inte finns i appinställningen APPINSIGHTS_INSTRUMENTATIONKEY. Möjliga orsaker kan vara att värdena har tagits bort av misstag eller att du har glömt att ange värdena i automationsskriptet.
Kontrollera att inställningen finns i App Service-programinställningarna.
System.IO.FileNotFoundException efter uppgraderingen 2.8.44
2.8.44-versionen av autoinstrumentation uppgraderar Application Insights SDK till 2.20.0. Application Insights SDK har en indirekt referens till System.Runtime.CompilerServices.Unsafe.dll via System.Diagnostics.DiagnosticSource.dll. Om programmet har bindningsomdirigering för System.Runtime.CompilerServices.Unsafe.dll och om det här biblioteket inte finns i programmappen kan det utlösa System.IO.FileNotFoundException.
Lös problemet genom att ta bort bindningsomdirigeringsposten för System.Runtime.CompilerServices.Unsafe.dll från filen web.config. Om programmet vill använda System.Runtime.CompilerServices.Unsafe.dllanger du bindningsomdirigeringen enligt följande:
Som en tillfällig lösning kan du ange appinställningen ApplicationInsightsAgent_EXTENSION_VERSION till värdet 2.8.37. Den här inställningen utlöser App Service för att använda det gamla Application Insights-tillägget. Tillfälliga åtgärder bör endast användas som en tillfällig åtgärd.
Telemetri saknas
Kontrollera att ApplicationInsightsAgent_EXTENSION_VERSION appinställningen är inställd på värdet ~2 för i Windows, ~3 i Linux
Granska loggfilen för att se att agenten startade: bläddra till https://yoursitename.scm.azurewebsites.net/, under SSH-ändring till rotkatalogen finns loggfilen under LogFiles/ApplicationInsights.
När du har aktiverat programövervakning för din Java-app kan du verifiera att agenten fungerar genom att titta på live-måtten – även innan du distribuerar och appar till App Service ser du några begäranden från miljön. Kom ihåg att den fullständiga uppsättningen telemetri endast är tillgänglig när du har distribuerat och kört appen.
Ange APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL miljövariabeln till debug om du inte ser några fel och det inte finns någon telemetri.
Telemetri saknas
Windows
Kontrollera att ApplicationInsightsAgent_EXTENSION_VERSION appinställningen är inställd på värdet ~2.
Bläddra till https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Bekräfta att Application Insights Extension Status är Pre-Installed Site Extension, version 2.8.x.xxxx, is running.
Om den inte körs följer du anvisningarna för att aktivera Application Insights-övervakning.
Gå till D:\local\Temp\status.json och öppna status.json.
Bekräfta att SDKPresent är inställt på false, AgentInitializedSuccessfully true och IKey att ha en giltig iKey.
Om du använder autoinstrumentation ovanpå den manuella instrumentationen kan det orsaka duplicerad telemetri och öka kostnaden. Om du vill använda Autoinstrumentation för App Service OpenTelemetry tar du först bort manuell instrumentation av OpenTelemetry från koden.
Telemetri saknas
Om du saknar telemetri följer du de här stegen för att bekräfta att automatisk instrumentering är korrekt aktiverad.
Bekräfta att autoinstrumentation är aktiverat i Application Insights-upplevelsen på din App Service-resurs.
Bekräfta att appinställningen ApplicationInsightsAgent_EXTENSION_VERSION är inställd på ett värde för ~3 och att dina APPLICATIONINSIGHTS_CONNECTION_STRING pekar på lämplig Application Insights-resurs.
Kontrollera diagnostik och statusloggar för automatisk instrumentering.
a. Gå till /var/log/applicationinsights/ och öppna status_*.json.
b. Bekräfta att AgentInitializedSuccessfully är inställt på true och IKey att ha en giltig iKey.
Filen applicationinsights-extension.log i samma mapp kan visa annan användbar diagnostik.
Django-appar
Om din app använder Django och inte kan starta eller använda felaktiga inställningar måste du ange DJANGO_SETTINGS_MODULE miljövariabeln. Mer information finns i avsnittet Django Instrumentation .
Det här avsnittet innehåller viktig information för Azure App Service baserat på ANT-versionen för körningsinstrumentation med Application Insights.
Om du vill ta reda på vilken version av tillägget du använder för närvarande går du till https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.
Separera .NET/.NET Core, Java och Node.js paket i olika App Service Windows-webbplatstillägg.
2.8.42
Självdefinierade distributioner och .NET 6.0-stöd har lagts till med hjälp av .NET Startup Hook.
2.8.41
Har tagits bort från supportversionen (2.1). Versioner som stöds är 3.1 och 5.0.
2.8.39
Stöd för .NET Core 5.0 har lagts till.
2.8.38
Versioner som inte stöds har tagits bort (2.0, 2.2, 3.0). Versioner som stöds är 2.1 och 3.1.
2.8.37
AppSvc Windows-tillägg: Fick .NET Core att fungera med valfri version av System.Diagnostics.DiagnosticSource.dll.
2.8.36
AppSvc Windows-tillägg: Aktiverat Inter-op med AI SDK i .NET Core.
2.8.35
AppSvc Windows-tillägg: Stöd för .NET Core 3.1 har lagts till.
2.8.33
.NET, .NET Core, Java och Node.js agenter och Windows-tillägget: Stöd för nationella moln. Anslutningssträngar kan användas för att skicka data till nationella moln.
2.8.31
ASP.NET Core-agenten åtgärdade ett problem med Application Insights SDK. Om körningen läste in den felaktiga versionen av System.Diagnostics.DiagnosticSource.dllkraschar inte det kodlösa tillägget programmet och säkerhetskopieras. För att åtgärda problemet bör kunderna ta bort System.Diagnostics.DiagnosticSource.dll från mappen bin eller använda den äldre versionen av tillägget genom att ange ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. Om de inte gör det är programövervakning inte aktiverat.
2.8.26
Ett problem som rör uppdaterad Application Insights SDK har åtgärdats. Agenten försöker inte läsa in AiHostingStartup om ApplicationInsights.dll redan finns i mappen bin. Den löser problem som rör reflektion via Assembly<AiHostingStartup>. GetTypes().
Kända problem: Undantag System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' kan uppstå om en annan version av DiagnosticSource dll läses in. Det kan till exempel inträffa om System.Diagnostics.DiagnosticSource.dll det finns i publiceringsmappen. Som åtgärd kan du använda den tidigare versionen av tillägget genom att ange appinställningar i apptjänster: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.
2.8.24
Ompaketerad version av 2.8.21.
2.8.23
Stöd för kodlös övervakning har lagts till ASP.NET Core 3.0.
Uppdaterade ASP.NET Core SDK till 2.8.0 för körningsversionerna 2.1, 2.2 och 3.0. Appar som riktar sig till .NET Core 2.0 fortsätter att använda 2.1.1 av SDK:et.
2.8.14
Uppdaterade ASP.NET Core SDK-versionen från 2.3.0 till den senaste (2.6.1) för appar som riktar sig till .NET Core 2.1, 2.2. Appar som riktar sig till .NET Core 2.0 fortsätter att använda 2.1.1 av SDK:et.
2.8.12
Stöd för ASP.NET Core 2.2-appar.
En bugg har åtgärdats i ASP.NET Core-tillägget som orsakar inmatning av SDK även när programmet redan har instrumenterats med SDK:t. För 2.1- och 2.2-appar gör förekomsten av ApplicationInsights.dll i programmappen att tillägget säkerhetskopieras. För 2.0-appar säkerhetskopieras tillägget endast om ApplicationInsights är aktiverat med ett UseApplicationInsights() anrop.
Permanent korrigering för ofullständigt HTML-svar för ASP.NET Core-appar. Den här korrigeringen har nu utökats till att fungera för .NET Core 2.2-appar.
Stöd har lagts till för att inaktivera JavaScript-inmatning för ASP.NET Core-appar (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). För ASP.NET kärna är JavaScript-inmatningen i "Opt-Out"-läge som standard, såvida inte uttryckligen inaktiverad. (Standardinställningen görs för att behålla det aktuella beteendet.)
Åtgärdade ASP.NET Core-tilläggsfel som orsakade inmatning även om ikey inte fanns.
En bugg i SDK-versionsprefixlogiken som orsakade en felaktig SDK-version i telemetri har åtgärdats.
SDK-versionsprefix för ASP.NET Core-appar har lagts till för att identifiera hur telemetri samlades in.
SCM- ApplicationInsights-sidan har åtgärdats för att korrekt visa versionen av det förinstallerade tillägget.
2.8.10
Korrigering för ofullständigt HTML-svar för ASP.NET Core-appar.
Separera .NET/.NET Core, Java och Node.js paket i olika App Service Windows-webbplatstillägg.
2.8.33
.NET, .NET Core, Java och Node.js agenter och Windows-tillägget: Stöd för nationella moln. Anslutningssträngar kan användas för att skicka data till nationella moln.
2.8.24
Ompaketerad version av 2.8.21.
2.8.43
Separera .NET/.NET Core, Java och Node.js paket i olika App Service Windows-webbplatstillägg.
.NET, .NET Core, Java och Node.js agenter och Windows-tillägget: Stöd för nationella moln. Anslutningssträngar kan användas för att skicka data till nationella moln.
2.8.24
Ompaketerad version av 2.8.21.
2.8.43
Separera .NET/.NET Core, Java och Node.js paket i olika App Service Windows-webbplatstillägg.
2.8.42
AI SDK har uppdaterats till 2.1.8 från 2.1.7. Stöd har lagts till för användar- och systemtilldelade Microsoft Entra-hanterade identiteter.
.NET, .NET Core, Java och Node.js agenter och Windows-tillägget: Stöd för nationella moln. Anslutningssträngar kan användas för att skicka data till nationella moln.