Udostępnij za pośrednictwem


Włączanie szczegółowych informacji o maszynie wirtualnej przy użyciu programu PowerShell

W tym artykule opisano sposób włączania szczegółowych informacji o maszynach wirtualnych platformy Azure przy użyciu programu PowerShell. Ta procedura może służyć do:

  • Azure Virtual Machines
  • Zestawy skalowania maszyn wirtualnych Azure

Ten skrypt instaluje rozszerzenia maszyn wirtualnych dla agenta monitorowania platformy Azure (AMA) i, w razie potrzeby, agenta zależności w celu włączenia szczegółowych informacji o maszynie wirtualnej. Jeśli usługa AMA jest dołączona, reguła zbierania danych (DCR) i tożsamość zarządzana przypisana przez użytkownika (UAMI) jest również skojarzona z maszynami wirtualnymi i zestawami skalowania maszyn wirtualnych.

Uwaga

Agent usługi Azure Monitor jest obsługiwany w wersji 1.10.1.

Wymagania wstępne

Należy wykonać:

Skrypt programu PowerShell

Aby włączyć szczegółowe informacje o maszynach wirtualnych dla wielu maszyn wirtualnych lub zestawu skalowania maszyn wirtualnych, użyj skryptu programu PowerShell Install-VMInsights.ps1. Skrypt jest dostępny w witrynie Azure Galeria programu PowerShell. Ten skrypt iteruje za pośrednictwem maszyn wirtualnych lub zestawów skalowania maszyn wirtualnych zgodnie z określonymi parametrami. Skrypt może służyć do włączania szczegółowych informacji o maszynie wirtualnej dla:

  • Każdą maszynę wirtualną i każdy zestaw skalowania maszyn wirtualnych w Twojej subskrypcji.
  • Grupy zasobów o określonym zakresie określone przez -ResourceGroup.
  • Maszyna wirtualna lub zestaw skalowania maszyn wirtualnych określony przez -Name. Można określić wiele grup zasobów, maszyn wirtualnych lub zestawów skalowania przy użyciu symboli wieloznacznych.

Sprawdź, czy używasz modułu Az programu PowerShell w wersji 1.0.0 lub nowszej z włączonymi Enable-AzureRM aliasami zgodności. Uruchom polecenie Get-Module -ListAvailable Az, aby dowiedzieć się, jaka wersja jest używana. Aby uaktualnić, zobacz Instalowanie modułu programu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, uruchom polecenie Connect-AzAccount , aby utworzyć połączenie z platformą Azure.

Aby uzyskać listę szczegółów argumentu skryptu i przykładowe użycie, uruchom polecenie Get-Help.

Get-Help Install-VMInsights.ps1 -Detailed

Użyj skryptu, aby włączyć szczegółowe informacje o maszynie wirtualnej przy użyciu agenta monitorowania platformy Azure i agenta zależności.

Po włączeniu szczegółowych informacji o maszynie wirtualnej przy użyciu agenta usługi Azure Monitor skrypt kojarzy regułę zbierania danych (DCR) i tożsamość zarządzaną przypisaną przez użytkownika (UAMI) do zestawu skalowania maszyn wirtualnych/maszyn wirtualnych. Ustawienia UAMI są przekazywane do rozszerzenia agenta usługi Azure Monitor.

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

Wymagane argumenty:

  • -SubscriptionId <String> Identyfikator subskrypcji platformy Azure.
  • -DcrResourceId <String> Identyfikator identyfikatora identyfikatora zasobu platformy Azure reguły zbierania danych (DCR). Można określić kontrolery domeny z różnych subskrypcji do maszyn wirtualnych lub zestawów skalowania maszyn wirtualnych, które są włączone za pomocą usługi Vm-Insights.
  • -UserAssignedManagedIdentityResourceGroup <String> Nazwa grupy zasobów Tożsamość zarządzana przypisana przez użytkownika (UAMI).
  • -UserAssignedManagedIdentityName <String> Nazwa tożsamości zarządzanej przypisanej przez użytkownika (UAMI).

Argumenty opcjonalne:

  • -ProcessAndDependencies Ustaw tę flagę, aby dołączyć agenta zależności za pomocą ustawień agenta monitorowania platformy Azure (AMA). Jeśli nie zostanie określony, dołączany jest tylko agent monitorowania platformy Azure (AMA).
  • -Name <String> Nazwa maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych do dołączenia. Jeśli nie zostanie określony, zostaną dołączone wszystkie maszyny wirtualne i zestaw skalowania maszyn wirtualnych w subskrypcji lub grupie zasobów. Użyj symboli wieloznacznych, aby określić wiele maszyn wirtualnych lub zestawów skalowania maszyn wirtualnych.
  • -ResourceGroup <String> Nazwa grupy zasobów zawierającej maszynę wirtualną lub zestaw skalowania maszyn wirtualnych do dołączenia. Jeśli nie zostanie określony, zostaną dołączone wszystkie maszyny wirtualne i zestaw skalowania maszyn wirtualnych w subskrypcji. Użyj symboli wieloznacznych, aby określić wiele grup zasobów.
  • -PolicyAssignmentName <String> Uwzględnij tylko maszyny wirtualne skojarzone z tą zasadą. Po określeniu parametru PolicyAssignmentName maszyny wirtualne będące częścią parametru SubscriptionId są brane pod uwagę.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Wyzwól aktualizację wystąpień maszyn wirtualnych w zestawie skalowania, którego zasady uaktualniania są ustawione na Ręczne.
  • -WhatIf [<SwitchParameter>] Uzyskaj informacje o oczekiwanym wpływie poleceń w skrycie.
  • -Confirm [<SwitchParameter>] Potwierdź każdą akcję w skrycie.
  • -Approve [<SwitchParameter>] Podaj zatwierdzenie instalacji, aby rozpocząć bez monitu o potwierdzenie dla wymienionych zestawów skalowania maszyn wirtualnych/maszyn wirtualnych.

Skrypt obsługuje symbole wieloznaczne dla i -Name-ResourceGroup. Na przykład -Name vm* włącza szczegółowe informacje o maszynach wirtualnych dla wszystkich maszyn wirtualnych i zestawów skalowania maszyn wirtualnych rozpoczynających się od "vm". Aby uzyskać więcej informacji, zobacz Symbole wieloznaczne w programie Windows PowerShell.

Przykład:

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

Dane wyjściowe mają następujący 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

Sprawdź zestaw skalowania maszyn wirtualnych/maszyn wirtualnych w witrynie Azure Portal, aby sprawdzić, czy rozszerzenia są zainstalowane lub użyj następującego polecenia:


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

Następne kroki

  • Zobacz Używanie mapy szczegółowych informacji o maszynie wirtualnej, aby wyświetlić odnalezione zależności aplikacji.
  • Zobacz Wyświetlanie wydajności maszyny wirtualnej platformy Azure, aby zidentyfikować wąskie gardła, ogólne wykorzystanie i wydajność maszyny wirtualnej.