Freigeben über


Aktivieren von VM Insights mithilfe von PowerShell

In diesem Artikel wird beschrieben, wie Sie VM Insights auf Azure-VMs mithilfe von PowerShell aktivieren. Dieses Verfahren kann für Folgendes verwendet werden:

  • Azure Virtual Machines
  • Azure Virtual Machine Scale Sets

Dieses Skript installiert VM-Erweiterungen für den Azure Monitor-Agent (AMA) und ggf. für den Dependency-Agent, um VM-Erkenntnisse zu aktivieren. Wenn der AMA integriert ist, wird den VMs und VM-Skalierungsgruppen auch eine Datensammlungsregel (Data Collection Rule, DCR) und eine vom Benutzer zugewiesene verwaltete Identität (User Assigned Managed Identity, UAMI) zugeordnet.

Hinweis

Der Azure Monitor-Agent wird ab Version 1.10.1 unterstützt.

Voraussetzungen

Sie müssen folgende Schritte durchführen:

PowerShell-Skript

Um VM Insights für mehrere VMs oder VM-Skalierungsgruppen zu aktivieren, verwenden Sie das PowerShell-Skript Install-VMInsights.ps1. Dieses Skript ist im Azure PowerShell-Katalog verfügbar. Dieses Skript durchläuft die VMs oder VM-Skalierungsgruppen entsprechend den von Ihnen angegebenen Parametern. Das Skript kann verwendet werden, um VM-Erkenntnisse für Folgendes zu aktivieren:

  • Alle virtuellen Computer und VM-Skalierungsgruppen in Ihrem Abonnement.
  • Die durch -ResourceGroup angegebenen bereichsbezogenen Ressourcengruppen.
  • Eine durch -Name festgelegte VM oder VM-Skalierungsgruppe. Sie können mithilfe von Platzhaltern mehrere Ressourcengruppen, VMs oder Skalierungsgruppen angeben.

Vergewissern Sie sich, dass Sie mindestens Version 1.0.0 des Azure PowerShell-Moduls mit aktivierten Enable-AzureRM-Kompatibilitätsaliasen verwenden. Führen Sie Get-Module -ListAvailable Az aus, um die Version zu ermitteln. Informationen zum Durchführen eines Upgrades finden Sie unter Installieren des Azure PowerShell-Moduls. Wenn Sie PowerShell lokal ausführen, führen Sie Connect-AzAccount aus, um eine Verbindung mit Azure herzustellen.

Führen Sie Get-Help aus, um eine Liste der Argumentdetails des Skripts und Beispiele für ihre Verwendung zu erhalten.

Get-Help Install-VMInsights.ps1 -Detailed

Verwenden Sie das Skript, um VM-Erkenntnisse mithilfe des Azure Monitor-Agents und des -Dependency-Agents zu aktivieren.

Wenn Sie VM-Erkenntnisse mithilfe des Azure Monitor-Agents aktivieren, ordnet das Skript der VM/VM-Skalierungsgruppe eine Datensammlungsregel (Data Collection Rule, DCR) und eine vom Benutzer zugewiesene verwaltete Identität (User Assigned Managed Identity, UAMI) zu. Die UAMI-Einstellungen werden an die Azure Monitor-Agent-Erweiterung übergeben.

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

Erforderliche Argumente:

  • -SubscriptionId <String> Azure-Abonnement-ID.
  • -DcrResourceId <String> Azure-Ressourcen-ID-Bezeichner für die Datensammlungsregel (Data Collection Rule, DCR). Sie können DCRs aus verschiedenen Abonnements für die VMs oder VM-Skalierungsgruppen angeben, die mit VM Insights aktiviert werden.
  • -UserAssignedManagedIdentityResourceGroup <String> Name der Ressourcengruppe der benutzerseitig zugewiesenen verwalteten Identität (User Assigned Managed Identity, UAMI).
  • -UserAssignedManagedIdentityName <String> Name der benutzerseitig zugewiesene verwaltete Identität (User Assigned Managed Identity, UAMI).

Optionale Argumente:

  • -ProcessAndDependencies Legen Sie dieses Flag fest, um das Onboarding des Dependency-Agents mit den Einstellungen des Azure Monitor-Agents (AMA) durchzuführen. Falls nicht angegeben, wird nur das Onboarding des Azure Monitor-Agents (AMA) durchgeführt.
  • -Name <String> Name der VM oder der VM-Skalierungsgruppe, für die das Onboarding durchgeführt werden soll. Falls nicht angegeben, wird das Onboarding aller VMs und der VM-Skalierungsgruppe im Abonnement oder in der Ressourcengruppe durchgeführt. Verwenden Sie Platzhalter, um mehrere VMs oder VM-Skalierungsgruppen anzugeben.
  • -ResourceGroup <String> Name der Ressourcengruppe, die die VM oder die VM-Skalierungsgruppe enthält, für die das Onboarding durchgeführt werden soll. Falls nicht angegeben, wird das Onboarding aller VMs und der VM-Skalierungsgruppe im Abonnement durchgeführt. Verwenden Sie Platzhalter, um mehrere Ressourcengruppen anzugeben.
  • -PolicyAssignmentName <String> Es werden nur VMs eingeschlossen, die dieser Richtlinie zugeordnet sind. Wenn der Parameter „PolicyAssignmentName“ angegeben wird, werden die VMs berücksichtigt, die dem Parameter „SubscriptionId“ entsprechen.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Löst das Update für VM-Instanzen in einer Skalierungsgruppe aus, deren Upgraderichtlinie auf „Manuell“ festgelegt ist.
  • -WhatIf [<SwitchParameter>] Ruft Informationen über den erwarteten Effekt der Befehle im Skript ab.
  • -Confirm [<SwitchParameter>] Jede Aktion im Skript wird bestätigt.
  • -Approve [<SwitchParameter>] Geben Sie die Genehmigung für den Start der Installation ohne Bestätigungsaufforderung für die aufgeführten VMs/VM-Skalierungsgruppen an.

Das Skript unterstützt Platzhalter für -Name und -ResourceGroup. -Name vm* ermöglicht beispielsweise VM-Erkenntnisse für alle VMs und VM-Skalierungsgruppen, die mit „vm“ beginnen. Weitere Informationen finden Sie unter Platzhalter in Windows PowerShell.

Beispiel:

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

Die Ausgabe hat folgendes 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

Überprüfen Sie ihren VM/VM-Skalierungsgruppe im Azure-Portal, um festzustellen, ob die Erweiterungen installiert sind, oder verwenden Sie den folgenden Befehl:


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ächste Schritte