Application Monitoring for Aplikace Azure Service a Java
Monitorování webových aplikací Java spuštěných na Aplikace Azure Services nevyžaduje žádné úpravy kódu. Tento článek vás provede povolením monitorování služby Azure Monitor application Přehledy a poskytuje předběžné pokyny k automatizaci procesu pro rozsáhlá nasazení.
Poznámka:
S aplikacemi nativní bitové kopie Spring Boot používejte místo řešení Aplikace Přehledy agenta Javy Přehledy aplikace Azure Monitor OpenTelemetry Nebo Application Přehledy v nativní imagi Spring Boot.
Povolit Application Insights
Doporučený způsob, jak povolit monitorování aplikací v Javě spuštěných na Aplikace Azure Services, je prostřednictvím webu Azure Portal. Zapnutí monitorování aplikací na webu Azure Portal automaticky instrumentuje vaši aplikaci pomocí služby Application Přehledy a nevyžaduje žádné změny kódu. V případě potřeby můžete použít další konfigurace a pak na základě konkrétního scénáře přidat vlastní telemetrii .
Automatická registrace prostřednictvím webu Azure Portal
Monitorování aplikací v Javě spuštěných ve službě Aplikace Azure Service můžete zapnout jenom s jedním výběrem. Nevyžaduje se žádná změna kódu. Integrace přidá application Přehledy Java 3.x a automaticky shromažďuje telemetrii.
Úplný seznam podporovanýchscénářůch
V ovládacím panelu Azure pro službu App Service vyberte Přehledy aplikace a pak vyberte Povolit.
Zvolte vytvoření nového prostředku nebo vyberte existující prostředek Přehledy aplikace pro tuto aplikaci.
Poznámka:
Když vyberete OK a vytvoříte nový prostředek, zobrazí se výzva k použití nastavení monitorování. Výběrem možnosti Pokračovat propočíte nový prostředek aplikace Přehledy s vaší službou App Service. Tím se aktivuje také restartování služby App Service.
Tento poslední krok je volitelný. Po zadání prostředku, který se má použít, můžete nakonfigurovat agenta Java. Pokud agenta Java nenakonfigurujete, použijí se výchozí konfigurace.
K dispozici je úplná sada konfigurací , stačí vložit platný soubor JSON. Vylučte připojovací řetězec a všechny konfigurace, které jsou ve verzi Preview– můžete přidat položky, které jsou aktuálně ve verzi Preview, jakmile budou obecně dostupné.
Po úpravě konfigurací prostřednictvím webu Azure Portal se automaticky vyplní APPLICATIONINSIGHTS_CONFIGURATION_FILE proměnná prostředí a zobrazí se na panelu nastavení služby App Service. Tato proměnná obsahuje úplný obsah JSON, který jste vložili do textového pole konfigurace webu Azure Portal pro vaši aplikaci v Javě.
Povolení monitorování na straně klienta
Pokud chcete povolit monitorování na straně klienta pro aplikaci v Javě, musíte do aplikace ručně přidat sadu JavaScript SDK na straně klienta.
Automatizace monitorování
Aby bylo možné povolit shromažďování telemetrických dat pomocí Přehledy aplikace, je potřeba nastavit pouze následující nastavení aplikace:
Definice nastavení aplikace
Název nastavení aplikace | Definice | Hodnota |
---|---|---|
ApplicationInsightsAgent_EXTENSION_VERSION | Hlavní rozšíření, které řídí monitorování modulu runtime. | ~2 ve Windows nebo ~3 v Linuxu. |
XDT_MicrosoftApplication Přehledy_Java | Příznak, který určuje, jestli je součástí agenta Java. | 0 nebo 1 (platí jenom ve Windows). |
Poznámka:
Profiler a ladicí program snímků nejsou k dispozici pro aplikace v Javě.
Nastavení aplikace služby App Service pomocí Azure Resource Manageru
Nastavení aplikace pro službu Aplikace Azure Service je možné spravovat a konfigurovat pomocí šablon Azure Resource Manageru. Tuto metodu můžete použít při nasazování nových prostředků služby App Service s automatizací Resource Manageru nebo úpravou nastavení existujících prostředků.
Základní struktura JSON nastavení aplikace pro prostředek služby App Service:
"resources": [
{
"name": "appsettings",
"type": "config",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
],
"tags": {
"displayName": "Application Insights Settings"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
]
Příklad šablony Resource Manageru s nastavením aplikace nakonfigurovanými pro Přehledy aplikace může být tato šablona užitečná. Konkrétně se podívejte na oddíl, který začíná na řádku 238.
Automatizace vytvoření prostředku Přehledy aplikace a propojení s nově vytvořeným prostředkem služby App Service
Pokud chcete vytvořit šablonu Resource Manageru s výchozím nastavením Přehledy aplikace, zahajte proces, jako byste chtěli vytvořit novou webovou aplikaci s povolenou Přehledy aplikace.
Vytvořte nový prostředek služby App Service s požadovanými informacemi o webové aplikaci. Na kartě Monitorování povolte Přehledy aplikace.
Vyberte Zkontrolovat a vytvořit. Pak vyberte Stáhnout šablonu pro automatizaci.
Tato možnost vygeneruje nejnovější šablonu Resource Manageru se všemi nakonfigurovanými požadovanými nastaveními.
V následující ukázce nahraďte všechny instance AppMonitoredSite
názvem vašeho webu:
Poznámka:
Pokud používáte Windows, nastavte ApplicationInsightsAgent_EXTENSION_VERSION
na hodnotu ~2
. Pokud používáte Linux, nastavte ApplicationInsightsAgent_EXTENSION_VERSION
na ~3
hodnotu .
{
"resources": [
{
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"properties": {
"siteConfig": {
"appSettings": [
{
"name": "APPINSIGHTS_INSTRUMENTATIONKEY",
"value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').InstrumentationKey]"
},
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').ConnectionString]"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~2"
}
]
},
"name": "[parameters('name')]",
"serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"hostingEnvironment": "[parameters('hostingEnvironment')]"
},
"dependsOn": [
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"microsoft.insights/components/AppMonitoredSite"
],
"apiVersion": "2016-03-01",
"location": "[parameters('location')]"
},
{
"apiVersion": "2016-09-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('hostingPlanName')]",
"workerSizeId": "[parameters('workerSize')]",
"numberOfWorkers": "1",
"hostingEnvironment": "[parameters('hostingEnvironment')]"
},
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
}
},
{
"apiVersion": "2015-05-01",
"name": "AppMonitoredSite",
"type": "microsoft.insights/components",
"location": "West US 2",
"properties": {
"ApplicationId": "[parameters('name')]",
"Request_Source": "IbizaWebAppExtensionCreate"
}
}
],
"parameters": {
"name": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"hostingEnvironment": {
"type": "string"
},
"location": {
"type": "string"
},
"sku": {
"type": "string"
},
"skuCode": {
"type": "string"
},
"workerSize": {
"type": "string"
},
"serverFarmResourceGroup": {
"type": "string"
},
"subscriptionId": {
"type": "string"
}
},
"$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0"
}
Povolení prostřednictvím PowerShellu
Pokud chcete povolit monitorování aplikací prostřednictvím PowerShellu, musíte změnit jenom základní nastavení aplikace. Následující ukázka umožňuje monitorování aplikací pro web volaný AppMonitoredSite
ve skupině AppMonitoredRG
prostředků . Konfiguruje data, která se mají odesílat do 012345678-abcd-ef01-2345-6789abcd
instrumentačního klíče.
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Poznámka:
Pokud používáte Systém Windows, nastavte aplikaci Přehledy Agent_EXTENSION_VERSION na ~2
hodnotu . Pokud používáte Linux, nastavte aplikaci Přehledy Agent_EXTENSION_VERSION na ~3
.
$app = Get-AzWebApp -ResourceGroupName "AppMonitoredRG" -Name "AppMonitoredSite" -ErrorAction Stop
$newAppSettings = @{} # case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # preserve non Application Insights application settings.
$newAppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] = "012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights instrumentation key
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~2"; # enable the ApplicationInsightsAgent
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop
Řešení problému
V našem podrobném průvodci můžete řešit potíže s aplikacemi založenými na Javě běžící na Aplikace Azure Services.
Zkontrolujte, jestli
ApplicationInsightsAgent_EXTENSION_VERSION
je nastavení aplikace nastavené na hodnotu ~2 ve Windows, ~3 v Linuxu.Zkontrolujte soubor protokolu a zkontrolujte, že se agent úspěšně spustil: Přejděte do složky SSH a přejděte dohttps://yoursitename.scm.azurewebsites.net/ kořenového adresáře a soubor protokolu se nachází ve složce LogFiles/Application Přehledy.
Po povolení monitorování aplikací pro vaši aplikaci v Javě můžete ověřit, že agent funguje, a to tak, že se podíváte na živé metriky , a to i před nasazením a aplikací do služby App Service, uvidíte některé požadavky z prostředí. Mějte na paměti, že úplná sada telemetrie je dostupná jenom v případech, kdy máte aplikaci nasazenou a spuštěnou.
Nastavte APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL proměnnou prostředí na ladění, pokud se nezobrazí žádné chyby a neexistuje žádná telemetrie.
Jaký je rozdíl mezi standardními metrikami oproti metrikám služby Application Přehledy a Aplikace Azure Service?
Aplikace Přehledy shromažďuje telemetrii pro požadavky, které je do aplikace provedly. Pokud k selhání dojde ve službě WebApps/WebServer a požadavek se nedotášel k uživatelské aplikaci, aplikace Přehledy o ní nemá žádnou telemetrii.
Doba trvání serverresponsetime
vypočítaná aplikací Přehledy nemusí nutně odpovídat době odezvy serveru zjištěné službou Web Apps. Toto chování je způsobeno tím, že aplikace Přehledy počítá pouze dobu trvání, kdy požadavek skutečně dosáhne uživatelské aplikace. Pokud se požadavek zablokuje nebo zařadí do fronty ve webovém serveru, doba čekání se zahrne do metrik Web Apps, ale ne do metrik Přehledy aplikace.
Testování připojení mezi hostitelem vaší aplikace a službou příjmu dat
Sady SDK a agenti aplikace Přehledy odesílají telemetrii, aby se ingestovala jako volání REST do koncových bodů příjmu dat. Připojení z webového serveru nebo hostitelského počítače aplikace ke koncovým bodům služby pro příjem dat můžete otestovat pomocí nezpracovaných klientů REST z příkazů PowerShellu nebo curl. Viz Řešení potíží s chybějící telemetrií aplikací ve službě Azure Monitor application Přehledy.
Ruční nasazení nejnovější verze aplikace Přehledy Javě
Aplikace Přehledy verze Java se automaticky aktualizuje jako součást aktualizací app Services.
Pokud narazíte na problém, který je opravený v nejnovější verzi aplikace Přehledy Javě, můžete ho aktualizovat ručně.
Pokud chcete provést ruční aktualizaci, postupujte takto:
Nahrání souboru JAR agenta Java do služby App Service
a. Nejdřív získejte nejnovější verzi Azure CLI podle zde uvedených pokynů.
b. Dále získejte nejnovější verzi agenta aplikace Přehledy Javě podle pokynů zde.
c. Potom pomocí následujícího příkazu nasaďte soubor JAR agenta Java do služby App Service:
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}
Případně můžete pomocí tohoto průvodce nasadit agenta prostřednictvím modulu plug-in Maven.Zakažte Přehledy aplikace prostřednictvím karty Přehledy aplikace na webu Azure Portal.
Po nahrání souboru JAR agenta přejděte do konfigurací služby App Service. Pokud potřebujete použít spouštěcí příkaz pro Linux, uveďte argumenty jvm:
Spouštěcí příkaz nemá čest
JAVA_OPTS
pro JavaSE aniCATALINA_OPTS
pro Tomcat.Pokud nepoužíváte spouštěcí příkaz, vytvořte novou proměnnou prostředí pro
JAVA_OPTS
JavaSE neboCATALINA_OPTS
Tomcat s hodnotou-javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar
.Restartujte aplikaci, aby se změny použily.
Poznámka:
Pokud nastavíte proměnnou JAVA_OPTS
prostředí JavaSE nebo CATALINA_OPTS
Tomcat, budete muset na portálu zakázat Přehledy aplikace. Pokud chcete na portálu povolit Přehledy aplikace, ujistěte se, že v nastavení konfigurace služby App Service nenastavíte JAVA_OPTS
proměnnou JavaSE nebo CATALINA_OPTS
Tomcat.
Poznámky k verzi
Nejnovější aktualizace a opravy chyb najdete v poznámkách k verzi.
Další kroky
- Monitorování služby Azure Functions pomocí aplikačních Přehledy
- Povolte odesílání diagnostiky Azure do Application Insights.
- Monitorujte metriky stavu služby, abyste zajistili dostupnost služby a její schopnost dobře reagovat.
- Přijímejte oznámení o výstrahách vždy, když nastanou provozní události nebo když metriky překročí prahovou hodnotu.
- Použitím Application Insights pro aplikace JavaScript a webové stránky získávejte telemetrické údaje klienta z prohlížečů, které webovou stránky navštíví.
- Přehled dostupnosti
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro