Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Автоинструментация, также называемая мониторингом среды выполнения, — это самый простой способ включить Application Insights для службы приложений Azure без изменения кода или необходимости в сложных настройках. На основе конкретного сценария оцените, требуется ли более расширенный мониторинг с помощью ручного инструментирования.
Примечание.
Поддержка приема ключей инструментирования будет завершена 31 марта 31, 2025 г. Прием ключей инструментирования будет и дальше осуществляться, но мы больше не будем предоставлять обновления или поддержку для этой функции. Перейдите на строки подключения, чтобы использовать новые возможности.
Включить Application Insights
Внимание
Если обнаружены как автоинструментация, так и ручное инструментирование с использованием SDK, учитываются только параметры ручного инструментирования. Это соглашение предотвращает отправку повторяющихся данных. Дополнительные сведения см. в статье "Устранение неполадок интеграции Application Insights с службой приложений Azure".
Примечание.
- Поддерживаются только выпуски долгосрочной поддержки .NET Core (LTS).
- Обрезка автономных развертыванийне поддерживается. Вместо этого используйте инструментирование вручную.
Автоинструментация в портале Azure
Выберите Application Insights в меню навигации слева службы приложений и нажмите кнопку "Включить".
Создайте новый ресурс или выберите существующий ресурс Application Insights для этого приложения.
Примечание.
При нажатии кнопки "ОК " для создания нового ресурса появится запрос на применение параметров мониторинга. При выборе "Продолжить" вы можете связать новый ресурс Application Insights со службой приложений. Затем служба приложений перезапускается.
После указания используемого ресурса вы можете выбрать способ сбора данных на каждую платформу для приложения Application Insights. Параметры коллекции в ASP.NET Core могут быть рекомендуемыми или отключенными.
Обновление расширения или агента мониторинга вручную
Обновление с версии 2.8.9 и выше
Обновление с версии 2.8.9 происходит автоматически, никаких дополнительных действий не требуется. Новые биты мониторинга доставляются в фоновом режиме в целевую службу приложений и подхватываются при перезапуске приложения.
Чтобы узнать, какую версию расширения вы используете, перейдите по адресу https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Обновление с версий 1.0.0–2.6.5
Начиная с версии 2.8.9 используется предварительно установленное расширение сайта. Если вы используете более раннюю версию, можно выполнить обновление одним из следующих двух способов:
Обновление путем включения через портал Azure: Даже если у вас установлено расширение Application Insights для Службы приложений, пользовательский интерфейс отображает только кнопку «Включить». За кулисами удаляется старое расширение частного сайта.
Обновление с помощью PowerShell.
- Настройте параметры приложения, чтобы включить предварительно установленное расширение сайта
ApplicationInsightsAgent. Дополнительные сведения см. в разделе "Включить с помощью PowerShell". - Вручную удалите расширение частного сайта с именем Application Insights extension for Azure App Service.
- Настройте параметры приложения, чтобы включить предварительно установленное расширение сайта
Если обновление выполняется с версии до 2.5.1, убедитесь, что ApplicationInsights библиотеки DLL удаляются из папки корзины приложения. Дополнительные сведения см. в статье "Устранение неполадок интеграции Application Insights с службой приложений Azure".
Настройка расширения или агента мониторинга
В настоящее время мы не предлагаем варианты настройки расширения мониторинга для ASP.NET Core.
Включение наблюдения на стороне клиента
Мониторинг на стороне клиента включен по умолчанию для приложений ASP.NET Core с рекомендуемой коллекцией независимо от того, присутствует ли параметр APPINSIGHTS_JAVASCRIPT_ENABLED приложения.
Если вы хотите отключить мониторинг на стороне клиента:
Выберите Параметры>Конфигурация.
В разделе "Параметры приложения" создайте параметр нового приложения со следующими сведениями:
-
Имя:
APPINSIGHTS_JAVASCRIPT_ENABLED -
Значение:
false
-
Имя:
Сохраните параметры. Перезапустите приложение.
Автоматизация мониторинга
Чтобы включить сбор данных телеметрии с помощью Application Insights, достаточно просто задать следующие параметры приложения:
Определения параметров приложения
| Имя параметра приложения | Определение | Значение |
|---|---|---|
| ApplicationInsightsAgent_ВЕРСИЯ_РАСШИРЕНИЯ | Главное расширение, которое управляет мониторингом среды выполнения. |
~2 для Windows или ~3 для Linux |
| XDT_MicrosoftApplicationInsights_Режим | В режиме по умолчанию для обеспечения оптимальной производительности включены только основные функции. |
disabled или recommended. |
| XDT_MicrosoftApplicationInsights_PreemptSdk | Только для приложений ASP.NET Core. Включает взаимодействие (взаимодействие) с пакетом SDK Application Insights. Загружает расширение параллельно с пакетом SDK и использует его для отправки телеметрии. (Отключает пакет SDK Application Insights.) | 1 |
Параметры приложения службы приложений в Azure Resource Manager
Параметры приложения для службы приложений Azure можно управлять и настраивать с помощью шаблонов Azure Resource Manager. Этот метод можно использовать при развертывании новых ресурсов службы приложений с помощью автоматизации Resource Manager или при изменении параметров существующих ресурсов.
Базовая структура настроек приложения JSON для ресурса 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"
}
}
]
Автоматизируйте создание ресурса Application Insights и связь с вновь созданным ресурсом App Service.
Чтобы создать шаблон Resource Manager с параметрами Application Insights по умолчанию, начните процесс, как если бы вы собирались создать новое веб-приложение с включенным Application Insights.
На портале Azure создайте ресурс веб-приложения с нужными сведениями. Включите Application Insights на вкладке "Монитор и безопасность ".
Перейдите к разделу "Просмотр и создание", а затем выберите "Скачать шаблон для автоматизации". Этот параметр создает последний шаблон Resource Manager со всеми необходимыми параметрами.
Примечание.
В следующем примере шаблона используется приложение .NET 8 (LTS), работающее в Windows. В нем используются заполнители my-monitored-web-app для имени приложения и aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e для идентификатора подписки.
Мы не рекомендуем копировать и использовать его напрямую. Вместо этого создайте собственный шаблон на основе приведенных выше инструкций.
Развернуть, чтобы посмотреть пример шаблона
{
"$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": {}
}
]
}
}
}
]
}
Включите через PowerShell.
Чтобы включить мониторинг приложений с помощью PowerShell, необходимо изменить только базовые параметры приложения. Следующий пример обеспечивает мониторинг приложений для веб-сайта под названием my-monitored-web-app в группе ресурсов my-resource-group. Он настраивает отправку данных в InstrumentationKey=012345678-abcd-ef01-2345-6789abcd строку подключения.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Перенос Azure PowerShell с AzureRM на Az.
Примечание.
Для Windows установите значение ~2 для ApplicationInsightsAgent_EXTENSION_VERSION.
Для Linux задайте для ApplicationInsightsAgent_EXTENSION_VERSION значение ~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
Устранение неполадок
См. статью об устранении неполадок.
Следующие шаги
- Просмотрите часто задаваемые вопросы (FAQ): мониторинг в Azure App Service для приложений .NET, Node.js, Python и Java FAQ.
- Включите профилировщик .NET для приложений службы приложений Azure в реальном времени.
- Включите отправку данных диагностики Azure в Application Insights.
- Отслеживайте метрики состояния службы, чтобы убедиться, что служба доступна и отвечает на запросы.
- Получайте уведомления при возникновении операционных событий или превышении пороговых значений метрик.
- Настройте тесты доступности для приложения.