Aktivera VM-insikter med hjälp av PowerShell

Den här artikeln beskriver hur du aktiverar VM-insikter på virtuella Azure-datorer med hjälp av PowerShell. Den här proceduren kan användas för:

  • Azure Virtual Machines
  • Skalningsuppsättningar för virtuella Microsoft Azure-datorer

Det här skriptet installerar VM-tillägg för Log Analytics/Azure Monitoring Agent (AMA) och, om det behövs, beroendeagenten för att aktivera VM Insights. Om AMA registreras associeras även en datainsamlingsregel (DCR) och en användartilldelad hanterad identitet (UAMI) med de virtuella datorerna och vm-skalningsuppsättningarna.

Viktigt!

Den äldre Log Analytics-agentenkommer att vara inaktuell i augusti 2024. Efter det här datumet kommer Microsoft inte längre att tillhandahålla någon support för Log Analytics-agenten. Migrera till Azure Monitor-agenten före augusti 2024 för att fortsätta mata in data.

Kommentar

Azure Monitor Agent stöds från version 1.10.1.

Förutsättningar

Du måste:

PowerShell-skript

Om du vill aktivera VM-insikter för flera virtuella datorer eller vm-skalningsuppsättningar använder du PowerShell-skriptet Install-VMInsights.ps1. Skriptet är tillgängligt från Azure PowerShell-galleriet. Det här skriptet itererar via de virtuella datorerna eller vm-skalningsuppsättningarna enligt de parametrar som du anger. Skriptet kan användas för att aktivera VM-insikter för:

  • Varje VM- och VM-skalningsuppsättning i din prenumeration.
  • De begränsade resursgrupper som anges av -ResourceGroup.
  • En VM- eller VM-skalningsuppsättning som anges av -Name. Du kan ange flera resursgrupper, virtuella datorer eller skalningsuppsättningar med jokertecken.

Kontrollera att du använder Az PowerShell-modul version 1.0.0 eller senare med Enable-AzureRM kompatibilitetsalias aktiverade. Kör Get-Module -ListAvailable Az för att hitta versionen. Information om hur du uppgraderar finns i Installera Azure PowerShell-modulen. Om du kör PowerShell lokalt kör du Connect-AzAccount för att skapa en anslutning till Azure.

Om du vill ha en lista över skriptets argumentinformation och exempelanvändning kör du Get-Help.

Get-Help Install-VMInsights.ps1 -Detailed

Använd skriptet för att aktivera VM-insikter med hjälp av Azure Monitoring Agent och Dependency Agent eller Log Analytics Agent.

När du aktiverar VM-insikter med Hjälp av Azure Monitor Agent associerar skriptet en datainsamlingsregel (DCR) och en användartilldelad hanterad identitet (UAMI) till VM/VM-skalningsuppsättningen. UAMI-inställningarna skickas till Azure Monitor Agent-tillägget.

Install-VMInsights.ps1 -SubscriptionId <SubscriptionId> `
[-ResourceGroup <ResourceGroup>] `
[-ProcessAndDependencies ] `
[-Name <VM or Virtual Machine Scale Set name>] `
-DcrResourceId <DataCollectionRuleResourceId> `
-UserAssignedManagedIdentityName <UserAssignedIdentityName> `
-UserAssignedManagedIdentityResourceGroup <UserAssignedIdentityResourceGroup> 

Obligatoriska argument:

  • -SubscriptionId <String> Azure-prenumerations-ID.
  • -DcrResourceId <String> ID för Azure-resurs-ID för datainsamlingsregel (DCR). Du kan ange domänkontrollanter från olika prenumerationer till de virtuella datorer eller vm-skalningsuppsättningar som aktiveras med Vm-Insights.
  • -UserAssignedManagedIdentityResourceGroup <String> Namn på UAMI-resursgruppen (User Assigned Managed Identity).
  • -UserAssignedManagedIdentityName <String> Namn på användartilldelad hanterad identitet (UAMI).

