Application Monitoring for Aplikace Azure Service and Node.js
Monitorování webových aplikací Node.js 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
Nejjednodušší způsob, jak povolit monitorování aplikací pro Node.js aplikace spuštěné 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.
Poznámka:
Automaticky připojeného agenta můžete nakonfigurovat pomocí proměnné prostředí APPLICATIONINSIGHTS_CONFIGURATION_CONTENT v okně proměnné služby App Service Environment. Podrobnosti o možnostech konfigurace, které lze předat prostřednictvím této proměnné prostředí, najdete v tématu Node.js Konfigurace.
Poznámka:
Pokud se zjistí automatická instrumentace i ruční instrumentace založená na sadě SDK, budou dodržena pouze nastavení ruční instrumentace. Tím zabráníte odesílání duplicitních dat. Další informace najdete v části řešení potíží v tomto článku.
Automatická registrace prostřednictvím webu Azure Portal
Úplný seznam podporovanýchscénářůch
Monitorování pro Node.js aplikace spuštěné ve službě Aplikace Azure Service můžete zapnout jediným kliknutím, nevyžaduje se žádná změna kódu. Aplikační Přehledy pro Node.js je integrovaná se službou Aplikace Azure Service v Linuxu – založené na kódu i vlastní kontejnery a se službou App Service ve Windows pro aplikace založené na kódu. Integrace je ve verzi Public Preview. Integrace přidává sadu Node.js SDK, která je ve verzi GA.
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.
Jakmile určíte, který prostředek se má použít, máte všechno nastavené na to, abyste přešli.
Konfigurace
Agenta Node.js je možné nakonfigurovat pomocí kódu JSON. Nastavte proměnnou APPLICATIONINSIGHTS_CONFIGURATION_CONTENT
prostředí na řetězec JSON nebo nastavte proměnnou APPLICATIONINSIGHTS_CONFIGURATION_FILE
prostředí na cestu k souboru obsahující json.
"samplingPercentage": 80,
"enableAutoCollectExternalLoggers": true,
"enableAutoCollectExceptions": true,
"enableAutoCollectHeartbeat": true,
"enableSendLiveMetrics": true,
...
K dispozici je úplná sada konfigurací , stačí použít platný soubor JSON.
Povolení monitorování na straně klienta
Pokud chcete povolit monitorování na straně klienta pro vaši aplikaci Node.js, 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_NodeJS | Příznak, který určuje, jestli je součástí agenta Node.js. | 0 nebo 1 (platí jenom ve Windows). |
Poznámka:
Profiler a ladicí program snímků nejsou k dispozici pro aplikace Node.js
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
Níže najdete podrobný průvodce odstraňováním potíží pro monitorování na základě rozšíření nebo agenta pro Node.js aplikace spuštěné na Aplikace Azure Services.
Zkontrolujte, jestli
ApplicationInsightsAgent_EXTENSION_VERSION
je nastavení aplikace nastavené na hodnotu ~2.Přejděte na
https://yoursitename.scm.azurewebsites.net/ApplicationInsights
.Potvrďte, že
Application Insights Extension Status
jePre-Installed Site Extension, version 2.8.x.xxxx, is running.
Pokud není spuštěný, postupujte podle pokynů k povolení aplikace Přehledy monitorování.
Přejděte na D:\local\Temp\status.json a otevřete status.json.
Ověřte, že
SDKPresent
je nastavená hodnota false,AgentInitializedSuccessfully
na hodnotu true aIKey
že má platný klíč iKey.Níže je příklad souboru JSON:
"AppType":"node.js", "MachineName":"c89d3a6d0357", "PID":"47", "AgentInitializedSuccessfully":true, "SDKPresent":false, "IKey":"00000000-0000-0000-0000-000000000000", "SdkVersion":"1.8.10"
Pokud
SDKPresent
je pravda, znamená to, že rozšíření zjistilo, že některé aspekty sady SDK již existují v aplikaci a budou se vracet zpět.
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.
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