Toepassingsbewaking inschakelen in Azure-app Service voor .NET-, Node.js-, Python- en Java-toepassingen
Artikel
Automatische instrumentatie, ook wel runtimebewaking genoemd, is de eenvoudigste manier om Application Insights in te schakelen voor Azure-app Service zonder dat hiervoor codewijzigingen of geavanceerde configuraties nodig zijn. Evalueer op basis van uw specifieke scenario of u geavanceerdere bewaking nodig hebt via handmatige instrumentatie.
Notitie
Op 31 maart 2025 eindigt de ondersteuning voor opname van instrumentatiesleutels. Opname van instrumentatiesleutels blijft werken, maar we bieden geen updates of ondersteuning meer voor de functie. Overgang naar verbindingsreeks s om te profiteren van nieuwe mogelijkheden.
Als zowel automatische instrumentatiebewaking als handmatige SDK-instrumentatie worden gedetecteerd, worden alleen de handmatige instrumentatie-instellingen gehonoreerd. Deze rangschikking voorkomt dat dubbele gegevens worden verzonden. Zie Probleemoplossing voor meer informatie.
Notitie
Alleen LTS-releases (Long Term Support) van .NET Core worden ondersteund.
Selecteer Application Insights in het linkernavigatiemenu van uw app-service en selecteer vervolgens Inschakelen.
Maak een nieuwe resource of selecteer een bestaande Application Insights-resource voor deze toepassing.
Notitie
Wanneer u OK selecteert om een nieuwe resource te maken, wordt u gevraagd bewakingsinstellingen toe te passen. Als u Continue selecteert, wordt uw nieuwe Application Insights-resource gekoppeld aan uw app-service. Uw app-service wordt vervolgens opnieuw opgestart.
Nadat u hebt opgegeven welke resource u wilt gebruiken, kunt u kiezen hoe Application Insights gegevens per platform voor uw toepassing moet verzamelen. ASP.NET Opties voor kernverzameling worden aanbevolen of uitgeschakeld.
Belangrijk
Als zowel automatische instrumentatiebewaking als handmatige SDK-instrumentatie worden gedetecteerd, worden alleen de handmatige instrumentatie-instellingen gehonoreerd. Deze rangschikking voorkomt dat dubbele gegevens worden verzonden. Zie Probleemoplossing voor meer informatie.
Notitie
De combinatie van APPINSIGHTS_JAVASCRIPT_ENABLED en urlCompression wordt niet ondersteund. Zie Probleemoplossing voor meer informatie .
Automatische instrumentatie in Azure Portal
Selecteer Application Insights in het linkernavigatiemenu van uw app-service en selecteer vervolgens Inschakelen.
Maak een nieuwe resource of selecteer een bestaande Application Insights-resource voor deze toepassing.
Notitie
Wanneer u OK selecteert om een nieuwe resource te maken, wordt u gevraagd bewakingsinstellingen toe te passen. Als u Continue selecteert, wordt uw nieuwe Application Insights-resource gekoppeld aan uw app-service. Uw app-service wordt vervolgens opnieuw opgestart.
Nadat u hebt opgegeven welke resource u wilt gebruiken, kunt u kiezen hoe Application Insights gegevens per platform voor uw toepassing moet verzamelen. ASP.NET app-bewaking standaard is ingeschakeld met twee verschillende verzamelingsniveaus, Aanbevolen en Basic.
De volgende tabel bevat een overzicht van de gegevens die voor elke route worden verzameld.
Gegevens
Aanbevolen
Basis
Voegt trends toe voor CPU, geheugen en I/O-gebruik
Ja
Nr.
Verzamelt gebruikstrends en maakt correlatie mogelijk van beschikbaarheidsresultaten tot transacties
Ja
Ja
Verzamelt uitzonderingen die niet zijn verwerkt door het hostproces
Ja
Ja
Verbetert de nauwkeurigheid van metrische APM-gegevens onder belasting, wanneer steekproeven worden gebruikt
Ja
Ja
Correleert microservices over aanvraag-/afhankelijkheidsgrenzen
Selecteer Application Insights in het linkernavigatiemenu van uw app-service en selecteer vervolgens Inschakelen.
Maak een nieuwe resource of selecteer een bestaande Application Insights-resource voor deze toepassing.
Notitie
Wanneer u OK selecteert om een nieuwe resource te maken, wordt u gevraagd bewakingsinstellingen toe te passen. Als u Continue selecteert, wordt uw nieuwe Application Insights-resource gekoppeld aan uw app-service. Uw app-service wordt vervolgens opnieuw opgestart.
Belangrijk
Als zowel automatische instrumentatiebewaking als handmatige SDK-instrumentatie worden gedetecteerd, worden alleen de handmatige instrumentatie-instellingen gehonoreerd. Deze rangschikking voorkomt dat dubbele gegevens worden verzonden. Zie de sectie Probleemoplossing voor meer informatie.
Notitie
U kunt de automatisch gekoppelde agent configureren met behulp van de APPLICATIONINSIGHTS_CONFIGURATION_CONTENT omgevingsvariabele op de blade App Service Environment-variabele. Zie Node.js Configuration voor meer informatie over de configuratieopties die kunnen worden doorgegeven via deze omgevingsvariabele.
Application Insights voor Node.js is geïntegreerd met Azure-app Service op Linux: zowel op code gebaseerde als aangepaste containers, en met App Service in Windows voor apps op basis van code. De integratie is beschikbaar als openbare preview.
Automatische instrumentatie in Azure Portal
Selecteer Application Insights in het linkernavigatiemenu van uw app-service en selecteer vervolgens Inschakelen.
Maak een nieuwe resource of selecteer een bestaande Application Insights-resource voor deze toepassing.
Notitie
Wanneer u OK selecteert om een nieuwe resource te maken, wordt u gevraagd bewakingsinstellingen toe te passen. Als u Continue selecteert, wordt uw nieuwe Application Insights-resource gekoppeld aan uw app-service. Uw app-service wordt vervolgens opnieuw opgestart.
Nadat u hebt opgegeven welke resource u wilt gebruiken, bent u klaar om te gaan.
Belangrijk
Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Notitie
Gebruik alleen auto-instrumentatie in App Service als u geen handmatige instrumentatie van OpenTelemetry gebruikt in uw code, zoals de Azure Monitor OpenTelemetry Distro of de Azure Monitor OpenTelemetry Exporter. Dit is om te voorkomen dat dubbele gegevens worden verzonden. Raadpleeg de sectie probleemoplossing in dit artikel voor meer informatie.
Application Insights voor Python kan worden geïntegreerd met op code gebaseerde Linux Azure-app Service. De integratie bevindt zich in openbare preview en voegt de Python SDK toe, die zich in algemene beschikbaarheid bevindt. Het instrumenteert populaire Python-bibliotheken in uw code, zodat u automatisch afhankelijkheden, logboeken en metrische gegevens kunt verzamelen en correleren. Zie Python-bibliotheken om te zien welke aanroepen en metrische gegevens worden verzameld
App Service moet als code worden geïmplementeerd. Aangepaste containers worden niet ondersteund.
Automatische instrumentatie in Azure Portal
Selecteer Application Insights in het linkernavigatiemenu van uw app-service en selecteer vervolgens Inschakelen.
Maak een nieuwe resource of selecteer een bestaande Application Insights-resource voor deze toepassing.
Notitie
Wanneer u OK selecteert om een nieuwe resource te maken, wordt u gevraagd bewakingsinstellingen toe te passen. Als u Continue selecteert, wordt uw nieuwe Application Insights-resource gekoppeld aan uw app-service. Uw app-service wordt vervolgens opnieuw opgestart.
U geeft de resource op en deze is klaar voor gebruik.
Python-bibliotheken
Na het instrumenteren verzamelt u aanroepen en metrische gegevens uit deze Python-bibliotheken:
Als u de OpenTelemetry Django-instrumentatie wilt gebruiken, moet u de DJANGO_SETTINGS_MODULE omgevingsvariabele instellen in de App Service-instellingen om vanuit uw app-map naar uw instellingenmodule te verwijzen.
Een bibliotheek voor community-instrumentatie toevoegen
U kunt automatisch meer gegevens verzamelen wanneer u instrumentatiebibliotheken van de OpenTelemetry-community opneemt.
Let op
We ondersteunen of garanderen de kwaliteit van community-instrumentatiebibliotheken niet. Als u een voor ons distributieprogramma wilt voorstellen, plaatst of stemt u in onze feedbackcommunity. Houd er rekening mee dat sommige zijn gebaseerd op experimentele OpenTelemetry-specificaties en kunnen toekomstige wijzigingen veroorzaken.
Als u de OpenTelemetry Instrumentation Library van de community wilt toevoegen, installeert u deze via het bestand van requirements.txt uw app. Automatische instrumentatie van OpenTelemetry haalt automatisch alle geïnstalleerde bibliotheken op en instrumenten. Zoek hier de lijst met communitybibliotheken.
Upgraden van versie 2.8.9 gebeurt automatisch, zonder extra acties. De nieuwe bewakingsbits worden op de achtergrond geleverd aan de doel-app-service en worden opgehaald bij het opnieuw opstarten van de toepassing.
Als u wilt controleren welke versie van de extensie u gebruikt, gaat u naar https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Upgrade uitvoeren van versies 1.0.0 - 2.6.5
Vanaf versie 2.8.9 wordt de vooraf geïnstalleerde site-extensie gebruikt. Als u een eerdere versie gebruikt, kunt u op twee manieren bijwerken:
Upgrade uitvoeren via Azure Portal: Zelfs als u de Application Insights-extensie voor App Service hebt geïnstalleerd, wordt in de gebruikersinterface alleen de knop Inschakelen weergegeven. Achter de schermen wordt de oude privésite-extensie verwijderd.
Stel de toepassingsinstellingen in om de vooraf geïnstalleerde site-extensie ApplicationInsightsAgentin te schakelen. Zie Inschakelen via PowerShell voor meer informatie.
Verwijder handmatig de persoonlijke site-extensie met de naam Application Insights-extensie voor Azure-app Service.
Als de upgrade wordt uitgevoerd vanaf een versie vóór 2.5.1, controleert u of de ApplicationInsights DLL's uit de map met de toepassingslocatie zijn verwijderd. Zie Probleemoplossing voor meer informatie .
Upgrade uitvoeren van versie 2.8.9 en hoger
Upgraden van versie 2.8.9 gebeurt automatisch, zonder extra acties. De nieuwe bewakingsbits worden op de achtergrond geleverd aan de doel-app-service en worden opgehaald bij het opnieuw opstarten van de toepassing.
Als u wilt controleren welke versie van de extensie u gebruikt, gaat u naar https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Upgrade uitvoeren van versies 1.0.0 - 2.6.5
Vanaf versie 2.8.9 wordt de vooraf geïnstalleerde site-extensie gebruikt. Als u een eerdere versie gebruikt, kunt u op twee manieren bijwerken:
Upgrade uitvoeren via Azure Portal: Zelfs als u de Application Insights-extensie voor App Service hebt geïnstalleerd, wordt in de gebruikersinterface alleen de knop Inschakelen weergegeven. Achter de schermen wordt de oude privésite-extensie verwijderd.
Stel de toepassingsinstellingen in om de vooraf geïnstalleerde site-extensie ApplicationInsightsAgentin te schakelen. Zie Inschakelen via PowerShell voor meer informatie.
Verwijder handmatig de persoonlijke site-extensie met de naam Application Insights-extensie voor Azure-app Service.
Als de upgrade wordt uitgevoerd vanaf een versie vóór 2.5.1, controleert u of de ApplicationInsights DLL's uit de map met de toepassingslocatie zijn verwijderd. Zie Probleemoplossing voor meer informatie .
De Java-versie van Application Insights wordt automatisch bijgewerkt als onderdeel van App Service-updates. Als er een probleem optreedt dat is opgelost in de nieuwste versie van de Application Insights Java-agent, kunt u deze handmatig bijwerken.
Upload het JAR-bestand van de Java-agent naar App Service.
a. Haal eerst de nieuwste versie van Azure CLI op door de instructies hier te volgen.
b. Haal vervolgens de nieuwste versie van de Application Insights Java-agent op door de instructies hier te volgen.
c. Implementeer vervolgens het JAR-bestand van de Java-agent naar App Service met behulp van de volgende opdracht: 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} U kunt deze handleiding ook gebruiken om de agent te implementeren via de Maven-invoegtoepassing.
Schakel Application Insights uit via het tabblad Application Insights in Azure Portal.
Zodra het JAR-bestand van de agent is geüpload, gaat u naar App Service-configuraties. Als u de opstartopdracht voor Linux wilt gebruiken, moet u JVM-argumenten opnemen:
Opstartopdracht eert niet voor JAVA_OPTS JavaSE of CATALINA_OPTS voor Tomcat.
Als u opstartopdracht niet gebruikt, maakt u een nieuwe omgevingsvariabele voor JAVA_OPTS JavaSE of CATALINA_OPTS Tomcat met de waarde-javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar.
Start de app opnieuw om de wijzigingen toe te passen.
Notitie
Als u de JAVA_OPTS omgevingsvariabele voor JavaSE of CATALINA_OPTS tomcat instelt, moet u Application Insights uitschakelen in Azure Portal. Als u Application Insights liever inschakelt vanuit Azure Portal, moet u er ook voor zorgen dat u de JAVA_OPTS variabele JavaSE of CATALINA_OPTS tomcat niet instelt in de instellingen voor App Service-configuraties.
De Application Insights-Node.js-versie wordt automatisch bijgewerkt als onderdeel van App Service-updates en kan niet handmatig worden bijgewerkt.
Als er een probleem optreedt dat is opgelost in de nieuwste versie van de Application Insights SDK, kunt u automatische instrumentatie verwijderen en uw toepassing handmatig instrumenteren met de meest recente SDK-versie.
De Python-versie van Application Insights wordt automatisch bijgewerkt als onderdeel van App Service-updates en kan niet handmatig worden bijgewerkt.
Als er een probleem optreedt dat is opgelost in de nieuwste versie van de Application Insights SDK, kunt u automatische instrumentatie verwijderen en uw toepassing handmatig instrumenteren met de meest recente SDK-versie.
We bieden momenteel geen opties voor het configureren van de bewakingsextensie voor ASP.NET Core.
Als u steekproeven wilt configureren, die u eerder kunt beheren via het bestand applicationinsights.config , kunt u er nu mee werken via toepassingsinstellingen met het bijbehorende voorvoegsel MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor.
Als u bijvoorbeeld het initiële steekproefpercentage wilt wijzigen, kunt u een toepassingsinstelling en een waarde van MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage100.
Als u steekproeven wilt uitschakelen, stelt u deze in MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage op een waarde van 100.
Zie de code- en samplingdocumentatie voor de lijst met ondersteunde instellingen en definities voor adaptieve samplingtelemetrieprocessor.
Nadat u hebt opgegeven welke resource u wilt gebruiken, kunt u de Java-agent configureren. Als u de Java-agent niet configureert, zijn standaardconfiguraties van toepassing.
De volledige set configuraties is beschikbaar. U hoeft alleen een geldig json-bestand te plakken. Sluit de verbindingsreeks en eventuele configuraties uit die in preview zijn. U kunt de items die momenteel in preview zijn, toevoegen wanneer ze algemeen beschikbaar zijn.
Zodra u de configuraties via Azure Portal hebt gewijzigd, APPLICATIONINSIGHTS_CONFIGURATION_FILE worden omgevingsvariabele automatisch ingevuld en weergegeven in het deelvenster Instellingen van App Service. Deze variabele bevat de volledige json-inhoud die u hebt geplakt in het tekstvak configuratie van Azure Portal voor uw Java-app.
De Node.js-agent kan worden geconfigureerd met behulp van JSON. Stel de APPLICATIONINSIGHTS_CONFIGURATION_CONTENT omgevingsvariabele in op de JSON-tekenreeks of stel de APPLICATIONINSIGHTS_CONFIGURATION_FILE omgevingsvariabele in op het bestandspad met de JSON.
Als deze optie is ingesteld None, schakelt u het verzamelen en exporteren van logboektelemetrie uit.
OTEL_METRICS_EXPORTER
Als deze optie is ingesteld None, schakelt u het verzamelen en exporteren van metrische telemetrie uit.
OTEL_TRACES_EXPORTER
Als deze optie is ingesteld None, schakelt u het verzamelen en exporteren van gedistribueerde traceringstelemetrie uit.
OTEL_BLRP_SCHEDULE_DELAY
Hiermee geeft u het exportinterval voor logboekregistratie in milliseconden op. De standaardwaarde is 5000.
OTEL_BSP_SCHEDULE_DELAY
Hiermee geeft u het exportinterval voor gedistribueerde tracering in milliseconden op. De standaardwaarde is 5000.
OTEL_TRACES_SAMPLER_ARG
Hiermee geeft u de verhouding van gedistribueerde traceringstelemetrie die moet worden bemonsterd. Geaccepteerde waarden variëren van 0 tot 1. De standaardwaarde is 1.0, wat betekent dat er geen telemetrie wordt uitgemonsterd.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
Hiermee geeft u op welke OpenTelemetry-instrumentaties moeten worden uitgeschakeld. Als deze functie is uitgeschakeld, worden instrumentaties niet uitgevoerd als onderdeel van autoinstrumentatie. Accepteert een door komma's gescheiden lijst met bibliotheeknamen in kleine letters. Stel deze bijvoorbeeld in om "psycopg2,fastapi" de Psycopg2- en FastAPI-instrumentaties uit te schakelen. Deze wordt standaard ingesteld op een lege lijst, waardoor alle ondersteunde instrumentaties worden ingeschakeld.
Bewaking aan de clientzijde is standaard ingeschakeld voor ASP.NET Core-apps met aanbevolen verzameling, ongeacht of de app-instelling APPINSIGHTS_JAVASCRIPT_ENABLED aanwezig is.
Als u bewaking aan de clientzijde wilt uitschakelen:
Selecteer Instellingen>Configuratie.
Maak onder Toepassingsinstellingen een nieuwe toepassingsinstelling met de volgende informatie:
Naam: APPINSIGHTS_JAVASCRIPT_ENABLED
Waarde: false
Sla de instellingen op. Start de app opnieuw.
Bewaking aan de clientzijde is een opt-in voor ASP.NET. Bewaking aan clientzijde inschakelen:
Selecteer Instellingen>Configuratie.
Maak onder Toepassingsinstellingen een nieuwe toepassingsinstelling:
Naam: voer APPINSIGHTS_JAVASCRIPT_ENABLED in.
Waarde: Voer waar in.
Sla de instellingen op en start de app opnieuw op.
Als u bewaking aan de clientzijde wilt uitschakelen, verwijdert u het gekoppelde sleutelwaardepaar uit de toepassingsinstellingen of stelt u de waarde in op false.
Als u bewaking aan de clientzijde wilt inschakelen, kan de Java-agent het Browser SDK-laadprogramma (preview) injecteren in de HTML-pagina's van uw toepassing, waaronder het configureren van de juiste verbindingsreeks.
Belangrijkste extensie, waarmee runtime-bewaking wordt gecontroleerd.
~2 voor Windows of ~3 voor Linux
XDT_MicrosoftApplicationInsights_Mode
In de standaardmodus zijn alleen essentiële functies ingeschakeld om optimale prestaties te garanderen.
disabled of recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk
Alleen voor ASP.NET Core-apps. Hiermee schakelt u Interop (interoperation) in met de Application Insights SDK. Laadt de extensie naast de SDK en gebruikt deze om telemetrie te verzenden. (Hiermee schakelt u de Application Insights SDK uit.)
1
Definities van toepassingsinstellingen
Naam van de app-instelling
Definitie
Weergegeven als
ApplicationInsightsAgent_EXTENSION_VERSION
Belangrijkste extensie, waarmee runtime-bewaking wordt gecontroleerd.
~2
XDT_MicrosoftApplicationInsights_Mode
In de standaardmodus zijn alleen essentiële functies ingeschakeld om optimale prestaties te garanderen.
default of recommended
InstrumentationEngine_EXTENSION_VERSION
Hiermee bepaalt u of de engine voor binaire herschrijfbewerking InstrumentationEngine is ingeschakeld. Deze instelling heeft gevolgen voor de prestaties en heeft gevolgen voor koude start-/opstarttijd.
~1
XDT_MicrosoftApplicationInsights_BaseExtensions
Hiermee bepaalt u of sql- en Azure-tabeltekst samen met de afhankelijkheidsaanroepen worden vastgelegd. Prestatiewaarschuwing: de koude opstarttijd van toepassingen wordt beïnvloed. Voor deze instelling is het InstrumentationEnginevereist.
~1
Definities van toepassingsinstellingen
Naam van de app-instelling
Definitie
Weergegeven als
ApplicationInsightsAgent_EXTENSION_VERSION
Belangrijkste extensie, waarmee runtime-bewaking wordt gecontroleerd.
~2 in Windows of ~3 in Linux.
XDT_MicrosoftApplicationInsights_Java
Vlag om te bepalen of java-agent is opgenomen.
0 of 1 (alleen van toepassing in Windows).
Notitie
Snapshot Debugger is niet beschikbaar voor Java-toepassingen.
Definities van toepassingsinstellingen
Naam van de app-instelling
Definitie
Weergegeven als
ApplicationInsightsAgent_EXTENSION_VERSION
Belangrijkste extensie, waarmee runtime-bewaking wordt gecontroleerd.
~2 in Windows of ~3 in Linux.
XDT_MicrosoftApplicationInsights_NodeJS
Vlag om te bepalen of Node.js agent is opgenomen.
0 of 1 (alleen van toepassing in Windows).
Notitie
Snapshot Debugger is niet beschikbaar voor Node.js toepassingen.
Definities van toepassingsinstellingen
Naam van de app-instelling
Definitie
Weergegeven als
APPLICATIONINSIGHTS_CONNECTION_STRING
Verbindingsreeks voor uw Application Insights-resource.
Voorbeeld: abcd1234-ab12-cd34-abcd1234abcd
ApplicationInsightsAgent_EXTENSION_VERSION
Belangrijkste extensie, waarmee runtime-bewaking wordt gecontroleerd.
~3
Notitie
Snapshot Debugger is niet beschikbaar voor Python-toepassingen.
App Service-toepassingsinstellingen met Azure Resource Manager
Toepassingsinstellingen voor Azure-app Service kunnen worden beheerd en geconfigureerd met Azure Resource Manager-sjablonen. U kunt deze methode gebruiken wanneer u nieuwe App Service-resources implementeert met Resource Manager-automatisering of de instellingen van bestaande resources wijzigt.
De basisstructuur van de JSON voor toepassingsinstellingen voor een App Service-resource:
Het maken van een Application Insights-resource automatiseren en een koppeling maken naar uw zojuist gemaakte App Service-resource
Als u een Resource Manager-sjabloon wilt maken met de standaardinstellingen voor Application Insights, begint u het proces alsof u een nieuwe web-app wilt maken waarvoor Application Insights is ingeschakeld.
Maak een nieuwe App Service-resource met de gewenste web-app-informatie. Schakel Application Insights in op het tabblad Bewaking .
Selecteer Controleren + maken. Selecteer vervolgens Een sjabloon voor automatisering downloaden.
Met deze optie wordt de meest recente Resource Manager-sjabloon gegenereerd met alle vereiste instellingen geconfigureerd.
Vervang in het volgende voorbeeld alle exemplaren van AppMonitoredSite uw sitenaam:
Notitie
Als u Windows gebruikt, stelt u deze optie in ApplicationInsightsAgent_EXTENSION_VERSION op ~2. Als u Linux gebruikt, stelt u deze optie in ApplicationInsightsAgent_EXTENSION_VERSION op ~3.
Als u de toepassingscontrole via PowerShell wilt inschakelen, moeten alleen de onderliggende toepassingsinstellingen worden gewijzigd. In het volgende voorbeeld wordt toepassingsbewaking ingeschakeld voor een website die in de resourcegroep AppMonitoredRGwordt aangeroepenAppMonitoredSite. Hiermee worden gegevens geconfigureerd die naar de 012345678-abcd-ef01-2345-6789abcd instrumentatiesleutel moeten worden verzonden.
Als u Windows gebruikt, stelt u ApplicationInsightsAgent_EXTENSION_VERSION in op ~2. Als u Linux gebruikt, stelt u ApplicationInsightsAgent_EXTENSION_VERSION in op ~3.
In deze sectie vindt u antwoorden op veelgestelde vragen.
Wat wijzigt Application Insights in mijn project?
De details zijn afhankelijk van het type project. De volgende lijst is een voorbeeld voor een webtoepassing.
Bestanden toevoegen aan uw project:
ApplicationInsights.config
ai.js
Hiermee worden NuGet-pakketten geïnstalleerd:
Application Insights-API: de kern-API
Application Insights-API voor webtoepassingen: wordt gebruikt voor het verzenden van telemetrie vanaf de server
Application Insights-API voor JavaScript-toepassingen: wordt gebruikt voor het verzenden van telemetrie van de client
Bevat assembly's in pakketten:
Microsoft.ApplicationInsights
Microsoft.ApplicationInsights.Platform
Items invoegen in:
Web.config
packages.config
Voegt codefragmenten in de client- en servercode in om ze te initialiseren met de Application Insights-resource-id. In een MVC-app wordt bijvoorbeeld code ingevoegd in de hoofdpaginaWeergaven /Gedeeld/_Layout.cshtml. Alleen voor nieuwe projecten voegt u Application Insights handmatig toe aan een bestaand project.
Wat is het verschil tussen metrische standaardgegevens van Application Insights versus Azure-app Service-metrische gegevens?
Application Insights verzamelt telemetrie voor de aanvragen die deze naar de toepassing hebben verzonden. Als de fout optreedt in WebApps/WebServer en de aanvraag de gebruikerstoepassing niet heeft bereikt, heeft Application Insights er geen telemetrie over.
De duur voor serverresponsetime berekening door Application Insights komt niet noodzakelijkerwijs overeen met de reactietijd van de server die door Web Apps wordt waargenomen. Dit gedrag komt doordat Application Insights alleen de duur telt wanneer de aanvraag daadwerkelijk de gebruikerstoepassing bereikt. Als de aanvraag is vastgelopen of in de wachtrij is geplaatst in WebServer, wordt de wachttijd opgenomen in de metrische gegevens van Web Apps, maar niet in de metrische gegevens van Application Insights.
Probleemoplossing
Connectiviteit testen tussen uw toepassingshost en de opnameservice
Application Insights SDK's en agents verzenden telemetrie om opgenomen te worden als REST-aanroepen naar onze opname-eindpunten. U kunt de connectiviteit vanaf uw webserver of toepassingshostcomputer testen op de service-eindpunten voor opname met behulp van onbewerkte REST-clients uit PowerShell- of curl-opdrachten. Zie Problemen met ontbrekende toepassingstelemetrie oplossen in Azure Monitor Application Insights.
Wanneer u een web-app maakt met de ASP.NET Core runtimes in App Service, wordt één statische HTML-pagina geïmplementeerd als een starterswebsite. Het wordt afgeraden een probleem met de standaardsjabloon op te lossen. Implementeer een toepassing voordat u een probleem oplost.
Ontbrekende telemetrie
Windows
Controleer of de ApplicationInsightsAgent_EXTENSION_VERSION app-instelling is ingesteld op een waarde van ~2.
Blader naar https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Controleer of de status van de Application Insights-extensie isPre-Installed Site Extension, version 2.8.x.xxxx, is running.
Controleer of de statusbron bestaat en er als Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.jsonvolgt uitziet.
Als er geen vergelijkbare waarde aanwezig is, betekent dit dat de toepassing momenteel niet wordt uitgevoerd of niet wordt ondersteund. Als u ervoor wilt zorgen dat de toepassing wordt uitgevoerd, gaat u handmatig naar de toepassings-URL/toepassingseindpunten, zodat de runtime-informatie beschikbaar kan worden.
Controleer of IKeyExists isTrue. Als dit het is False, voegt u deze toe APPINSIGHTS_INSTRUMENTATIONKEY aan uw toepassingsinstellingen en APPLICATIONINSIGHTS_CONNECTION_STRING voegt u deze toe met uw ikey-GUID.
Als uw toepassing verwijst naar Application Insights-pakketten, wordt het inschakelen van de App Service-integratie mogelijk niet van kracht en worden de gegevens mogelijk niet weergegeven in Application Insights. Een voorbeeld hiervan is als u eerder hebt geïnstrueerd of geprobeerd uw app te instrumenteren met de ASP.NET Core SDK. Als u het probleem wilt oplossen, schakelt u Interoperabiliteit in azure Portal in met Application Insights SDK.
Belangrijk
Deze functionaliteit is beschikbaar als preview-versie.
De gegevens worden verzonden met behulp van een codeloze benadering, zelfs als de Application Insights SDK oorspronkelijk is gebruikt of geprobeerd te worden gebruikt.
Belangrijk
Als de toepassing de Application Insights SDK heeft gebruikt om telemetriegegevens te verzenden, wordt de telemetrie uitgeschakeld. Met andere woorden, aangepaste telemetrie (bijvoorbeeld methoden Track*() ) en aangepaste instellingen (zoals steekproeven) worden uitgeschakeld.
Linux
Controleer of de ApplicationInsightsAgent_EXTENSION_VERSION app-instelling is ingesteld op een waarde van ~3.
Blader naar https://your site name.scm.azurewebsites.net/ApplicationInsights.
Bevestig op deze site:
De statusbron bestaat en ziet er als Status source /var/log/applicationinsights/status_abcde1234567_89_0.jsonvolgt uit.
De waarde Auto-Instrumentation enabled successfully wordt weergegeven. Als een vergelijkbare waarde niet aanwezig is, betekent dit dat de toepassing niet wordt uitgevoerd of niet wordt ondersteund. Als u ervoor wilt zorgen dat de toepassing wordt uitgevoerd, gaat u handmatig naar de toepassings-URL/toepassingseindpunten, zodat de runtime-informatie beschikbaar kan worden.
IKeyExists is True. Als dit het is False, voegt u deze toe APPINSIGHTS_INSTRUMENTATIONKEY aan uw toepassingsinstellingen en APPLICATIONINSIGHTS_CONNECTION_STRING voegt u deze toe met uw ikey-GUID.
Standaardwebsite die is geïmplementeerd met web-apps biedt geen ondersteuning voor automatische bewaking aan de clientzijde
Wanneer u een web-app maakt met de ASP.NET Core-runtimes in App Service, wordt er één statische HTML-pagina geïmplementeerd als een starterswebsite. De statische webpagina laadt ook een ASP. Door NET beheerd webonderdeel in IIS. Met dit gedrag kunt u bewaking aan de serverzijde testen zonder code, maar biedt geen ondersteuning voor automatische bewaking aan de clientzijde.
Als u codeloze server- en clientbewaking wilt testen voor ASP.NET Core in een App Service-web-app, raden we u aan de officiële handleidingen te volgen voor het maken van een ASP.NET Core-web-app. Gebruik daarna de instructies in het huidige artikel om bewaking in te schakelen.
PHP en WordPress worden niet ondersteund
PHP- en WordPress-sites worden niet ondersteund. Er is momenteel geen officieel ondersteunde SDK/agent voor bewaking aan de serverzijde van deze workloads. Als u transacties aan de clientzijde op een PHP- of WordPress-site wilt bijhouden, voegt u javaScript aan de clientzijde toe aan uw webpagina's met behulp van de JavaScript SDK.
De volgende tabel bevat een uitleg van wat deze waarden betekenen, wat hun onderliggende oorzaken en aanbevolen oplossingen zijn.
Probleemwaarde
Uitleg
Fix
AppAlreadyInstrumented:true
Deze waarde geeft aan dat de extensie een bepaald aspect van de SDK heeft gedetecteerd dat al aanwezig is in de toepassing en wordt teruggezet. Een verwijzing naar Microsoft.ApplicationInsights.AspNetCore of Microsoft.ApplicationInsights kan deze waarde veroorzaken.
Verwijder de verwijzingen. Sommige van deze verwijzingen worden standaard toegevoegd vanuit bepaalde Visual Studio-sjablonen. Oudere versies van Visual Studio-verwijzing Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
De aanwezigheid van Microsoft.ApplicationsInsights DLL in de app-map van een vorige implementatie kan deze waarde ook veroorzaken.
Schoon de app-map op om ervoor te zorgen dat deze DLL's worden verwijderd. Controleer zowel de bin-map van uw lokale app als de wwwroot-map in de App Service. (Als u de wwwroot-map van uw App Service-web-app wilt controleren, selecteert u Geavanceerde hulpprogramma's (Kudu) >Foutopsporingsconsole>CMD>home\site\wwwroot).
IKeyExists:false
Deze waarde geeft aan dat de instrumentatiesleutel niet aanwezig is in de app-instelling APPINSIGHTS_INSTRUMENTATIONKEY. Mogelijke oorzaken zijn het per ongeluk verwijderen van de waarden of het vergeten om de waarden in het automatiseringsscript in te stellen.
Zorg ervoor dat de instelling aanwezig is in de App Service-toepassingsinstellingen.
Notitie
Wanneer u een web-app maakt met de ASP.NET runtimes in App Service, wordt één statische HTML-pagina geïmplementeerd als een starterswebsite. Het wordt afgeraden een probleem met een standaardsjabloon op te lossen. Implementeer een toepassing voordat u een probleem oplost.
Ontbrekende telemetrie
Controleer of de ApplicationInsightsAgent_EXTENSION_VERSION app-instelling is ingesteld op een waarde van ~2.
Blader naar https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Controleer of dit Application Insights Extension Status het is Pre-Installed Site Extension, version 2.8.x.xxxx en wordt uitgevoerd.
Als deze niet wordt uitgevoerd, volgt u de instructies om Application Insights-bewaking in te schakelen.
Controleer of de statusbron bestaat en er als Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.jsonvolgt uitziet.
Als er geen vergelijkbare waarde aanwezig is, betekent dit dat de toepassing momenteel niet wordt uitgevoerd of niet wordt ondersteund. Als u ervoor wilt zorgen dat de toepassing wordt uitgevoerd, gaat u handmatig naar de toepassings-URL/toepassingseindpunten, zodat de runtime-informatie beschikbaar kan worden.
Bevestig dat IKeyExists dit is true.
Zo niet, voeg dan de APPLICATIONINSIGHTS_CONNECTION_STRING GUID van uw instrumentatiesleutel toe APPINSIGHTS_INSTRUMENTATIONKEY aan uw toepassingsinstellingen.
Bevestig dat er geen vermeldingen zijn voor AppAlreadyInstrumented, AppContainsDiagnosticSourceAssemblyen AppContainsAspNetTelemetryCorrelationAssembly.
Als er een van deze vermeldingen bestaat, verwijdert u de volgende pakketten uit uw toepassing: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSourceen Microsoft.AspNet.TelemetryCorrelation.
Standaardwebsite die is geïmplementeerd met web-apps biedt geen ondersteuning voor automatische bewaking aan de clientzijde
Wanneer u een web-app maakt met de ASP.NET runtimes in App Service, wordt er één statische HTML-pagina geïmplementeerd als een starterswebsite. De statische webpagina laadt ook een ASP. Door NET beheerd webonderdeel in IIS. Op deze pagina kunt u bewaking aan de serverzijde testen zonder code, maar biedt geen ondersteuning voor automatische bewaking aan de clientzijde.
Als u codeloze server- en clientbewaking wilt testen voor ASP.NET in een App Service-web-app, raden we u aan de officiële handleidingen te volgen voor het maken van een ASP.NET Framework-web-app. Gebruik daarna de instructies in het huidige artikel om bewaking in te schakelen.
APPINSIGHTS_JAVASCRIPT_ENABLED en urlCompression worden niet ondersteund
Als u APPINSIGHTS_JAVASCRIPT_ENABLED=true in gevallen waarin inhoud wordt gecodeerd, worden er mogelijk fouten weergegeven zoals:
Fout bij herschrijven van URL 500.
500.53 URL herschrijf modulefout met het bericht 'Regels voor uitgaande herschrijven kunnen niet worden toegepast wanneer de inhoud van het HTTP-antwoord is gecodeerd ('gzip').'
Er treedt een fout op omdat de APPINSIGHTS_JAVASCRIPT_ENABLED toepassingsinstelling is ingesteld true op en inhoudscodering tegelijkertijd aanwezig is. Dit scenario wordt nog niet ondersteund. De tijdelijke oplossing is om te verwijderen APPINSIGHTS_JAVASCRIPT_ENABLED uit uw toepassingsinstellingen. Als javaScript-instrumentatie aan de client-/browserzijde nog steeds vereist is, zijn er handmatige SDK-verwijzingen nodig voor uw webpagina's. Volg de instructies voor handmatige instrumentatie met de JavaScript SDK.
PHP- en WordPress-sites worden niet ondersteund. Er is momenteel geen officieel ondersteunde SDK/agent voor bewaking aan de serverzijde van deze workloads. Als u transacties aan de clientzijde op een PHP- of WordPress-site wilt bijhouden, voegt u javaScript aan de clientzijde toe aan uw webpagina's met behulp van de JavaScript SDK.
De volgende tabel bevat een uitleg van wat deze waarden betekenen, wat hun onderliggende oorzaken en aanbevolen oplossingen zijn.
Probleemwaarde
Uitleg
Fix
AppAlreadyInstrumented:true
Deze waarde geeft aan dat de extensie een bepaald aspect van de SDK heeft gedetecteerd dat al aanwezig is in de toepassing en wordt teruggezet. Een verwijzing naar System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelationof Microsoft.ApplicationInsights kan deze waarde veroorzaken.
Verwijder de verwijzingen. Sommige van deze verwijzingen worden standaard toegevoegd vanuit bepaalde Visual Studio-sjablonen. Oudere versies van Visual Studio kunnen verwijzingen toevoegen aan Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
De aanwezigheid van de voorgaande DLL's in de app-map van een vorige implementatie kan deze waarde ook veroorzaken.
Schoon de app-map op om ervoor te zorgen dat deze DLL's worden verwijderd. Controleer zowel de bin-map van uw lokale app als de wwwroot-map in de App Service-resource. Als u de wwwroot-map van uw App Service-web-app wilt controleren, selecteert u Advanced Tools (Kudu)>Debug console>CMD>home\site\wwwroot.
Deze waarde geeft aan dat de extensie verwijzingen Microsoft.AspNet.TelemetryCorrelation heeft gedetecteerd in de toepassing en wordt teruggezet.
Verwijder de verwijzing.
AppContainsDiagnosticSourceAssembly**:true
Deze waarde geeft aan dat de extensie verwijzingen System.Diagnostics.DiagnosticSource heeft gedetecteerd in de toepassing en wordt teruggezet.
Verwijder de verwijzing voor ASP.NET.
IKeyExists:false
Deze waarde geeft aan dat de instrumentatiesleutel niet aanwezig is in de app-instelling APPINSIGHTS_INSTRUMENTATIONKEY. Mogelijke oorzaken kunnen zijn dat de waarden per ongeluk zijn verwijderd of dat u bent vergeten de waarden in het automatiseringsscript in te stellen.
Zorg ervoor dat de instelling aanwezig is in de App Service-toepassingsinstellingen.
System.IO.FileNotFoundException na een upgrade van 2.8.44
U kunt dit probleem oplossen door de omleidingsvermelding voor binding uit System.Runtime.CompilerServices.Unsafe.dll het web.config-bestand te verwijderen. Als de toepassing de bindingsomleiding wilde gebruiken System.Runtime.CompilerServices.Unsafe.dll, stelt u de bindingsomleiding in zoals hier wordt weergegeven:
Als tijdelijke tijdelijke oplossing kunt u de app-instelling ApplicationInsightsAgent_EXTENSION_VERSION instellen op een waarde van 2.8.37. Met deze instelling wordt App Service geactiveerd om de oude Application Insights-extensie te gebruiken. Tijdelijke oplossingen mogen alleen als tussentijdse oplossing worden gebruikt.
Ontbrekende telemetrie
ApplicationInsightsAgent_EXTENSION_VERSION Controleer of de app-instelling is ingesteld op een waarde in ~2 Windows, ~3 in Linux
Controleer het logboekbestand om te zien dat de agent is gestart: blader naar https://yoursitename.scm.azurewebsites.net/, onder SSH-wijziging in de hoofdmap, het logboekbestand bevindt zich onder LogFiles/ApplicationInsights.
Nadat u toepassingsbewaking voor uw Java-app hebt ingeschakeld, kunt u controleren of de agent werkt door de live metrische gegevens te bekijken, zelfs voordat u app implementeert en app naar App Service, ziet u enkele aanvragen van de omgeving. Houd er rekening mee dat de volledige set telemetrie alleen beschikbaar is wanneer uw app is geïmplementeerd en wordt uitgevoerd.
Stel APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL de omgevingsvariabele in op debug als u geen fouten ziet en er geen telemetrie is.
Ontbrekende telemetrie
Windows
ApplicationInsightsAgent_EXTENSION_VERSION Controleer of de app-instelling is ingesteld op een waarde van ~2.
Blader naar https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Bevestig dat het Application Insights Extension StatusPre-Installed Site Extension, version 2.8.x.xxxx, is running.
Als deze niet wordt uitgevoerd, volgt u de instructies voor het inschakelen van Application Insights-bewaking.
Navigeer naar D:\local\Temp\status.json en open status.json.
Bevestig dat SDKPresent deze is ingesteld op onwaar, AgentInitializedSuccessfully op waar en IKey of er een geldige iKey is.
Als SDKPresent dit waar is, betekent dit dat de extensie heeft gedetecteerd dat een bepaald aspect van de SDK al aanwezig is in de toepassing en wordt teruggezet.
Linux
ApplicationInsightsAgent_EXTENSION_VERSION Controleer of de app-instelling is ingesteld op een waarde van ~3.
Navigeer naar /var/log/applicationinsights/ en open status.json.
Bevestig dat SDKPresent deze is ingesteld op onwaar, AgentInitializedSuccessfully op waar en IKey of er een geldige iKey is.
Als SDKPresent dit waar is, betekent dit dat de extensie heeft gedetecteerd dat een bepaald aspect van de SDK al aanwezig is in de toepassing en wordt teruggezet.
Het gebruik van automatische instrumentatie bovenop de handmatige instrumentatie kan leiden tot dubbele telemetrie en uw kosten verhogen. Als u App Service OpenTelemetry autoinstrumentation wilt gebruiken, verwijdert u eerst handmatige instrumentatie van OpenTelemetry uit uw code.
Ontbrekende telemetrie
Als u telemetrie mist, volgt u deze stappen om te controleren of auto-instrumentatie correct is ingeschakeld.
Controleer of auto-instrumentatie is ingeschakeld in de Application Insights-ervaring op uw App Service-resource.
Controleer of de ApplicationInsightsAgent_EXTENSION_VERSION app-instelling is ingesteld op een waarde van ~3 en of uw APPLICATIONINSIGHTS_CONNECTION_STRING verwijst naar de juiste Application Insights-resource.
Controleer diagnostische gegevens en statuslogboeken voor automatische instrumentatie.
a. Navigeer naar /var/log/applicationinsights/ en open status_*.json.
b. Bevestig dat deze AgentInitializedSuccessfully is ingesteld op waar en IKey of er een geldige iKey is.
Het applicationinsights-extension.log bestand in dezelfde map kan andere nuttige diagnostische gegevens bevatten.
Django-apps
Als uw app Django gebruikt en niet kan worden gestart of onjuiste instellingen gebruikt, moet u de DJANGO_SETTINGS_MODULE omgevingsvariabele instellen. Zie de sectie Django Instrumentation voor meer informatie.