Alkalmazásfigyelés engedélyezése a .NET-, Node.js-, Python- és Java-alkalmazásokhoz készült Azure-alkalmazás szolgáltatásban
Cikk
Az Automatikus beépítés, más néven futtatókörnyezet monitorozása a legegyszerűbb módja annak, hogy az Application Insightst Azure-alkalmazás szolgáltatáshoz anélkül engedélyezze, hogy kódmódosításokat vagy speciális konfigurációkat kellene megadnia. Az adott forgatókönyv alapján értékelje ki, hogy szükség van-e speciálisabb monitorozásra manuális rendszerezéssel.
Feljegyzés
2025. március 31-én megszűnik az eszközkulcsalapú betöltés támogatása. A rendszerállapot-kulcsok betöltése továbbra is működni fog, de a továbbiakban nem biztosítunk frissítéseket vagy támogatást a funkcióhoz. Váltás kapcsolati sztring az új képességek kihasználásához.
Ha az autoinstrumentáció monitorozása és a manuális SDK-alapú rendszerállapot is észlelhető, csak a manuális rendszerállapot-beállítások teljesülnek. Ez az elrendezés megakadályozza a duplikált adatok küldését. További információ: Hibaelhárítás.
Válassza az Application Insights lehetőséget az app service bal oldali navigációs menüjében, majd válassza az Engedélyezés lehetőséget.
Hozzon létre egy új erőforrást, vagy válasszon ki egy meglévő Application Insights-erőforrást ehhez az alkalmazáshoz.
Feljegyzés
Amikor új erőforrás létrehozásához az OK gombot választja, a rendszer a figyelési beállítások alkalmazását kéri. A Folytatás lehetőség választásával összekapcsolhatja az új Application Insights-erőforrást az app service-hez. Az app service ezután újraindul.
Miután meghatározta a használni kívánt erőforrást, kiválaszthatja, hogy az Application Insights hogyan gyűjtsön adatokat platformonként az alkalmazáshoz. ASP.NET Alapvető gyűjtemény beállításai ajánlottak vagy le vannak tiltva.
Fontos
Ha az autoinstrumentáció monitorozása és a manuális SDK-alapú rendszerállapot is észlelhető, csak a manuális rendszerállapot-beállítások teljesülnek. Ez az elrendezés megakadályozza a duplikált adatok küldését. További információ: Hibaelhárítás.
Feljegyzés
A kombináció és APPINSIGHTS_JAVASCRIPT_ENABLEDurlCompression nem támogatott. További információk: Hibaelhárítás.
Autoinstrumentáció az Azure Portalon
Válassza az Application Insights lehetőséget az app service bal oldali navigációs menüjében, majd válassza az Engedélyezés lehetőséget.
Hozzon létre egy új erőforrást, vagy válasszon ki egy meglévő Application Insights-erőforrást ehhez az alkalmazáshoz.
Feljegyzés
Amikor új erőforrás létrehozásához az OK gombot választja, a rendszer a figyelési beállítások alkalmazását kéri. A Folytatás lehetőség választásával összekapcsolhatja az új Application Insights-erőforrást az app service-hez. Az app service ezután újraindul.
Miután meghatározta a használni kívánt erőforrást, kiválaszthatja, hogy az Application Insights hogyan gyűjtsön adatokat platformonként az alkalmazáshoz. ASP.NET alkalmazásfigyelés alapértelmezés szerint két különböző gyűjteményszinttel van bekapcsolva, ajánlott és alapszintű.
Az alábbi táblázat az egyes útvonalakhoz gyűjtött adatokat foglalja össze.
Adatok
Ajánlott
Alap
Processzor-, memória- és I/O-használati trendek hozzáadása
Igen
Nem
Használati trendek gyűjtése, a rendelkezésreállási eredmények és a tranzakciók összevetése
Igen
Igen
A gazdafolyamat által nem kezelt kivételek gyűjtése
Igen
Igen
Az APM-metrikák pontosságának növelése terhelés alatt, mintavételezés használatakor
Igen
Igen
Mikroszolgáltatások összevetése kérési és függőségi határokon keresztül
Válassza az Application Insights lehetőséget az app service bal oldali navigációs menüjében, majd válassza az Engedélyezés lehetőséget.
Hozzon létre egy új erőforrást, vagy válasszon ki egy meglévő Application Insights-erőforrást ehhez az alkalmazáshoz.
Feljegyzés
Amikor új erőforrás létrehozásához az OK gombot választja, a rendszer a figyelési beállítások alkalmazását kéri. A Folytatás lehetőség választásával összekapcsolhatja az új Application Insights-erőforrást az app service-hez. Az app service ezután újraindul.
Fontos
Ha az autoinstrumentáció monitorozása és a manuális SDK-alapú rendszerállapot is észlelhető, csak a manuális rendszerállapot-beállítások teljesülnek. Ez az elrendezés megakadályozza a duplikált adatok küldését. További információkért tekintse meg a hibaelhárítási szakaszt.
Feljegyzés
Az automatikusan csatolt ügynök konfigurálható az APPLICATIONINSIGHTS_CONFIGURATION_CONTENT App Service Environment változó paneljének környezeti változója használatával. A környezeti változón keresztül átadható konfigurációs beállításokról további információt Node.js Konfiguráció című témakörben talál.
Az Application Insights for Node.js integrálva van a Linuxon futó Azure-alkalmazás Szolgáltatással – kódalapú és egyéni tárolókkal, valamint a Windows App Service szolgáltatással kódalapú alkalmazásokhoz. Az integráció nyilvános előzetes verzióban érhető el.
Autoinstrumentáció az Azure Portalon
Válassza az Application Insights lehetőséget az app service bal oldali navigációs menüjében, majd válassza az Engedélyezés lehetőséget.
Hozzon létre egy új erőforrást, vagy válasszon ki egy meglévő Application Insights-erőforrást ehhez az alkalmazáshoz.
Feljegyzés
Amikor új erőforrás létrehozásához az OK gombot választja, a rendszer a figyelési beállítások alkalmazását kéri. A Folytatás lehetőség választásával összekapcsolhatja az új Application Insights-erőforrást az app service-hez. Az app service ezután újraindul.
Miután megadta, hogy melyik erőforrást szeretné használni, minden beállítás meg van adva.
A Pythonhoz készült Application Insights kódalapú Linux Azure-alkalmazás Szolgáltatással integrálható. Az integráció nyilvános előzetes verzióban érhető el, és hozzáadja a Python SDK-t, amely a GA-ban található. A kódban népszerű Python-kódtárakat használ, így automatikusan összegyűjtheti és korrelálhatja a függőségeket, naplókat és metrikákat. A hívások és metrikák gyűjtésének megtekintéséhez tekintse meg a Python-kódtárakat
A naplózási telemetria a gyökérnaplózó szintjén lesz összegyűjtve. A Python natív naplózási hierarchiájával kapcsolatos további információkért tekintse meg a Python naplózási dokumentációját.
Előfeltételek
A Python 3.11-es vagy korábbi verziója.
Az App Service-t kódként kell üzembe helyezni. Az egyéni tárolók nem támogatottak.
Autoinstrumentáció az Azure Portalon
Válassza az Application Insights lehetőséget az app service bal oldali navigációs menüjében, majd válassza az Engedélyezés lehetőséget.
Hozzon létre egy új erőforrást, vagy válasszon ki egy meglévő Application Insights-erőforrást ehhez az alkalmazáshoz.
Feljegyzés
Amikor új erőforrás létrehozásához az OK gombot választja, a rendszer a figyelési beállítások alkalmazását kéri. A Folytatás lehetőség választásával összekapcsolhatja az új Application Insights-erőforrást az app service-hez. Az app service ezután újraindul.
Megadhatja az erőforrást, és készen áll a használatra.
Python-kódtárak
A rendszerezés után az alábbi Python-kódtárakból gyűjt hívásokat és metrikákat:
Az OpenTelemetry Django-rendszerállapot használatához be kell állítania az DJANGO_SETTINGS_MODULE App Service beállításaiban lévő környezeti változót, hogy az alkalmazásmappából a beállítások modulba mutasson.
További információkért lásd a Django dokumentációját.
Közösségi rendszerállapot-kódtár hozzáadása
Az OpenTelemetry-közösség rendszerállapot-kódtárainak felvételekor automatikusan további adatokat gyűjthet.
Figyelemfelhívás
Nem támogatjuk és nem garantáljuk a közösségi eszközkódtárak minőségét. Javasoljuk, hogy egy a mi disztribúció, post vagy up-vote a mi visszajelzési közösség. Vegye figyelembe, hogy egyes adatok kísérleti OpenTelemetria-specifikációkon alapulnak, és jövőbeli kompatibilitástörő változásokat eredményezhetnek.
A közösségi OpenTelemetry Instrumentation Library hozzáadásához telepítse az alkalmazás fájlján requirements.txt keresztül. Az OpenTelemetry autoinstrumentation automatikusan felveszi és az összes telepített kódtárat elvégzi. A közösségi könyvtárak listáját itt találja.
A monitorozási bővítmény/ügynök manuális frissítése
A 2.8.9-es verzióról való frissítés automatikusan történik, további műveletek nélkül. Az új monitorozási biteket a rendszer a háttérben kézbesíti a célalkalmazás-szolgáltatásnak, és az alkalmazás újraindítása után veszi fel őket.
A futó bővítmény melyik verziójának ellenőrzéséhez nyissa meg a következőt https://yoursitename.scm.azurewebsites.net/ApplicationInsights: .
Frissítés az 1.0.0- 2.6.5-ös verzióról
A 2.8.9-es verziótól kezdve az előre telepített helybővítményt használja a rendszer. Ha egy korábbi verziót használ, kétféleképpen frissíthet:
Frissítés az Azure Portalon keresztüli engedélyezéssel: Még ha telepítve is van az App Service Application Insights bővítménye, a felhasználói felület csak az Engedélyezés gombot jeleníti meg. A színfalak mögött a régi privát webhelybővítmény el lesz távolítva.
Állítsa be az alkalmazásbeállításokat az előre telepített helybővítmény ApplicationInsightsAgentengedélyezéséhez. További információ: Engedélyezés a PowerShell-lel.
Manuálisan távolítsa el az Application Insights nevű privát webhelybővítményt Azure-alkalmazás Szolgáltatáshoz.
Ha a frissítés a 2.5.1-es verzió előtti verzióról történik, ellenőrizze, hogy a ApplicationInsights DLL-ek törlődnek-e az alkalmazástároló mappájából. További információk: Hibaelhárítás.
Frissítés a 2.8.9-s és újabb verziókról
A 2.8.9-es verzióról való frissítés automatikusan történik, további műveletek nélkül. Az új monitorozási biteket a rendszer a háttérben kézbesíti a célalkalmazás-szolgáltatásnak, és az alkalmazás újraindítása után veszi fel őket.
A futó bővítmény melyik verziójának ellenőrzéséhez nyissa meg a következőt https://yoursitename.scm.azurewebsites.net/ApplicationInsights: .
Frissítés az 1.0.0- 2.6.5-ös verzióról
A 2.8.9-es verziótól kezdve az előre telepített helybővítményt használja a rendszer. Ha egy korábbi verziót használ, kétféleképpen frissíthet:
Frissítés az Azure Portalon keresztüli engedélyezéssel: Még ha telepítve is van az App Service Application Insights bővítménye, a felhasználói felület csak az Engedélyezés gombot jeleníti meg. A színfalak mögött a régi privát webhelybővítmény el lesz távolítva.
Állítsa be az alkalmazásbeállításokat az előre telepített helybővítmény ApplicationInsightsAgentengedélyezéséhez. További információ: Engedélyezés a PowerShell-lel.
Manuálisan távolítsa el az Application Insights nevű privát webhelybővítményt Azure-alkalmazás Szolgáltatáshoz.
Ha a frissítés a 2.5.1-es verzió előtti verzióról történik, ellenőrizze, hogy a ApplicationInsights DLL-ek törlődnek-e az alkalmazástároló mappájából. További információk: Hibaelhárítás.
Az Application Insights Java-verziója automatikusan frissül az App Service-frissítések részeként. Ha az Application Insights Java-ügynök legújabb verziójában kijavított hibát tapasztal, manuálisan frissítheti.
Töltse fel a Java-ügynök jar-fájlját az App Service-be.
c. Ezután telepítse a Java-ügynök jar-fájlját az App Service-ben a következő paranccsal: 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}. Ezt az útmutatót a Maven beépülő modulon keresztül is üzembe helyezheti.
Tiltsa le az Application Insightst az Azure Portal Application Insights lapján.
Az ügynök jar-fájl feltöltése után lépjen az App Service konfigurációihoz. Ha linuxos indítási parancsot kell használnia, használjon JVM-argumentumokat:
Az indítási parancs nem tiszteli JAVA_OPTS a JavaSE-t és CATALINA_OPTS a Tomcat-et.
Ha nem használja az Indítási parancsot, hozzon létre egy új környezeti változót JavaSE JAVA_OPTS vagy CATALINA_OPTS Tomcat esetén az értékkel -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar.
A módosítások alkalmazásához indítsa újra az alkalmazást.
Feljegyzés
Ha a JavaSE-t vagy CATALINA_OPTS a JAVA_OPTS Tomcat környezeti változót állítja be, le kell tiltania az Application Insightst az Azure Portalon. Ha inkább az Application Insightst szeretné engedélyezni az Azure Portalról, győződjön meg arról, hogy nem állítja be a JavaSE-t vagy CATALINA_OPTS a Tomcat változót az JAVA_OPTS App Service konfigurációs beállításaiban.
Az Application Insights Node.js verziója automatikusan frissül az App Service frissítései részeként, és nem frissíthető manuálisan.
Jelenleg nem kínálunk lehetőségeket a ASP.NET Core monitorozási bővítményének konfigurálásához.
A mintavételezés konfigurálásához, amelyet korábban az applicationinsights.config fájlon keresztül szabályozhat, az alkalmazásbeállításokon keresztül kezelheti a megfelelő előtaggal MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor.
A kezdeti mintavételezési százalék módosításához például létrehozhat egy alkalmazásbeállítást MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage és egy értéket 100.
A mintavételezés letiltásához állítsa a MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage következő értékre 100: .
A támogatott adaptív mintavételezési telemetriafeldolgozó beállításainak és definícióinak listáját a kód- és mintavételezési dokumentációban találja.
A használni kívánt erőforrás megadása után konfigurálhatja a Java-ügynököt. Ha nem konfigurálja a Java-ügynököt, az alapértelmezett konfigurációk érvényesek.
A konfigurációk teljes készlete elérhető. Csak be kell illesztenie egy érvényes json-fájlt. Zárja ki a kapcsolati sztring és az előzetes verzióban lévő konfigurációkat – a jelenleg előzetes verzióban lévő elemeket általánosan elérhetővé válik.
Miután módosította a konfigurációkat az Azure Portalon, a környezeti változó automatikusan fel lesz töltve, APPLICATIONINSIGHTS_CONFIGURATION_FILE és megjelenik az App Service beállítások paneljén. Ez a változó tartalmazza a Java-alkalmazás Azure Portal konfigurációs szövegmezőjében beillesztett teljes json-tartalmat.
A Node.js ügynök JSON használatával konfigurálható. Állítsa a környezeti változót APPLICATIONINSIGHTS_CONFIGURATION_CONTENT a JSON-sztringre, vagy állítsa a APPLICATIONINSIGHTS_CONFIGURATION_FILE környezeti változót a JSON-t tartalmazó fájl elérési útjára.
Megadja az alkalmazáshoz társított OpenTelemetry-erőforrásattribútumokat. Bármilyen erőforrásattribútumot beállíthat OTEL_RESOURCE_ATTRIBUTES, vagy a OTEL_SERVICE_NAME használatával csak a service.name.
OTEL_LOGS_EXPORTER
Ha be van Noneállítva, letiltja a naplózási telemetriai adatok gyűjtését és exportálását.
OTEL_METRICS_EXPORTER
Ha be van Noneállítva, letiltja a metrikatelemetria gyűjtését és exportálását.
OTEL_TRACES_EXPORTER
Ha be van Noneállítva, letiltja az elosztott nyomkövetési telemetriai adatok gyűjtését és exportálását.
OTEL_BLRP_SCHEDULE_DELAY
Ezredmásodpercben adja meg a naplózás exportálási időközét. Alapértelmezés szerint 5000.
OTEL_BSP_SCHEDULE_DELAY
Ezredmásodpercben adja meg az elosztott nyomkövetés exportálási időközét. Alapértelmezés szerint 5000.
OTEL_TRACES_SAMPLER_ARG
Meghatározza a mintavételezett elosztott nyomkövetési telemetriai adatok arányát. Az elfogadott értékek 0 és 1 között mozognak. Az alapértelmezett érték 1.0, ami azt jelenti, hogy a rendszer nem végez mintavételt a telemetriából.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
Megadja, hogy mely OpenTelemetry-rendszerállapotokat kell letiltani. Ha le van tiltva, a rendszerállapotok nem lesznek végrehajtva az autoinstrumentáció részeként. A kisbetűs kódtárnevek vesszővel tagolt listáját fogadja el. Állítsa be például úgy, hogy "psycopg2,fastapi" letiltsa a Psycopg2 és a FastAPI rendszerállapotokat. Alapértelmezés szerint egy üres lista, amely lehetővé teszi az összes támogatott rendszerállapot engedélyezését.
Az ügyféloldali monitorozás alapértelmezés szerint engedélyezve van az ajánlott gyűjteményt tartalmazó ASP.NET Core-alkalmazások esetében, függetlenül attól, hogy az alkalmazásbeállítás APPINSIGHTS_JAVASCRIPT_ENABLED jelen van-e.
Ha le szeretné tiltani az ügyféloldali monitorozást:
Válassza a Beállítások>Konfiguráció lehetőséget.
Az Alkalmazásbeállítások területen hozzon létre egy új alkalmazásbeállítást az alábbi információkkal:
Név: APPINSIGHTS_JAVASCRIPT_ENABLED
Érték: false
Mentse a beállításokat. Indítsa újra az alkalmazást.
Az ügyféloldali monitorozás a ASP.NET való bejelentkezés. Ügyféloldali monitorozás engedélyezése:
Válassza a Beállítások>Konfiguráció lehetőséget.
Az Alkalmazásbeállítások területen hozzon létre egy új alkalmazásbeállítást:
Név: Adja meg APPINSIGHTS_JAVASCRIPT_ENABLED.
Érték: Adja meg a true (Igaz) értéket.
Mentse a beállításokat, és indítsa újra az alkalmazást.
Az ügyféloldali figyelés letiltásához távolítsa el a társított kulcsértékpárt az alkalmazásbeállításokból, vagy állítsa az értéket hamis értékre.
Az ügyféloldali monitorozás engedélyezéséhez a Java-ügynök beszúrhatja a Browser SDK Loadert (előzetes verzió) az alkalmazás HTML-lapjaiba, beleértve a megfelelő kapcsolati sztring konfigurálását is.
Ahhoz, hogy a telemetriai gyűjteményt engedélyezhesse az Application Insights szolgáltatással, csak a következő alkalmazásbeállításokat kell beállítani:
Fő bővítmény, amely vezérli a futtatókörnyezet monitorozását.
~2 Windowshoz vagy ~3 Linuxhoz
XDT_MicrosoftApplicationInsights_Mode
Alapértelmezett módban csak az alapvető funkciók vannak engedélyezve az optimális teljesítmény biztosítása érdekében.
disabled vagy recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk
Csak ASP.NET Core-alkalmazásokhoz. Engedélyezi az Interop (interoperation) lehetőséget az Application Insights SDK-val. A bővítményt egymás mellett tölti be az SDK-val, és telemetria küldéséhez használja. (Letiltja az Application Insights SDK-t.)
1
Alkalmazásbeállítások definíciói
Alkalmazásbeállítás neve
Definíció
Érték
ApplicationInsightsAgent_EXTENSION_VERSION
Fő bővítmény, amely vezérli a futtatókörnyezet monitorozását.
~2
XDT_MicrosoftApplicationInsights_Mode
Alapértelmezett módban csak az alapvető funkciók vannak engedélyezve az optimális teljesítmény biztosítása érdekében.
default vagy recommended
InstrumentationEngine_EXTENSION_VERSION
Szabályozza, hogy a bináris átírási motor InstrumentationEngine be van-e kapcsolva. Ez a beállítás hatással van a teljesítményre, és hatással van a hideg indítási/indítási időre.
~1
XDT_MicrosoftApplicationInsights_BaseExtensions
Azt szabályozza, hogy az SQL és az Azure táblaszövege rögzítve legyen-e a függőségi hívásokkal együtt. Teljesítményre vonatkozó figyelmeztetés: Az alkalmazás hideg indítási ideje érintett. Ehhez a beállításhoz a InstrumentationEngine.
~1
Alkalmazásbeállítások definíciói
Alkalmazásbeállítás neve
Definíció
Érték
ApplicationInsightsAgent_EXTENSION_VERSION
Fő bővítmény, amely vezérli a futtatókörnyezet monitorozását.
~2 Windows vagy ~3 Linux rendszeren.
XDT_MicrosoftApplicationInsights_Java
Jelző, amely azt szabályozza, hogy a Java-ügynök szerepel-e a jelölőben.
0 vagy 1 (csak Windows rendszeren alkalmazható).
Feljegyzés
A Pillanatkép-hibakereső nem érhető el Java-alkalmazásokhoz.
Alkalmazásbeállítások definíciói
Alkalmazásbeállítás neve
Definíció
Érték
ApplicationInsightsAgent_EXTENSION_VERSION
Fő bővítmény, amely vezérli a futtatókörnyezet monitorozását.
~2 Windows vagy ~3 Linux rendszeren.
XDT_MicrosoftApplicationInsights_NodeJS
Jelző, amely azt szabályozza, hogy Node.js ügynök szerepel-e a jelölőben.
0 vagy 1 (csak Windows rendszeren alkalmazható).
Feljegyzés
A pillanatkép-hibakereső nem érhető el Node.js alkalmazásokhoz.
Alkalmazásbeállítások definíciói
Alkalmazásbeállítás neve
Definíció
Érték
APPLICATIONINSIGHTS_CONNECTION_STRING
Az Application Insights-erőforrás kapcsolati sztringje.
Példa: abcd1234-ab12-cd34-abcd1234abcd
ApplicationInsightsAgent_EXTENSION_VERSION
Fő bővítmény, amely vezérli a futtatókörnyezet monitorozását.
~3
Feljegyzés
A Pillanatkép-hibakereső nem érhető el Python-alkalmazásokhoz.
App Service-alkalmazásbeállítások az Azure Resource Managerrel
A Azure-alkalmazás szolgáltatás alkalmazásbeállításai azure Resource Manager-sablonokkal kezelhetők és konfigurálhatók. Ezt a módszert akkor használhatja, ha új App Service-erőforrásokat helyez üzembe a Resource Manager automatizálásával, vagy módosítja a meglévő erőforrások beállításait.
Az App Service-erőforrás JSON-alkalmazásbeállításainak alapstruktúrája:
Application Insights-erőforrás létrehozásának automatizálása és az újonnan létrehozott App Service-erőforrásra mutató hivatkozás
Ha Resource Manager-sablont szeretne létrehozni az alapértelmezett Application Insights-beállításokkal, kezdje el a folyamatot úgy, mintha egy új webalkalmazást hoz létre, amelyen engedélyezve van az Application Insights.
Hozzon létre egy új App Service-erőforrást a kívánt webalkalmazás-adatokkal. Engedélyezze az Application Insightst a Figyelés lapon.
Válassza az Áttekintés + létrehozás lehetőséget. Ezután válassza a Sablon letöltése automatizáláshoz lehetőséget.
Ez a beállítás létrehozza a legújabb Resource Manager-sablont az összes szükséges beállítás konfigurálva.
Az alábbi példában cserélje le az összes példányt AppMonitoredSite a webhely nevére:
Feljegyzés
Ha Windowst használ, állítsa a következőre ApplicationInsightsAgent_EXTENSION_VERSION~2: . Linux használata esetén állítsa a következőre ApplicationInsightsAgent_EXTENSION_VERSION~3: .
Az alkalmazásfigyelés PowerShellen keresztüli engedélyezéséhez csak a mögöttes alkalmazásbeállításokat kell módosítani. Az alábbi minta lehetővé teszi az alkalmazásfigyelést az erőforráscsoportban AppMonitoredRGhívott AppMonitoredSite webhelyeken. Úgy konfigurálja az adatokat, hogy azokat a 012345678-abcd-ef01-2345-6789abcd rendszerállapot-kulcsra küldhesse.
Windows használata esetén állítsa a ApplicationInsightsAgent_EXTENSION_VERSION értékre ~2. Linux használata esetén állítsa a ApplicationInsightsAgent_EXTENSION_VERSION értékre ~3.
Mit módosít az Application Insights a projektemben?
A részletek a projekt típusától függenek. Az alábbi lista egy webalkalmazás példája.
Fájlokat ad hozzá a projekthez:
ApplicationInsights.config
ai.js
Telepíti a NuGet-csomagokat:
Application Insights API: Az alapvető API
Application Insights API webalkalmazásokhoz: Telemetriát küld a kiszolgálóról
Application Insights API JavaScript-alkalmazásokhoz: Telemetriai adatok küldésére szolgál az ügyféltől
Csomagokban lévő szerelvényeket tartalmaz:
Microsoft.ApplicationInsights
Microsoft.ApplicationInsights.Platform
Elemek beszúrása a következőbe:
Web.config
packages.config
Kódrészleteket szúr be az ügyfél- és kiszolgálókódba, hogy inicializálja őket az Application Insights erőforrás-azonosítójával. Egy MVC-alkalmazásban például a rendszer kódot szúr be a Nézetek/Megosztott/_Layout.cshtml főlapra. Csak új projektek esetén manuálisan kell hozzáadnia az Application Insightst egy meglévő projekthez.
Mi a különbség az Application Insights standard metrikái és Azure-alkalmazás szolgáltatásmetrikái között?
Az Application Insights telemetriai adatokat gyűjt az alkalmazásnak küldött kérelmekről. Ha a hiba a WebApps/WebServer szolgáltatásban jelentkezik, és a kérés nem érte el a felhasználói alkalmazást, az Application Insights nem rendelkezik telemetriai adatokkal.
Az Application Insights által kiszámított időtartam serverresponsetime nem feltétlenül egyezik meg a Web Apps által megfigyelt kiszolgálói válaszidővel. Ennek a viselkedésnek az az oka, hogy az Application Insights csak azt az időtartamot számolja meg, amikor a kérés ténylegesen eléri a felhasználói alkalmazást. Ha a kérés elakadt vagy várólistára került a WebServerben, a várakozási idő a Web Apps-metrikákban szerepel, az Application Insights-metrikákban azonban nem.
Hibaelhárítás
Az alkalmazásgazda és a betöltési szolgáltatás közötti kapcsolat tesztelése
Az Application Insights SDK-k és -ügynökök telemetriát küldenek, hogy REST-hívásként betöltse a betöltési végpontokat. A webkiszolgálóról vagy az alkalmazásgazdagépről a betöltési szolgáltatás végpontjaihoz való kapcsolódást a PowerShellből vagy curl parancsokból származó nyers REST-ügyfelek használatával tesztelheti. Tekintse meg a hiányzó alkalmazástelemetria hibaelhárítását az Azure Monitor Application Insightsban.
Amikor webalkalmazást hoz létre az ASP.NET Core App Service futtatókörnyezeteivel, a rendszer egyetlen statikus HTML-lapot helyez üzembe kezdőweboldalként. Nem javasoljuk, hogy az alapértelmezett sablonnal kapcsolatos problémákat elhárítsa. A probléma elhárítása előtt helyezzen üzembe egy alkalmazást.
Hiányzó telemetria
Windows
Ellenőrizze, hogy az ApplicationInsightsAgent_EXTENSION_VERSION alkalmazás beállítása értékre ~2van-e állítva.
Nyissa meg a következő címet: https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Győződjön meg arról, hogy az Application Insights bővítmény állapotaPre-Installed Site Extension, version 2.8.x.xxxx, is running.
Győződjön meg arról, hogy az állapotforrás létezik, és így Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.jsonnéz ki.
Ha nem található hasonló érték, az azt jelenti, hogy az alkalmazás jelenleg nem fut vagy nem támogatott. Az alkalmazás futásának biztosításához próbálja meg manuálisan felkeresni az alkalmazás URL-címét/alkalmazásvégpontjait, így a futtatókörnyezet adatai elérhetővé válnak.
Győződjön meg arról, hogy az IKeyExists az True. Ha igen False, adja hozzá APPINSIGHTS_INSTRUMENTATIONKEY az APPLICATIONINSIGHTS_CONNECTION_STRING ikey GUID azonosítót az alkalmazásbeállításokhoz.
Ha az alkalmazás bármely Application Insights-csomagra hivatkozik, előfordulhat, hogy az App Service-integráció engedélyezése nem lép érvénybe, és előfordulhat, hogy az adatok nem jelennek meg az Application Insightsban. Ilyen lehet például, ha korábban az alkalmazást a ASP.NET Core SDK-val hangszerelte vagy kísérelte meg hangszerelni. A probléma megoldásához az Azure Portalon kapcsolja be az Interop és az Application Insights SDK szolgáltatást.
Fontos
Ez a funkció előzetes verzióban érhető el.
A rendszer kód nélküli módszerrel küldi el az adatokat, még akkor is, ha eredetileg az Application Insights SDK-t használták vagy próbálták meg használni.
Fontos
Ha az alkalmazás az Application Insights SDK-val küldött telemetriát, a telemetria le lesz tiltva. Más szóval az egyéni telemetriai adatok (például bármely Track*() metódus) és az egyéni beállítások (például mintavételezés) le lesznek tiltva.
Linux
Ellenőrizze, hogy az ApplicationInsightsAgent_EXTENSION_VERSION alkalmazás beállítása értékre ~3van-e állítva.
Nyissa meg a következő címet: https://your site name.scm.azurewebsites.net/ApplicationInsights.
Ezen a webhelyen erősítse meg a következőt:
Az állapotforrás létezik, és így Status source /var/log/applicationinsights/status_abcde1234567_89_0.jsonnéz ki.
Ekkor megjelenik az érték Auto-Instrumentation enabled successfully . Ha nem található hasonló érték, az azt jelenti, hogy az alkalmazás nem fut vagy nem támogatott. Az alkalmazás futásának biztosításához próbálja meg manuálisan felkeresni az alkalmazás URL-címét/alkalmazásvégpontjait, így a futtatókörnyezet adatai elérhetővé válnak.
IKeyExists is True. Ha igen False, adja hozzá APPINSIGHTS_INSTRUMENTATIONKEY az APPLICATIONINSIGHTS_CONNECTION_STRING ikey GUID azonosítót az alkalmazásbeállításokhoz.
A webalkalmazásokkal üzembe helyezett alapértelmezett webhely nem támogatja az automatikus ügyféloldali monitorozást
Amikor az App Service ASP.NET Core-futtatókörnyezeteivel hoz létre webalkalmazást, az egyetlen statikus HTML-lapot helyez üzembe kezdőweboldalként. A statikus weblap egy ASP-t is betölt. NET által felügyelt kijelző az IIS-ben. Ez a viselkedés lehetővé teszi a kód nélküli kiszolgálóoldali monitorozás tesztelését, de nem támogatja az automatikus ügyféloldali monitorozást.
Ha ASP.NET Core kód nélküli kiszolgáló- és ügyféloldali monitorozását szeretné tesztelni egy App Service-webalkalmazásban, javasoljuk, hogy kövesse az ASP.NET Core-webalkalmazások létrehozásához szükséges hivatalos útmutatókat. Ezt követően az aktuális cikkben található utasításokat követve engedélyezheti a monitorozást.
A PHP és a WordPress nem támogatott
A PHP- és WordPress-webhelyek nem támogatottak. Ezen számítási feladatok kiszolgálóoldali monitorozásához jelenleg nincs hivatalosan támogatott SDK/ügynök. Ha egy PHP- vagy WordPress-webhelyen szeretné nyomon követni az ügyféloldali tranzakciókat, adja hozzá az ügyféloldali JavaScriptet a weblapokhoz a JavaScript SDK használatával.
Az alábbi táblázat bemutatja, hogy ezek az értékek mit jelentenek, azok kiváltó okait és a javasolt javításokat.
Probléma értéke
Magyarázat
Javítás
AppAlreadyInstrumented:true
Ez az érték azt jelzi, hogy a bővítmény észlelte az SDK bizonyos aspektusát, amely már megtalálható az alkalmazásban, és kikapcsol. Hivatkozás erre az értékre Microsoft.ApplicationInsights.AspNetCore , vagy Microsoft.ApplicationInsights okozhatja azt.
Távolítsa el a hivatkozásokat. Ezen hivatkozások némelyike alapértelmezés szerint hozzáadódik bizonyos Visual Studio-sablonokhoz. A Visual Studio-referencia Microsoft.ApplicationInsightsrégebbi verziói .
AppAlreadyInstrumented:true
A DLL jelenléte Microsoft.ApplicationsInsights az alkalmazásmappában egy korábbi üzembe helyezésből is okozhatja ezt az értéket.
Törölje az alkalmazásmappát, és győződjön meg arról, hogy ezek a DLL-ek el lettek távolítva. Ellenőrizze a helyi alkalmazás bin könyvtárát és a wwwroot könyvtárat az App Service-ben. (Az App Service-webalkalmazás wwwroot könyvtárának ellenőrzéséhez válassza a Advanced Tools (Kudu) >Debug console>CMD>home\site\wwwroot).
IKeyExists:false
Ez az érték azt jelzi, hogy az eszközkulcs nem szerepel az alkalmazásbeállításban APPINSIGHTS_INSTRUMENTATIONKEY. A lehetséges okok közé tartozik az értékek véletlen eltávolítása vagy az értékek automatizálási szkriptben való beállításának elfelejtése.
Győződjön meg arról, hogy a beállítás megtalálható az App Service-alkalmazás beállításai között.
Feljegyzés
Amikor webalkalmazást hoz létre az ASP.NET App Service futtatókörnyezeteivel, a rendszer egyetlen statikus HTML-lapot helyez üzembe kezdőweboldalként. Nem javasoljuk, hogy az alapértelmezett sablonokkal kapcsolatos problémákat elhárítsa. A probléma elhárítása előtt helyezzen üzembe egy alkalmazást.
Hiányzó telemetria
Ellenőrizze, hogy az ApplicationInsightsAgent_EXTENSION_VERSION alkalmazás beállítása értékre ~2van-e állítva.
Nyissa meg a következő címet: https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Győződjön meg róla, hogy Application Insights Extension Status fut Pre-Installed Site Extension, version 2.8.x.xxxx .
Ha nem fut, kövesse az utasításokat az Application Insights monitorozásának engedélyezéséhez.
Győződjön meg arról, hogy az állapotforrás létezik, és így Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.jsonnéz ki.
Ha nem található hasonló érték, az azt jelenti, hogy az alkalmazás jelenleg nem fut vagy nem támogatott. Az alkalmazás futásának biztosításához próbálja meg manuálisan felkeresni az alkalmazás URL-címét/alkalmazásvégpontjait, így a futtatókörnyezet adatai elérhetővé válnak.
Győződjön meg róla, hogy IKeyExists az .true
Ha nem, adja hozzá APPINSIGHTS_INSTRUMENTATIONKEY az APPLICATIONINSIGHTS_CONNECTION_STRING eszközkulcs GUID azonosítóját az alkalmazásbeállításokhoz.
Győződjön meg arról, hogy nincsenek bejegyzések a , AppContainsDiagnosticSourceAssemblyés AppContainsAspNetTelemetryCorrelationAssembly.AppAlreadyInstrumented
Ha ezek közül bármelyik bejegyzés létezik, távolítsa el a következő csomagokat az alkalmazásból: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSourceés Microsoft.AspNet.TelemetryCorrelation.
A webalkalmazásokkal üzembe helyezett alapértelmezett webhely nem támogatja az automatikus ügyféloldali monitorozást
Amikor webalkalmazást hoz létre az App Service ASP.NET futtatókörnyezeteivel, az egy statikus HTML-lapot helyez üzembe kezdőweboldalként. A statikus weblap egy ASP-t is betölt. NET által felügyelt kijelző az IIS-ben. Ez a lap lehetővé teszi a kód nélküli kiszolgálóoldali monitorozás tesztelését, de nem támogatja az automatikus ügyféloldali monitorozást.
Ha egy App Service-webalkalmazásban tesztelni szeretné ASP.NET kód nélküli kiszolgálói és ügyféloldali monitorozását, javasoljuk, hogy kövesse az ASP.NET-keretrendszer webalkalmazások létrehozásához szükséges hivatalos útmutatókat. Ezt követően az aktuális cikkben található utasításokat követve engedélyezheti a monitorozást.
APPINSIGHTS_JAVASCRIPT_ENABLED és urlCompression nem támogatott
Ha olyan esetekben használja APPINSIGHTS_JAVASCRIPT_ENABLED=true , amikor a tartalom kódolva van, a következő hibaüzenetek jelenhetnek meg:
500 URL-átírási hiba.
500.53 URL-cím újraírása modulhiba a következő üzenettel: "Kimenő újraírási szabályok nem alkalmazhatók a HTTP-válasz tartalmának kódolásakor ("gzip")."
Hiba történik, mert az APPINSIGHTS_JAVASCRIPT_ENABLED alkalmazás beállítása be van állítva true , és a tartalomkódolás egyszerre van jelen. Ez a forgatókönyv egyelőre még nem támogatott. A megkerülő megoldás az alkalmazásbeállítások eltávolítása APPINSIGHTS_JAVASCRIPT_ENABLED . Sajnos, ha az ügyfél-/böngészőoldali JavaScript-rendszerállapotra továbbra is szükség van, manuális SDK-referenciákra van szükség a weblapokhoz. Kövesse a JavaScript SDK manuális rendszerezésére vonatkozó utasításokat .
Az Application Insights-ügynökkel/-bővítményrel kapcsolatos legfrissebb információkért tekintse meg a kibocsátási megjegyzéseket.
A PHP és a WordPress nem támogatott
A PHP- és WordPress-webhelyek nem támogatottak. Ezen számítási feladatok kiszolgálóoldali monitorozásához jelenleg nincs hivatalosan támogatott SDK/ügynök. Ha egy PHP- vagy WordPress-webhelyen szeretné nyomon követni az ügyféloldali tranzakciókat, adja hozzá az ügyféloldali JavaScriptet a weblapokhoz a JavaScript SDK használatával.
Az alábbi táblázat bemutatja, hogy ezek az értékek mit jelentenek, azok kiváltó okait és a javasolt javításokat.
Probléma értéke
Magyarázat
Javítás
AppAlreadyInstrumented:true
Ez az érték azt jelzi, hogy a bővítmény észlelte az SDK bizonyos aspektusát, amely már megtalálható az alkalmazásban, és kikapcsol. Erre mutató System.Diagnostics.DiagnosticSourcehivatkozás, Microsoft.AspNet.TelemetryCorrelationvagy Microsoft.ApplicationInsights okozhatja ezt az értéket.
Távolítsa el a hivatkozásokat. Ezen hivatkozások némelyike alapértelmezés szerint hozzáadódik bizonyos Visual Studio-sablonokhoz. A Visual Studio régebbi verziói hivatkozásokat adhatnak a fájlhoz Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
Az előző DLL-ek jelenléte az alkalmazásmappában egy korábbi üzembe helyezésből is okozhatja ezt az értéket.
Törölje az alkalmazásmappát, és győződjön meg arról, hogy ezek a DLL-ek el lettek távolítva. Ellenőrizze a helyi alkalmazás bin könyvtárát és az App Service-erőforrás wwwroot könyvtárát is. Az App Service-webalkalmazás wwwroot könyvtárának ellenőrzéséhez válassza az Advanced Tools (Kudu)>Debug console>CMD>home\site\wwwroot lehetőséget.
Ez az érték azt jelzi, hogy a bővítmény hivatkozásokat Microsoft.AspNet.TelemetryCorrelation észlelt az alkalmazásban, és kikapcsol.
Távolítsa el a hivatkozást.
AppContainsDiagnosticSourceAssembly**:true
Ez az érték azt jelzi, hogy a bővítmény hivatkozásokat System.Diagnostics.DiagnosticSource észlelt az alkalmazásban, és kikapcsol.
A ASP.NET távolítsa el a hivatkozást.
IKeyExists:false
Ez az érték azt jelzi, hogy az eszközkulcs nem szerepel az alkalmazásbeállításban APPINSIGHTS_INSTRUMENTATIONKEY. Lehetséges oka lehet, hogy az értékek véletlenül el lettek távolítva, vagy elfelejtette beállítani az értékeket az automatizálási szkriptben.
Győződjön meg arról, hogy a beállítás megtalálható az App Service-alkalmazás beállításai között.
System.IO.FileNotFoundException 2.8.44-frissítés után
Az autoinstrumentáció 2.8.44-es verziója 2.20.0-ra frissíti az Application Insights SDK-t. Az Application Insights SDK közvetett hivatkozással rendelkezik a következőre System.Runtime.CompilerServices.Unsafe.dllSystem.Diagnostics.DiagnosticSource.dll: . Ha az alkalmazás rendelkezik kötés átirányításávalSystem.Runtime.CompilerServices.Unsafe.dll, és ez a tár nem található meg az alkalmazásmappában, előfordulhat, hogy a rendszer eldobjaSystem.IO.FileNotFoundException.
A probléma megoldásához távolítsa el a web.config fájl kötésátirányítási System.Runtime.CompilerServices.Unsafe.dll bejegyzését. Ha az alkalmazás használni System.Runtime.CompilerServices.Unsafe.dllszeretné, állítsa be a kötés átirányítását az itt látható módon:
Ideiglenes áthidaló megoldásként beállíthatja az alkalmazásbeállítás ApplicationInsightsAgent_EXTENSION_VERSION értékét a következő értékre 2.8.37: . Ez a beállítás aktiválja az App Service-t a régi Application Insights-bővítmény használatára. Az ideiglenes kockázatcsökkentéseket csak köztes megoldásként szabad használni.
Hiányzó telemetria
Ellenőrizze, hogy ApplicationInsightsAgent_EXTENSION_VERSION az alkalmazásbeállítás értéke Windows rendszeren, ~3 Linux rendszeren van-e beállítva ~2
Vizsgálja meg a naplófájlt, és ellenőrizze, hogy az ügynök sikeresen elindult-e: tallózással keresse meg https://yoursitename.scm.azurewebsites.net/a gyökérkönyvtárra való SSH-módosítás alatt található naplófájlt a LogFiles/ApplicationInsights területen.
Miután engedélyezte az alkalmazásfigyelést a Java-alkalmazáshoz, ellenőrizheti, hogy az ügynök működik-e az élő metrikák megtekintésével – még az App Service-ben való üzembe helyezés és alkalmazás előtt látni fog néhány kérést a környezetből. Ne feledje, hogy a telemetriai adatok teljes készlete csak akkor érhető el, ha telepítette és futtatta az alkalmazást.
Állítsa a APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL környezeti változót arra az esetre debug , ha nem lát hibákat, és nincs telemetriai adat.
Hiányzó telemetria
Windows
Ellenőrizze, hogy ApplicationInsightsAgent_EXTENSION_VERSION az alkalmazás beállítása értékre ~2van-e állítva.
Nyissa meg a következő címet: https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Győződjön meg arról, hogy a Application Insights Extension StatusPre-Installed Site Extension, version 2.8.x.xxxx, is running.
Ha nem fut, kövesse az Application Insights monitorozási utasításait.
Lépjen a D:\local\Temp\status.json elemre, és nyissa meg a status.json.
Győződjön meg arról, hogy SDKPresent a beállítás értéke hamis, AgentInitializedSuccessfully igaz, és IKey érvényes iKey értékre van állítva.
Ha SDKPresent igaz, az azt jelenti, hogy a bővítmény azt észlelte, hogy az SDK bizonyos aspektusa már megtalálható az alkalmazásban, és vissza fog kapcsolni.
Linux
Ellenőrizze, hogy ApplicationInsightsAgent_EXTENSION_VERSION az alkalmazás beállítása értékre ~3van-e állítva.
Lépjen a /var/log/applicationinsights/ lapra, és nyissa meg a status.json.
Győződjön meg arról, hogy SDKPresent a beállítás értéke hamis, AgentInitializedSuccessfully igaz, és IKey érvényes iKey értékre van állítva.
Ha SDKPresent igaz, az azt jelenti, hogy a bővítmény azt észlelte, hogy az SDK bizonyos aspektusa már megtalálható az alkalmazásban, és vissza fog kapcsolni.
Az automatikus beépítés a manuális rendszerállapoton felül ismétlődő telemetriát okozhat, és növelheti a költségeket. Az App Service OpenTelemetria autoinstrumentációjának használatához először távolítsa el az OpenTelemetria manuális rendszerezését a kódból.
Hiányzó telemetria
Ha nem rendelkezik telemetriával, kövesse az alábbi lépéseket annak ellenőrzéséhez, hogy az autoinstrumentáció megfelelően van-e engedélyezve.
Győződjön meg arról, hogy az App Service-erőforrás Application Insights-felületén engedélyezve van az automatikus instruktálás.
Győződjön meg arról, hogy az ApplicationInsightsAgent_EXTENSION_VERSION alkalmazás beállítása értékre ~3 van állítva, és hogy a APPLICATIONINSIGHTS_CONNECTION_STRING megfelelő Application Insights-erőforrásra mutat.
Ellenőrizze az autoinstrumentációs diagnosztikát és az állapotnaplókat.
a. Lépjen a /var/log/applicationinsights/ lapra, és nyissa meg status_*.json.
b. Győződjön meg arról, hogy AgentInitializedSuccessfully igaz értékre van állítva, és IKey érvényes iKey-azonosítóval rendelkezik.
Az applicationinsights-extension.log ugyanabban a mappában lévő fájl más hasznos diagnosztikát is megjeleníthet.
Django-alkalmazások
Ha az alkalmazás Django-t használ, és vagy nem indul el, vagy helytelen beállításokat használ, győződjön meg arról, hogy beállítja a környezeti változót DJANGO_SETTINGS_MODULE . A részletekért tekintse meg a Django Instrumentation szakaszt .