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 usługi Log Analytics/agenta monitorowania platformy Azure (AMA) i, w razie potrzeby, agenta zależności w celu włączenia Szczegółowe informacje maszyny 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.

Ważne

Starszy agentusługi Log Analytics zostanie wycofany do sierpnia 2024 r. Po tej dacie firma Microsoft nie będzie już zapewniać żadnej pomocy technicznej dla agenta usługi Log Analytics. Przeprowadź migrację do agenta usługi Azure Monitor przed sierpniem 2024 r., aby kontynuować pozyskiwanie danych.

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-VM Szczegółowe informacje.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 lub agenta usługi Log Analytics.

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ą Szczegółowe informacje maszyn wirtualnych.
  • -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.