Аналитика приложений для виртуальных машин Azure и масштабируемых наборов виртуальных машин
Включение мониторинга для ASP.NET и ASP.NET основных приложений, размещенных в IIS, работающих в Azure Виртуальные машины или Azure Масштабируемые наборы виртуальных машин, теперь проще, чем когда-либо. Вы можете получить все преимущества использования Application Insights без изменения кода.
В этой статье описано, как включить мониторинг приложений Аналитика с помощью агента приложения Аналитика. Он также предоставляет предварительные рекомендации по автоматизации процесса для крупномасштабных развертываний.
Включить Application Insights
Автоинструментация легко включить. Расширенная конфигурация не требуется.
Полный список поддерживаемых сценариев автоинструментации см. в статье "Поддерживаемые среды", "Языки" и поставщики ресурсов.
Примечание.
Автоинструментация доступна для ASP.NET, ASP.NET размещенных в IIS приложениях и Java. Используйте пакет SDK для инструментирования Node.js и приложений Python, размещенных на виртуальных машинах Azure и масштабируемых наборах виртуальных машин.
Агент приложения Аналитика автоматически извлекает те же сигналы зависимостей из поля, что и пакет SDK. Дополнительные сведения см. в разделе автоколлекция зависимостей.
Перед установкой расширения агента Аналитика приложения потребуется строка подключения. Создайте ресурс приложения Аналитика или скопируйте строка подключения из существующего ресурса приложения Аналитика.
Включение мониторинга для виртуальных машин
Вы можете использовать портал Azure или PowerShell для включения мониторинга для виртуальных машин.
Портал Azure
Вернитесь к ресурсу Application Insights на портале Azure. Скопируйте строка подключения в буфер обмена.
Перейдите на виртуальную машину. В разделе Параметры в меню слева выберите "Расширения + приложения>".
Нажмите кнопку "Приложение Аналитика агент>далее".
Вставьте строка подключения, скопированную на шаге 1, и выберите "Просмотр и создание".
PowerShell
Примечание.
Вы не знакомы с PowerShell? Ознакомьтесь с руководством по началу работы.
Установите или обновите агент приложения Аналитика в качестве расширения для виртуальных машин Azure:
# define variables to match your environment before running
$ResourceGroup = "<myVmResourceGroup>"
$VMName = "<myVmName>"
$Location = "<myVmLocation>"
$ConnectionString = "<myAppInsightsResourceConnectionString>"
$publicCfgJsonString = @"
{
"redfieldConfiguration": {
"instrumentationKeyMap": {
"filters": [
{
"appFilter": ".*",
"machineFilter": ".*",
"virtualPathFilter": ".*",
"instrumentationSettings" : {
"connectionString": "$ConnectionString"
}
}
]
}
}
}
"@
$privateCfgJsonString = '{}'
Set-AzVMExtension -ResourceGroupName $ResourceGroup -VMName $VMName -Location $Location -Name "ApplicationMonitoringWindows" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -Version "2.8" -SettingString $publicCfgJsonString -ProtectedSettingString $privateCfgJsonString
Примечание.
Для более сложных развертываний в масштабе можно использовать цикл PowerShell для установки или обновления расширения агента Аналитика приложения на нескольких виртуальных машинах.
Запрос состояния расширения агента приложения Аналитика для виртуальных машин Azure:
Get-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name ApplicationMonitoringWindows -Status
Получите список установленных расширений для виртуальных машин Azure:
Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions"
Удалите расширение агента приложения Аналитика с виртуальных машин Azure:
Remove-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name "ApplicationMonitoring"
Примечание.
Проверьте установку, выбрав поток динамических метрик в ресурсе Application Аналитика, связанном с строка подключения, который использовался для развертывания расширения агента Аналитика приложения. Если вы отправляете данные из нескольких виртуальных машин, выберите целевые виртуальные машины Azure в разделе "Имя сервера". Для начала потока данных может потребоваться до минуты.
Включение мониторинга для масштабируемых наборов виртуальных машин
С помощью портал Azure или PowerShell можно включить мониторинг масштабируемых наборов виртуальных машин.
Портал Azure
Выполните предыдущие действия для виртуальных машин, но перейдите к масштабируемым наборам виртуальных машин вместо виртуальной машины.
PowerShell
Установите или обновите агент приложения Аналитика в качестве расширения для масштабируемых наборов виртуальных машин:
# Set resource group, vmss name, and connection string to reflect your environment
$ResourceGroup = "<myVmResourceGroup>"
$VMSSName = "<myVmName>"
$ConnectionString = "<myAppInsightsResourceConnectionString>"
$publicCfgHashtable =
@{
"redfieldConfiguration"= @{
"instrumentationKeyMap"= @{
"filters"= @(
@{
"appFilter"= ".*";
"machineFilter"= ".*";
"virtualPathFilter"= ".*";
"instrumentationSettings" = @{
"connectionString"= "$ConnectionString"
}
}
)
}
}
};
$privateCfgHashtable = @{};
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroup -VMScaleSetName $VMSSName
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoringWindows" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -TypeHandlerVersion "2.8" -Setting $publicCfgHashtable -ProtectedSetting $privateCfgHashtable
Update-AzVmss -ResourceGroupName $vmss.ResourceGroupName -Name $vmss
# Note: Depending on your update policy, you might need to run Update-AzVmssInstance for each instance
Получите список установленных расширений для масштабируемых наборов виртуальных машин:
Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVmssName>/extensions"
Удалите расширение мониторинга приложений из масштабируемых наборов виртуальных машин:
# set resource group and vmss name to reflect your environment
$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myVmssName>"
Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoringWindows"
Update-AzVmss -ResourceGroupName $vmss.ResourceGroupName -Name $vmss.Name -VirtualMachineScaleSet $vmss
# Note: Depending on your update policy, you might need to run Update-AzVmssInstance for each instance
Устранение неполадок
Найдите советы по устранению неполадок расширения агента мониторинга приложений Аналитика для приложений .NET, работающих на виртуальных машинах Azure и масштабируемых наборах виртуальных машин.
Если у вас возникли проблемы с развертыванием расширения, просмотрите выходные данные выполнения, записанные в файлы, найденные в следующих каталогах:
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\
Если расширение успешно развернуто, но не удается просмотреть данные телеметрии, это может быть одна из следующих проблем, связанных с устранением неполадок агента:
- Конфликтующие библиотеки DLL в каталоге Bin приложения
- Конфликт с общей конфигурацией IIS
Тестирование подключения между узлом приложения и службой приема
Пакеты SDK и агенты приложений Аналитика отправляют данные телеметрии для приема в качестве вызовов REST к конечным точкам приема. Вы можете проверить подключение с веб-сервера или хост-компьютера приложения к конечным точкам службы приема с помощью необработанных клиентов REST из Команд PowerShell или curl. См. раздел "Устранение неполадок с отсутствующими данными телеметрии приложения" в Аналитика приложения Azure Monitor.
Заметки о выпуске
2.8.44
- Обновлено приложение Аналитика пакет SDK для .NET/.NET Core до версии 2.20.1 — красное поле.
- Включено сбор SQL-запросов.
- Включена поддержка проверки подлинности Microsoft Entra.
2.8.42
Обновлено Аналитика пакет SDK для .NET/.NET Core до 2.18.1 — красное поле.
2.8.41
Добавлена функция автоинструментации ASP.NET Core.