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.
Anteckning
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ängar för att dra nytta av nya funktioner.
Aktivera Application Insights
Viktigt!
Om både autoinstrumentationsövervakning och manuell SDK-baserad instrumentation upptäcks, kommer endast inställningarna för manuell instrumentation att följas. Det här arrangemanget förhindrar att dubbletter av data skickas. Mer information finns i Felsökning.
Automatisk instrumentering i Azure-portalen
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.
Anteckning
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 Core samlingsalternativ är rekommenderade eller inaktiverade.
Viktigt!
Om både autoinstrumentationsövervakning och manuell SDK-baserad instrumentation upptäcks, kommer endast inställningarna för manuell instrumentation att följas. Det här arrangemanget förhindrar att dubbletter av data skickas. Mer information finns i Felsökning.
Anteckning
Kombinationen av APPINSIGHTS_JAVASCRIPT_ENABLED
och urlCompression
stöds inte. Mer information finns i Felsökning.
Automatisk instrumentering i Azure-portalen
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.
Anteckning
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.
Uppgifter |
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 inte 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 |
Ja |
Nej (APM-funktioner med en enda instans) |
Den här integreringen lägger till Application Insights Java 3.x och samlar automatiskt in telemetri. Du kan använda ytterligare extra konfigurationer och lägga till din egen anpassade telemetri.
Automatisk instrumentering i Azure-portalen
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.
Anteckning
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 autoinstrumentationsövervakning och manuell SDK-baserad instrumentation upptäcks, kommer endast inställningarna för manuell instrumentation att följas. Det här arrangemanget förhindrar att dubbletter av data skickas. Mer information finns i avsnittet Felsökning.
Anteckning
Du kan konfigurera den automatiskt anslutna agenten med hjälp av APPLICATIONINSIGHTS_CONFIGURATION_CONTENT
miljövariabeln i variabelpanelen för App Service-miljön. Mer information om de konfigurationsalternativ som kan skickas via den här miljövariabeln finns iNode.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-portalen
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.
Anteckning
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å.
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-portalen
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.
Anteckning
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:
Django-instrumentation
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.
Du kan samla in mer data automatiskt när du inkluderar instrumentationsbibliotek från OpenTelemetry-communityn.
Varning
Vi ger ingen stöd eller garanti för kvaliteten på bibliotek inom communityn för instrumentering. För att föreslå en för vår distribution, publicera eller rösta upp i vår återkopplingsgemenskap. Tänk på att vissa baseras på experimentella OpenTelemetry-specifikationer och kan introducera ändringar som bryter kompatibilitet i framtiden.
Om du vill lägga till communityns OpenTelemetry Instrumentation Library installerar du det via appens requirements.txt
fil. Autoinstrumentation i OpenTelemetry registrerar och instrumenterar automatiskt alla installerade bibliotek. Hitta listan över communitybibliotek här.
Uppgradera övervakningstillägget/agenten manuellt
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-portalen: Ä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.
Uppgradera via PowerShell:
- 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-portalen: Ä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.
Uppgradera via PowerShell:
- 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.
Punkt 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 inte JAVA_OPTS
för JavaSE eller CATALINA_OPTS
för 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.
Anteckning
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.
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 applicationinsights.config-filen , 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
till 100
.
Inställningarna som stöds är:
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_EvaluationInterval
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MaxTelemetryItemsPerSecond
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.
Exkludera anslutningssträngen 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.
"samplingPercentage": 80,
"enableAutoCollectExternalLoggers": true,
"enableAutoCollectExceptions": true,
"enableAutoCollectHeartbeat": true,
"enableSendLiveMetrics": true,
...
Den fullständiga uppsättningen konfigurationer är tillgänglig. Du behöver bara använda en giltig json-fil.
Du kan konfigurera med OpenTelemetry-miljövariabler som:
Miljövariabel |
Beskrivning |
OTEL_SERVICE_NAME , OTEL_RESOURCE_ATTRIBUTES |
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 None inaktiveras insamling och export av loggningstelemetri. |
OTEL_METRICS_EXPORTER |
Om värdet är None inställt på inaktiveras insamling och export av måtttelemetri. |
OTEL_TRACES_EXPORTER |
Om värdet är None inaktiverar 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 vilket förhållande av den distribuerade spårningstelemetrin som ska provtagas. 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 som "psycopg2,fastapi" att inaktivera Psycopg2 och FastAPI-instrumentationer. Den har som standardvärde en tom lista som aktiverar alla stödda instrumentationer. |
Aktivera övervakning på klientsidan
Ö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 frivilligt val 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.
Automatisera övervakning
För att aktivera telemetriinsamling med Application Insights behöver endast följande programinställningar anges:
Definitioner för programinställningar
Namn på appinställning |
Definition |
Värde |
ApplicationInsightsAgent_EXTENSION_VERSION |
Tillägg, som styr runtime-övervakning. |
~2 för Windows eller ~3 För Linux |
XDT_MicrosoftApplicationInsights_Mode |
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 |
Tillägg, som styr runtime-ö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 binäromskrivningsmotorn InstrumentationEngine är aktiverad. Den här inställningen har konsekvenser för prestandan och påverkar kallstart och 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 |
Tillägg, som styr runtime-ö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). |
Anteckning
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 |
Tillägg, som styr runtime-övervakning. |
~2 i Windows eller ~3 i Linux. |
XDT_MicrosoftApplicationInsights_NodeJS |
Flagg för att kontrollera om Node.js-agenten inkluderas. |
0 eller 1 (gäller endast i Windows). |
Anteckning
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 |
Tillägg, som styr runtime-övervakning. |
~3 |
Anteckning
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:
"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"
}
}
]
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.
I Azure-portalen skapar du en ny webbappresurs med önskad information.
Aktivera Application Insights på fliken Övervaka + säker .
Gå till Granska + skapa och 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.
Anteckning
Följande exempelmall är för ett .NET 8-program (LTS) som körs i Windows. Den använder platshållarna för programmets my-monitored-web-app
namn och aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
för prenumerations-ID:t.
Vi rekommenderar inte att du kopierar och använder det direkt. Generera i stället en egen mall baserat på anvisningarna ovan.
Expandera för att visa exempelmall
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string"
},
"resourceGroupName": {
"type": "string"
},
"name": {
"type": "string"
},
"location": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"serverFarmResourceGroup": {
"type": "string"
},
"alwaysOn": {
"type": "bool"
},
"ftpsState": {
"type": "string"
},
"autoGeneratedDomainNameLabelScope": {
"type": "string"
},
"sku": {
"type": "string"
},
"skuCode": {
"type": "string"
},
"workerSize": {
"type": "string"
},
"workerSizeId": {
"type": "string"
},
"numberOfWorkers": {
"type": "string"
},
"currentStack": {
"type": "string"
},
"phpVersion": {
"type": "string"
},
"netFrameworkVersion": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"apiVersion": "2022-03-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"tags": null,
"dependsOn": [
"microsoft.insights/components/my-monitored-web-app",
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference('microsoft.insights/components/my-monitored-web-app', '2015-05-01').ConnectionString]"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~2"
},
{
"name": "XDT_MicrosoftApplicationInsights_Mode",
"value": "default"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
],
"phpVersion": "[parameters('phpVersion')]",
"netFrameworkVersion": "[parameters('netFrameworkVersion')]",
"alwaysOn": "[parameters('alwaysOn')]",
"ftpsState": "[parameters('ftpsState')]"
},
"serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"clientAffinityEnabled": true,
"virtualNetworkSubnetId": null,
"httpsOnly": true,
"publicNetworkAccess": "Enabled",
"autoGeneratedDomainNameLabelScope": "[parameters('autoGeneratedDomainNameLabelScope')]"
},
"resources": [
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/scm')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/ftp')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
}
]
},
{
"apiVersion": "2018-11-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('location')]",
"kind": "",
"tags": null,
"dependsOn": [],
"properties": {
"name": "[parameters('hostingPlanName')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"zoneRedundant": false
},
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
}
},
{
"apiVersion": "2020-02-02-preview",
"name": "my-monitored-web-app",
"type": "microsoft.insights/components",
"location": "centralus",
"tags": null,
"dependsOn": [
"newWorkspaceTemplate"
],
"properties": {
"ApplicationId": "[parameters('name')]",
"Request_Source": "IbizaWebAppExtensionCreate",
"Flow_Type": "Redfield",
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS"
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "newWorkspaceTemplate",
"resourceGroup": "DefaultResourceGroup-CUS",
"subscriptionId": "[parameters('subscriptionId')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2020-08-01",
"name": "DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS",
"type": "Microsoft.OperationalInsights/workspaces",
"location": "centralus",
"properties": {}
}
]
}
}
}
]
}
Aktivera via PowerShell
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 my-monitored-web-app
i resursgruppen my-resource-group
. Den konfigurerar data som ska skickas till anslutningssträngen InstrumentationKey=012345678-abcd-ef01-2345-6789abcd
.
Anteckning
För Windows anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~2
.
För Linux anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~3
.
$app = Get-AzWebApp -ResourceGroupName "my-resource-group" -Name "my-monitored-web-app" -ErrorAction Stop
$newAppSettings = @{} # Case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # Preserve non-Application-Insights application settings.
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"; # Set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~3"; # Enable the ApplicationInsightsAgent.
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop
Felsökning
Testa anslutningen mellan din applikationsvärd och insamlingstjä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.
Anteckning
När du skapar en webbapp med ASP.NET Core
runtimerna i App Service, distribuerar den en enda statisk HTML-sida som en startsida. 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
.
Navigera 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.
Om den inte körs följer du anvisningarna i avsnittet Aktivera Application Insights-övervakning.
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 False
lägger du till APPINSIGHTS_INSTRUMENTATIONKEY
och APPLICATIONINSIGHTS_CONNECTION_STRING
med ditt ikey-GUID i dina programinställningar.
Om ditt program refererar till några Application Insights-paket kan aktiveringen av App Service-integrationen möjligen inte träda i kraft, och data kanske inte visar sig 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 aktivera Interop med Application Insights SDK i Azure-portalen.
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
.
Navigera 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 False
lä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 drar sig tillbaka. 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 Avancerade verktyg (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. |
Anteckning
När du skapar en webbapp med ASP.NET
runtimerna i App Service, distribuerar den en enda statisk HTML-sida som en startsida. 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
.
Navigera 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 att den är igång.
Om den inte körs följer du anvisningarna för att aktivera Application Insights-övervakning.
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 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
, AppContainsDiagnosticSourceAssembly
, och AppContainsAspNetTelemetryCorrelationAssembly
.
Om någon av dessa poster finns tar du bort följande paket från ditt program: Microsoft.ApplicationInsights
, System.Diagnostics.DiagnosticSource
och 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 URL-kompression 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 på true
och att 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 drar sig tillbaka. En referens till System.Diagnostics.DiagnosticSource , Microsoft.AspNet.TelemetryCorrelation 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 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. |
AppContainsAspNetTelemetryCorrelationAssembly: true |
Värdet anger att tillägget har identifierat referenser till Microsoft.AspNet.TelemetryCorrelation i programmet och drar sig tillbaka. |
Ta bort referensen. |
AppContainsDiagnosticSourceAssembly**:true |
Värdet anger att tillägget har identifierat referenser till System.Diagnostics.DiagnosticSource i programmet och drar sig tillbaka. |
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.dll
anger du bindningsomdirigeringen enligt följande:
<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>
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 interimslösning.
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.
Efter att ha aktiverat programövervakning för din Java-app kan du verifiera att agenten fungerar genom att titta på de live-metrikerna - även innan du distribuerar en app till App Service kommer du att se några förfrågningar från miljön. Kom ihåg att den fullständiga uppsättningen telemetri endast är tillgänglig när din app är distribuerad och körs.
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
.
Navigera till https://yoursitename.scm.azurewebsites.net/ApplicationInsights
.
Bekräfta att SDKPresent
är inställt på false, AgentInitializedSuccessfully
på true och att IKey
har en giltig iKey.
Exempel på JSON-filen:
"AppType":"node.js",
"MachineName":"c89d3a6d0357",
"PID":"47",
"AgentInitializedSuccessfully":true,
"SDKPresent":false,
"IKey":"00000000-0000-0000-0000-000000000000",
"SdkVersion":"1.8.10"
Om SDKPresent
är sant innebär det att tillägget har identifierat att någon aspekt av SDK redan finns i applikationen och kommer att avstå.
Linux
Kontrollera att ApplicationInsightsAgent_EXTENSION_VERSION
appinställningen är inställd på värdet ~3
.
Gå till /var/log/applicationinsights/ och öppna status.json.
Bekräfta att SDKPresent
är inställt på false, AgentInitializedSuccessfully
på true och att IKey
har en giltig iKey.
Exempel på JSON-filen:
"AppType":"node.js",
"MachineName":"c89d3a6d0357",
"PID":"47",
"AgentInitializedSuccessfully":true,
"SDKPresent":false,
"IKey":"00000000-0000-0000-0000-000000000000",
"SdkVersion":"1.8.10"
Om SDKPresent
är sant innebär det att tillägget har identifierat att någon aspekt av SDK redan finns i applikationen och kommer att avstå.
Duplicerad telemetri
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.
Om du använder autoinstrumentation ovanpå den manuella instrumentationen kan det orsaka duplicerad telemetri och öka kostnaden. För att använda App Service OpenTelemetry autoinstrumentation, börja med att ta bort eventuell manuell OpenTelemetry-instrumentering från din kod.
Om du ser oväntade avgifter eller höga kostnader i Application Insights kan den här guiden hjälpa dig. Den omfattar vanliga orsaker som hög telemetrivolym, datainmatningstoppar och felkonfigurerad sampling. Det är särskilt användbart om du felsöker problem som rör kostnadstoppar, telemetrivolym, sampling som inte fungerar, datatak, hög inmatning eller oväntad fakturering. Information om hur du kommer igång finns i Felsöka hög datainmatning i Application Insights.
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 autoinstrumenteringen är aktiverad i upplevelsen för Application Insights 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.
Exempel på JSON-fil:
"AgentInitializedSuccessfully":true,
"AppType":"python",
"MachineName":"c89d3a6d0357",
"PID":"47",
"IKey":"00000000-0000-0000-0000-000000000000",
"SdkVersion":"1.0.0"
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 .
För de senaste uppdateringarna och buggfixarna, se releasenoterna.
Nästa steg