Valfria argument:

  • -ProcessAndDependencies Ange den här flaggan för att registrera inställningarna för Beroendeagent med Azure Monitoring Agent (AMA). Om det inte anges registreras endast Azure Monitoring Agent (AMA).
  • -Name <String> Namnet på den virtuella datorn eller vm-skalningsuppsättningen som ska registreras. Om det inte anges registreras alla virtuella datorer och vm-skalningsuppsättningar i prenumerationen eller resursgruppen. Använd jokertecken för att ange flera virtuella datorer eller VM-skalningsuppsättningar.
  • -ResourceGroup <String> Namnet på resursgruppen som innehåller den virtuella datorn eller vm-skalningsuppsättningen som ska registreras. Om det inte anges registreras alla virtuella datorer och vm-skalningsuppsättningar i prenumerationen. Använd jokertecken för att ange flera resursgrupper.
  • -PolicyAssignmentName <String> Inkludera endast virtuella datorer som är associerade med den här principen. När parametern PolicyAssignmentName har angetts beaktas den virtuella datorns del av parametern SubscriptionId.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Utlös uppdateringen av virtuella datorinstanser i en skalningsuppsättning vars uppgraderingsprincip är inställd på Manuell.
  • -WhatIf [<SwitchParameter>] Hämta information om den förväntade effekten av kommandona i skriptet.
  • -Confirm [<SwitchParameter>] Bekräfta varje åtgärd i skriptet.
  • -Approve [<SwitchParameter>] Ange godkännande för installationen för att starta utan någon bekräftelsefråga för den angivna virtuella datorns/vm-skalningsuppsättningar.

Skriptet stöder jokertecken för -Name och -ResourceGroup. Aktiverar till exempel -Name vm* VM-insikter för alla virtuella datorer och vm-skalningsuppsättningar som börjar med "vm". Mer information finns i Jokertecken i Windows PowerShell.

Exempel:

Install-VMInsights.ps1 -SubscriptionId 12345678-abcd-abcd-1234-12345678 `
-ResourceGroup rg-AMAPowershell  `
-ProcessAndDependencies  `
-Name vmAMAPowershellWindows `
-DcrResourceId /subscriptions/12345678-abcd-abcd-1234-12345678/resourceGroups/rg-AMAPowershell/providers/Microsoft.Insights/dataCollectionRules/MSVMI-ama-vmi-default-dcr `
-UserAssignedManagedIdentityName miamatest1  `
-UserAssignedManagedIdentityResourceGroup amapowershell

Kommandot returnerar utdata med följande format:

Name                                     Account                               SubscriptionName                      Environment                          TenantId
----                                     -------                               ----------------                      -----------                          --------
AzMon001 12345678-abcd-123…              MSI@9876                              AzMon001                              AzureCloud                           abcd1234-9876-abcd-1234-1234abcd5648

Getting list of VMs or VM Scale Sets matching specified criteria.
VMs and Virtual Machine Scale Sets matching selection criteria :

ResourceGroup : rg-AMAPowershell
  vmAMAPowershellWindows


Confirm
Continue?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): 

(rg-AMAPowershell) : Assigning roles

(rg-AMAPowershell) vmAMAPowershellWindows : Assigning User Assigned Managed Identity edsMIAMATest
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully assigned User Assigned Managed Identity edsMIAMATest
(rg-AMAPowershell) vmAMAPowershellWindows : Data Collection Rule Id /subscriptions/12345678-abcd-abcd-1234-12345678/resourceGroups/rg-AMAPowershell/providers/Microsoft.Insights/dataCollectionRules/MSVMI-ama-vmi-default-dcr already associated with the VM.
(rg-AMAPowershell) vmAMAPowershellWindows : Extension AzureMonitorWindowsAgent, type = Microsoft.Azure.Monitor.AzureMonitorWindowsAgent already installed. Provisioning State : Succeeded
(rg-AMAPowershell) vmAMAPowershellWindows : Installing/Updating extension AzureMonitorWindowsAgent, type = Microsoft.Azure.Monitor.AzureMonitorWindowsAgent
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully installed/updated extension AzureMonitorWindowsAgent, type = Microsoft.Azure.Monitor.AzureMonitorWindowsAgent
(rg-AMAPowershell) vmAMAPowershellWindows : Installing/Updating extension DA-Extension, type = Microsoft.Azure.Monitoring.DependencyAgent.DependencyAgentWindows
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully installed/updated extension DA-Extension, type = Microsoft.Azure.Monitoring.DependencyAgent.DependencyAgentWindows
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully onboarded VM insights

Summary :
Total VM/VMSS to be processed : 1
Succeeded : 1
Skipped : 0
Failed : 0
VMSS Instance Upgrade Failures : 0

Kontrollera vm-/vm-skalningsuppsättningen i Azure-portalen för att se om tilläggen är installerade eller använd följande kommando:


az vm extension list --resource-group <resource group> --vm-name <VM name>  -o table 


Name                      ProvisioningState    Publisher                                   Version    AutoUpgradeMinorVersion
------------------------  -------------------  ------------------------------------------  ---------  -------------------------
AzureMonitorWindowsAgent  Succeeded            Microsoft.Azure.Monitor                     1.16       True
DA-Extension              Succeeded            Microsoft.Azure.Monitoring.DependencyAgent  9.10       True

Nästa steg