Как обновить виртуальную машину для отправки в Log Analytics после подготовки в Azure

Галерея Azure Powershell | Модули Azure | виртуальная машина Azure | Аналитика журналов

Возможно, потребуется быстро обновить текущую виртуальную машину, чтобы использовать Log Analytics. Это может понадобиться, когда декларативные подходы не работают после инициализации. Например, настроить шаблон ARM с виртуальной машиной, а затем обновить его. Это может быть связано с тем, что OSDisk (диск операционной системы) внутри виртуальной машины не содержит агентов и не может быть добавлен. Не беспокойтесь, это можно сделать быстро.

Предварительные требования

  • Предполагается, что у вас уже есть Log Analytics с идентификатором рабочей области и ключом рабочей области.

Шаг 1. Установите модуль Az.Compute

Это необходимо, поскольку сценарий PowerShell использует файл Set-AzVMExtention. Итак, выполните следующее:

Install-Module -Name Az.Compute

Шаг 2. Создайте скрипт Powershell

Создайте файл с именем «enable-log-analytics.ps1». Добавьте следующее:

$PublicSettings     = @{"workspaceId" = "<your-workspace-id>"}
$ProtectedSettings  = @{"workspaceKey" = "<your-workspace-key"}
Set-AzVMExtension -ExtensionName "MicrosoftMonitoringAgent" `
    -ResourceGroupName "<your-resource-group>" `
    -VMName "<your-vm-name>" `
    -Publisher "Microsoft.EnterpriseCloud.Monitoring" `
    -ExtensionType "MicrosoftMonitoringAgent" `
    -TypeHandlerVersion 1.0 `
    -Settings $PublicSettings `
    -ProtectedSettings $ProtectedSettings `
    -Location <your-location>

Убедитесь, что ваш идентификатор рабочей области и ключ рабочей области верны, иначе это не удастся. Затем, конечно же, убедитесь, что заполнены группы ресурсов, имя виртуальной машины (VMName) и местоположение.

Шаг 3. Запустите файл

Запустите файл, запустив:

./enable-log-analytics.ps1

Надеюсь, это поможет кому-нибудь, чтобы им не пришлось просматривать StackOverflow или документацию Microsoft :)