VM-inzichten inschakelen met behulp van PowerShell

In dit artikel wordt beschreven hoe u VM-inzichten kunt inschakelen op virtuele Azure-machines met behulp van PowerShell. Deze procedure kan worden gebruikt voor:

  • Azure Virtual Machines
  • Azure-schaalvergrotingssets voor virtuele machines

Met dit script worden VM-extensies geïnstalleerd voor Log Analytics/Azure Monitoring Agent (AMA) en, indien nodig, de afhankelijkheidsagent om VM Insights in te schakelen. Als AMA wordt toegevoegd, wordt er ook een DCR (Data Collection Rule) en een door de gebruiker toegewezen beheerde identiteit (UAMI) gekoppeld aan de virtuele machines en virtuele-machineschaalsets.

Belangrijk

De verouderde Log Analytics-agentwordt in augustus 2024 afgeschaft. Na deze datum biedt Microsoft geen ondersteuning meer voor de Log Analytics-agent. Migreer vóór augustus 2024 naar de Azure Monitor-agent om door te gaan met het opnemen van gegevens.

Notitie

Azure Monitor Agent wordt ondersteund vanaf versie 1.10.1.

Vereisten

U moet het volgende doen:

PowerShell-script

Gebruik het PowerShell-script Install-VMInsights.ps1 om VM-inzichten in te schakelen voor meerdere VM's of virtuele-machineschaalsets. Het script is beschikbaar in de Azure PowerShell Gallery. Dit script doorloopt de virtuele machines of virtuele-machineschaalsets op basis van de parameters die u opgeeft. Het script kan worden gebruikt om VM-inzichten in te schakelen voor:

  • Elke virtuele machine en virtuele-machineschaalset in uw abonnement.
  • De scoped resourcegroepen die zijn opgegeven door -ResourceGroup.
  • Een VM of virtuele-machineschaalset die is opgegeven door -Name. U kunt meerdere resourcegroepen, VM's of schaalsets opgeven met behulp van jokertekens.

Controleer of u Az PowerShell-moduleversie 1.0.0 of hoger gebruikt met Enable-AzureRM compatibiliteitsaliassen ingeschakeld. Voer Get-Module -ListAvailable Az uit om de versie te bekijken. Zie De Azure PowerShell-module installeren om een upgrade uit te voeren. Als u PowerShell lokaal uitvoert, voert u uit Connect-AzAccount om een verbinding met Azure te maken.

Voer voor een lijst met de argumentdetails van het script en het voorbeeldgebruik het volgende uit Get-Help.

Get-Help Install-VMInsights.ps1 -Detailed

Gebruik het script om VM-inzichten in te schakelen met behulp van Azure Monitoring Agent en Dependency Agent of Log Analytics Agent.

Wanneer u VM-inzichten inschakelt met behulp van De Azure Monitor-agent, koppelt het script een DCR (Data Collection Rule) en een door de gebruiker toegewezen beheerde identiteit (UAMI) aan de VM/virtuele-machineschaalset. De UAMI-instellingen worden doorgegeven aan de Azure Monitor Agent-extensie.

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

Vereiste argumenten:

  • -SubscriptionId <String> Azure-abonnements-id.
  • -DcrResourceId <String> Azure-resource-id (Data Collection Rule) (DCR). U kunt DCR's van verschillende abonnementen opgeven voor de VM's of virtuele-machineschaalsets die worden ingeschakeld met Vm-Insights.
  • -UserAssignedManagedIdentityResourceGroup <String> Naam van door de gebruiker toegewezen UAMI-resourcegroep (Managed Identity).
  • -UserAssignedManagedIdentityName <String> Naam van door de gebruiker toegewezen beheerde identiteit (UAMI).

Optionele argumenten:

  • -ProcessAndDependencies Stel deze vlag in om de afhankelijkheidsagent te onboarden met AMA-instellingen (Azure Monitoring Agent). Als dit niet is opgegeven, wordt alleen de Azure Monitoring Agent (AMA) onboarded.
  • -Name <String> Naam van de VM of virtuele-machineschaalset die moet worden ge onboardd. Als dit niet is opgegeven, worden alle VM's en virtuele-machineschaalset in het abonnement of de resourcegroep onboarding uitgevoerd. Gebruik jokertekens om meerdere VM's of virtuele-machineschaalsets op te geven.
  • -ResourceGroup <String> Naam van de resourcegroep met de VM of virtuele-machineschaalset die moet worden ge onboardd. Als dit niet is opgegeven, worden alle VM's en virtuele-machineschaalset in het abonnement onboarding uitgevoerd. Gebruik jokertekens om meerdere resourcegroepen op te geven.
  • -PolicyAssignmentName <String> Neem alleen VM's op die zijn gekoppeld aan dit beleid. Wanneer de parameter PolicyAssignmentName is opgegeven, worden de VM's van de parameter SubscriptionId overwogen.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Activeer de update van VM-exemplaren in een schaalset waarvan het upgradebeleid is ingesteld op Handmatig.
  • -WhatIf [<SwitchParameter>] Krijg informatie over het verwachte effect van de opdrachten in het script.
  • -Confirm [<SwitchParameter>] Bevestig elke actie in het script.
  • -Approve [<SwitchParameter>] Geef de goedkeuring op voor de installatie om te beginnen zonder bevestigingsprompt voor de vermelde VM's/virtuele-machineschaalsets.

Het script ondersteunt jokertekens voor -Name en -ResourceGroup. Hiermee kunt u bijvoorbeeld -Name vm* VM-inzichten inschakelen voor alle VM's en virtuele-machineschaalsets die beginnen met 'vm'. Zie Jokertekens in Windows PowerShell voor meer informatie.

Voorbeeld:

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

De uitvoer heeft de volgende indeling:

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

Controleer uw VM/virtuele-machineschaalset in Azure Portal om te zien of de extensies zijn geïnstalleerd of gebruik de volgende opdracht:


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

Volgende stappen

  • Zie Vm Insights-toewijzing gebruiken om gedetecteerde toepassingsafhankelijkheden weer te geven.
  • Zie De prestaties van azure-VM's weergeven om knelpunten, het algehele gebruik en de prestaties van uw VM te identificeren.