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í.

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

  1. V ovládacím panelu Azure pro službu App Service vyberte Přehledy aplikace a pak vyberte Povolit.

    Snímek obrazovky s kartou Přehledy aplikace s vybranou možností Povolit

  2. 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.

    Snímek obrazovky s rozevíracím seznamem Změnit prostředek

  3. 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ě.

    Snímek obrazovky instrumentace aplikace

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:

Snímek obrazovky s Nastavení aplikace služby App Service s dostupnými nastaveními Přehledy 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.

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.

  1. 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.

  2. Vyberte Zkontrolovat a vytvořit. Pak vyberte Stáhnout šablonu pro automatizaci.

    Snímek obrazovky znázorňující nabídku vytvoření webové aplikace služby App Service

    Tato možnost vygeneruje nejnovější šablonu Resource Manageru se všemi nakonfigurovanými požadovanými nastaveními.

    Snímek obrazovky znázorňující šablonu webové aplikace služby App Service

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 ~3hodnotu .

{
    "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ě AppMonitoredRGprostř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. Začněte tím, že si projdete 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 ~2hodnotu . 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.

  1. Zkontrolujte, jestli ApplicationInsightsAgent_EXTENSION_VERSION je nastavení aplikace nastavené na hodnotu ~2 ve Windows, ~3 v Linuxu.

  2. 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.

    Snímek obrazovky s odkazem nad stránkou výsledků

  3. 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.

  4. 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:

  1. 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.

  2. Zakažte Přehledy aplikace prostřednictvím karty Přehledy aplikace na webu Azure Portal.

  3. 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:

    Snímek obrazovky s spouštěcím příkazem

    Spouštěcí příkaz nemá čest JAVA_OPTS pro JavaSE ani CATALINA_OPTS pro Tomcat.

    Pokud nepoužíváte spouštěcí příkaz, vytvořte novou proměnnou prostředí pro JAVA_OPTS JavaSE nebo CATALINA_OPTS Tomcat s hodnotou -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar.

  4. 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