Аналитика приложений для виртуальных машин 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

  1. Вернитесь к ресурсу Application Insights на портале Azure. Скопируйте строка подключения в буфер обмена.

    Снимок экрана: строка подключения.

  2. Перейдите на виртуальную машину. В разделе Параметры в меню слева выберите "Расширения + приложения>".

    Снимок экрана: панель

  3. Нажмите кнопку "Приложение Аналитика агент>далее".

    Снимок экрана: панель

  4. Вставьте строка подключения, скопированную на шаге 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.

Следующие шаги