Application Insights для виртуальных машин Azure и масштабируемых наборов виртуальных машин
Статья
Включение мониторинга для ASP.NET и ASP.NET основных приложений, размещенных в IIS, работающих в Azure Виртуальные машины или Azure Масштабируемые наборы виртуальных машин, теперь проще, чем когда-либо. Вы можете получить все преимущества использования Application Insights без изменения кода.
В этой статье описано, как включить мониторинг Application Insights с помощью агента Application Insights. Он также предоставляет предварительные рекомендации по автоматизации процесса для крупномасштабных развертываний.
Включить Application Insights
Автоинструментация легко включить. Расширенная конфигурация не требуется.
Автоинструментация доступна для ASP.NET, ASP.NET размещенных в IIS приложениях и Java. Используйте пакет SDK для инструментирования Node.js и приложений Python, размещенных на виртуальных машинах Azure и масштабируемых наборах виртуальных машин.
Агент Application Insights автоматически извлекает те же сигналы зависимостей из поля, что и пакет SDK. Дополнительные сведения см. в разделе автоколлекция зависимостей.
Агент Application Insights автоматически извлекает те же сигналы зависимостей из поля, что и пакет SDK. Дополнительные сведения см. в разделе автоколлекция зависимостей.
Мониторинг на стороне клиента включен по умолчанию для приложений ASP.NET Core. Если вы хотите отключить мониторинг на стороне клиента, определите переменную среды на сервере со следующими сведениями:
Имя: APPINSIGHTS_JAVASCRIPT_ENABLED
Значение: false
Мы рекомендуем агент Application Insights Java 3.0 для Java. Наиболее популярные библиотеки, платформы, журналы и зависимости автоматически собираются вместе с множеством других конфигураций.
Чтобы инструментировать приложение Node.js, используйте дистрибутив OpenTelemetry.
Для мониторинга приложений Python используйте дистрибутив OpenTelemetry.
Перед установкой расширения агента Application Insights вам потребуется строка подключения. Создайте новый ресурс Application Insights или скопируйте строка подключения из существующего ресурса Application Insights.
Включение мониторинга для виртуальных машин
Вы можете использовать портал Azure или PowerShell для включения мониторинга для виртуальных машин.
Портал Azure
Вернитесь к ресурсу Application Insights на портале Azure. Скопируйте строка подключения в буфер обмена.
Перейдите на виртуальную машину. В разделе "Параметры" в меню слева выберите "Расширения и приложения>".
Выберите агент>Application Insights далее.
Вставьте строка подключения, скопированную на шаге 1, и выберите "Просмотр и создание".
PowerShell
Примечание
Вы не знакомы с PowerShell? Ознакомьтесь с руководством по началу работы.
Установите или обновите агент Application Insights в качестве расширения для виртуальных машин Azure:
Для более сложных развертываний в масштабе можно использовать цикл PowerShell для установки или обновления расширения агента Application Insights на нескольких виртуальных машинах.
Запрос состояния расширения агента Application Insights для виртуальных машин Azure:
Проверьте установку, выбрав Live Metrics Stream в ресурсе Application Insights, связанном с строка подключения, которую вы использовали для развертывания расширения агента Application Insights. Если вы отправляете данные из нескольких виртуальных машин, выберите целевые виртуальные машины Azure в разделе "Имя сервера". Для начала потока данных может потребоваться до минуты.
Включение мониторинга для масштабируемых наборов виртуальных машин
С помощью портал Azure или PowerShell можно включить мониторинг масштабируемых наборов виртуальных машин.
Портал Azure
Выполните предыдущие действия для виртуальных машин, но перейдите к масштабируемым наборам виртуальных машин вместо виртуальной машины.
PowerShell
Установите или обновите агент Application Insights в качестве расширения для масштабируемых наборов виртуальных машин:
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$VMSSNameAdd-AzVmssExtension -VirtualMachineScaleSet$vmss -Name"ApplicationMonitoringWindows" -Publisher"Microsoft.Azure.Diagnostics" -Type"ApplicationMonitoringWindows" -TypeHandlerVersion"2.8" -Setting$publicCfgHashtable -ProtectedSetting$privateCfgHashtableUpdate-AzVmss -ResourceGroupName$vmss.ResourceGroupName -Name$vmss# Note: Depending on your update policy, you might need to run Update-AzVmssInstance for each instance
Получите список установленных расширений для масштабируемых наборов виртуальных машин:
Удалите расширение мониторинга приложений из масштабируемых наборов виртуальных машин:
PowerShell
# 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
Устранение неполадок
Найдите советы по устранению неполадок расширения агента мониторинга Application Insights для приложений .NET, работающих на виртуальных машинах Azure и масштабируемых наборах виртуальных машин.
Если у вас возникли проблемы с развертыванием расширения, просмотрите выходные данные выполнения, записанные в файлы, найденные в следующих каталогах:
Если расширение успешно развернуто, но не удается просмотреть данные телеметрии, это может быть одна из следующих проблем, связанных с устранением неполадок агента:
Конфликтующие библиотеки DLL в каталоге Bin приложения
Конфликт с общей конфигурацией IIS
Тестирование подключения между узлом приложения и службой приема
Пакеты SDK и агенты Application Insights отправляют данные телеметрии для приема в качестве вызовов REST к конечным точкам приема. Вы можете проверить подключение с веб-сервера или хост-компьютера приложения к конечным точкам службы приема с помощью необработанных клиентов REST из Команд PowerShell или curl. Сведения об устранении неполадок с отсутствующими данными телеметрии приложений в Azure Monitor Application Insights.
Заметки о выпуске
2.8.44
Обновлен пакет SDK для Application Insights .NET/.NET Core до версии 2.20.1 — красное поле.
Включено сбор SQL-запросов.
Включена поддержка проверки подлинности Microsoft Entra.
2.8.42
Обновлено пакет SDK для Application Insights .NET/.NET Core до версии 2.18.1 — красное поле.
2.8.41
Добавлена функция автоинструментации ASP.NET Core.
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.
В этом модуле вы узнаете, как агент Azure Monitor можно развернуть на виртуальных машинах IaaS, как можно использовать VM Insights для мониторинга производительности виртуальных машин IaaS и как включить правила сбора данных для сбора журналов операционной системы и приложений.
Планирование, доставка, управление и мониторинг возможностей виртуального рабочего стола и удаленных приложений в Microsoft Azure для любого устройства.