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 вам потребуется строка подключения. Создайте новый ресурс Application Insights или скопируйте строка подключения из существующего ресурса Application Insights.

Включение мониторинга для виртуальных машин

Вы можете использовать портал Azure или PowerShell для включения мониторинга для виртуальных машин.

Портал Azure

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

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

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

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

  3. Выберите агент>Application Insights далее.

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

  4. Вставьте строка подключения, скопированную на шаге 1, и выберите "Просмотр и создание".

    Снимок экрана: вкладка

PowerShell

Примечание.

Вы не знакомы с PowerShell? Ознакомьтесь с руководством по началу работы.

Установите или обновите агент Application Insights в качестве расширения для виртуальных машин 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 для установки или обновления расширения агента Application Insights на нескольких виртуальных машинах.

Запрос состояния расширения агента Application Insights для виртуальных машин Azure:

Get-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name ApplicationMonitoringWindows -Status

Получите список установленных расширений для виртуальных машин Azure:

Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions"

Удалите расширение агента Application Insights с виртуальных машин Azure:

Remove-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name "ApplicationMonitoring"

Примечание.

Проверьте установку, выбрав Live Metrics Stream в ресурсе Application Insights, связанном с строка подключения, которую вы использовали для развертывания расширения агента Application Insights. Если вы отправляете данные из нескольких виртуальных машин, выберите целевые виртуальные машины Azure в разделе "Имя сервера". Для начала потока данных может потребоваться до минуты.

Включение мониторинга для масштабируемых наборов виртуальных машин

С помощью портал Azure или PowerShell можно включить мониторинг масштабируемых наборов виртуальных машин.

Портал Azure

Выполните предыдущие действия для виртуальных машин, но перейдите к масштабируемым наборам виртуальных машин вместо виртуальной машины.

PowerShell

Установите или обновите агент Application Insights в качестве расширения для масштабируемых наборов виртуальных машин:

# 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

Устранение неполадок

Найдите советы по устранению неполадок расширения агента мониторинга Application Insights для приложений .NET, работающих на виртуальных машинах Azure и масштабируемых наборах виртуальных машин.

Если у вас возникли проблемы с развертыванием расширения, просмотрите выходные данные выполнения, записанные в файлы, найденные в следующих каталогах:

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\

Если расширение успешно развернуто, но не удается просмотреть данные телеметрии, это может быть одна из следующих проблем, связанных с устранением неполадок агента:

  • Конфликтующие библиотеки 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.

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