Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Automatická instrumentace, označovaná také jako monitorování za běhu, je nejjednodušší způsob, jak povolit Application Insights pro Azure App Service bez nutnosti jakýchkoli změn kódu nebo pokročilých konfigurací. Na základě konkrétního scénáře vyhodnoťte, jestli vyžadujete pokročilejší monitorování prostřednictvím ruční instrumentace.
Poznámka:
Podpora příjmu dat založeného na instrumentačním klíči skončí 31. března 2025. Příjem klíčů instrumentace bude dál fungovat, ale už nebudeme poskytovat aktualizace ani podporu pro tuto funkci. Přechod na připojovací řetězec, abyste mohli využívat nové funkce.
Aktivovat službu Application Insights
Důležité
Je-li zjištěno monitorování automatické instrumentace i ruční instrumentace založené na sadě SDK, budou dodržena pouze nastavení ruční instrumentace. Toto uspořádání zabraňuje odesílání duplicitních dat. Další informace najdete v tématu Řešení potíží s integrací Application Insights se službou Azure App Service.
Poznámka:
- Podporují se jenom verze dlouhodobé podpory .NET Core (LTS).
- Samoobslužná nasazeníse nepodporují. Místo toho použijte ruční instrumentaci .
Automatické instrumentování v Azure portálu
V levé navigační nabídce služby App Service vyberte Application Insights a pak vyberte Povolit.
Vytvořte nový prostředek nebo vyberte existující prostředek Application Insights 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 Pokračovat propojíte nový prostředek Application Insights se službou App Service. Vaše služba App Service se pak restartuje.
Po určení, který prostředek se má použít, můžete zvolit, jak má Application Insights shromažďovat data pro každou platformu pro vaši aplikaci. ASP.NET Možnosti kolekce Core jsou doporučené nebo zakázané.
Ruční upgrade rozšíření/agenta monitorování
Upgrade z verze 2.8.9 a novější
Upgrade z verze 2.8.9 probíhá automaticky bez dalších akcí. Nové monitorovací bity se doručí na pozadí do cílové služby App Service a aktivují se při restartování aplikace.
Pokud chcete zkontrolovat, jakou verzi rozšíření používáte, přejděte na https://yoursitename.scm.azurewebsites.net/ApplicationInsightsstránku .
Upgrade z verze 1.0.0 – 2.6.5
Počínaje verzí 2.8.9 se používá předinstalované rozšíření webu. Pokud používáte starší verzi, můžete ji aktualizovat jedním ze dvou způsobů:
Upgrade povolením prostřednictvím portálu Azure: I když máte nainstalované rozšíření Application Insights pro Službu App Service, zobrazí se v uživatelském rozhraní pouze tlačítko Povolit. Na pozadí se odebere staré rozšíření privátního webu.
Upgrade prostřednictvím PowerShellu:
- Nastavte nastavení aplikace, aby povolilo předinstalované rozšíření webu
ApplicationInsightsAgent. Další informace najdete v tématu Povolení prostřednictvím PowerShellu. - Ručně odeberte rozšíření privátního webu s názvem Rozšíření Application Insights pro službu Aplikace Azure Service.
- Nastavte nastavení aplikace, aby povolilo předinstalované rozšíření webu
Pokud se upgrade provádí z verze starší než 2.5.1, zkontrolujte, jestli jsou knihovny DLL odebrány ze složky bin aplikace. Další informace najdete v tématu Řešení potíží s integrací Application Insights se službou Azure App Service.
Nakonfigurujte rozšíření monitorování/agenta
V současné době nenabízíme možnosti konfigurace rozšíření monitorování pro ASP.NET Core.
Povolení monitorování na straně klienta
Monitorování na straně klienta je ve výchozím nastavení povolené pro aplikace ASP.NET Core s doporučenou kolekcí bez ohledu na to, jestli je nastavení APPINSIGHTS_JAVASCRIPT_ENABLED aplikace k dispozici.
Pokud chcete zakázat monitorování na straně klienta:
Vyberte Nastavení>Konfigurace.
V části Nastavení aplikace vytvořte nové nastavení aplikace s následujícími informacemi:
-
Název:
APPINSIGHTS_JAVASCRIPT_ENABLED -
Hodnota:
false
-
Název:
Uložte nastavení. Restartujte aplikaci.
Automatizace monitorování
Aby bylo možné povolit shromažďování telemetrických dat pomocí Application Insights, 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í za běhu programu. |
~2 pro Windows nebo ~3 Linux |
| XDT_MicrosoftApplicationInsights_Mode | Ve výchozím režimu jsou povoleny pouze základní funkce, které zajistí optimální výkon. |
disabled nebo recommended. |
| XDT_MicrosoftApplicationInsights_PreemptSdk | Pouze pro aplikace ASP.NET Core. Umožňuje spolupráci (interoperace) se sadou Application Insights SDK. Načte rozšíření vedle sady SDK a používá ho k odesílání telemetrie. (Zakáže Application Insights SDK.) | 1 |
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"
}
}
]
Automatizace vytvoření prostředku Application Insights 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 Application Insights, začněte proces, jako byste chtěli vytvořit novou webovou aplikaci s povolenou službou Application Insights.
V Azure Portálu vytvořte novou webovou aplikaci s požadovanými informacemi. Povolte Application Insights na kartě Monitorování a zabezpečení .
Přejděte na Zkontrolovat a vytvořit a 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.
Poznámka:
Následující příklad šablony je určená pro aplikaci .NET 8 (LTS) běžící ve Windows. Používá zástupné symboly my-monitored-web-app pro název aplikace a aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e ID předplatného.
Nedoporučujeme kopírovat a používat ho přímo. Místo toho vygenerujte vlastní šablonu na základě výše uvedených pokynů.
Rozbalení a zobrazení ukázkové šablony
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string"
},
"resourceGroupName": {
"type": "string"
},
"name": {
"type": "string"
},
"location": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"serverFarmResourceGroup": {
"type": "string"
},
"alwaysOn": {
"type": "bool"
},
"ftpsState": {
"type": "string"
},
"autoGeneratedDomainNameLabelScope": {
"type": "string"
},
"sku": {
"type": "string"
},
"skuCode": {
"type": "string"
},
"workerSize": {
"type": "string"
},
"workerSizeId": {
"type": "string"
},
"numberOfWorkers": {
"type": "string"
},
"currentStack": {
"type": "string"
},
"phpVersion": {
"type": "string"
},
"netFrameworkVersion": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"apiVersion": "2022-03-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"tags": null,
"dependsOn": [
"microsoft.insights/components/my-monitored-web-app",
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference('microsoft.insights/components/my-monitored-web-app', '2015-05-01').ConnectionString]"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~2"
},
{
"name": "XDT_MicrosoftApplicationInsights_Mode",
"value": "default"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
],
"phpVersion": "[parameters('phpVersion')]",
"netFrameworkVersion": "[parameters('netFrameworkVersion')]",
"alwaysOn": "[parameters('alwaysOn')]",
"ftpsState": "[parameters('ftpsState')]"
},
"serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"clientAffinityEnabled": true,
"virtualNetworkSubnetId": null,
"httpsOnly": true,
"publicNetworkAccess": "Enabled",
"autoGeneratedDomainNameLabelScope": "[parameters('autoGeneratedDomainNameLabelScope')]"
},
"resources": [
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/scm')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/ftp')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
}
]
},
{
"apiVersion": "2018-11-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('location')]",
"kind": "",
"tags": null,
"dependsOn": [],
"properties": {
"name": "[parameters('hostingPlanName')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"zoneRedundant": false
},
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
}
},
{
"apiVersion": "2020-02-02-preview",
"name": "my-monitored-web-app",
"type": "microsoft.insights/components",
"location": "centralus",
"tags": null,
"dependsOn": [
"newWorkspaceTemplate"
],
"properties": {
"ApplicationId": "[parameters('name')]",
"Request_Source": "IbizaWebAppExtensionCreate",
"Flow_Type": "Redfield",
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS"
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "newWorkspaceTemplate",
"resourceGroup": "DefaultResourceGroup-CUS",
"subscriptionId": "[parameters('subscriptionId')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2020-08-01",
"name": "DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS",
"type": "Microsoft.OperationalInsights/workspaces",
"location": "centralus",
"properties": {}
}
]
}
}
}
]
}
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í aplikace pro web nazvaný my-monitored-web-app ve skupině prostředků my-resource-group. Konfiguruje odesílání dat do připojovacího InstrumentationKey=012345678-abcd-ef01-2345-6789abcd řetězce.
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:
Pro Windows nastavte ApplicationInsightsAgent_EXTENSION_VERSION na ~2.
V případě Linuxu nastavte ApplicationInsightsAgent_EXTENSION_VERSION na ~3.
$app = Get-AzWebApp -ResourceGroupName "my-resource-group" -Name "my-monitored-web-app" -ErrorAction Stop
$newAppSettings = @{} # Case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # Preserve non-Application-Insights application settings.
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"; # Set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~3"; # Enable the ApplicationInsightsAgent.
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop
Řešení problému
Projděte si vyhrazený článek o řešení potíží.
Další kroky
- Projděte si nejčastější dotazy: Nejčastější dotazy k monitorování ve službě Azure App Service pro .NET, Node.js, Python a aplikace v Javě.
- Povolte profiler .NET pro aplikace Azure App Service v živé aplikaci.
- 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.
- Nastavte testy dostupnosti pro vaši aplikaci.