PowerShell을 사용하여 VM 인사이트 사용

이 문서에서는 PowerShell을 사용하여 Azure 가상 머신에서 VM 인사이트를 사용하도록 설정하는 방법을 설명합니다. 이 절차는 다음 용도로 사용할 수 있습니다.

  • Azure Virtual Machines
  • Azure Virtual Machine Scale Sets

이 스크립트는 Log Analytics/AMA(Azure Monitoring Agent)용 VM 확장을 설치하고 필요한 경우 VM 인사이트를 사용하도록 종속성 에이전트를 설치합니다. AMA가 온보딩된 경우 DCR(데이터 수집 규칙) 및 UAMI(사용자 할당 관리 ID)도 가상 머신 및 가상 머신 확장 집합과 연결됩니다.

Important

레거시 Log Analytics 에이전트는 2024년 8월에 지원 중단됩니다. Microsoft에서는 이 날짜 이후 Log Analytics 에이전트에 대한 지원을 더 이상 제공하지 않습니다. 데이터 수집을 계속하려면 2024년 8월 이전에 Azure Monitor 에이전트로 마이그레이션합니다.

참고 항목

Azure Monitor 에이전트는 버전 1.10.1에서 지원됩니다.

필수 조건

그러려면 다음 작업을 수행해야 합니다.

PowerShell 스크립트

여러 VM 또는 가상 머신 확장 집합에 대해 VM 인사이트를 사용하도록 설정하려면 PowerShell 스크립트 Install-VMInsights.ps1을 사용합니다. 스크립트는 Azure PowerShell 갤러리 사용할 수 있습니다. 이 스크립트는 지정한 매개 변수에 따라 가상 머신 또는 가상 머신 확장 집합을 반복합니다. 스크립트를 사용하여 VM 인사이트를 사용하도록 설정할 수 있습니다.

  • 구독의 모든 가상 머신 및 가상 머신 확장 집합.
  • 로 지정된 범위가 지정된 -ResourceGroup리소스 그룹입니다.
  • 로 지정된 -NameVM 또는 가상 머신 확장 집합입니다. wild카드를 사용하여 여러 리소스 그룹, VM 또는 확장 집합을 지정할 수 있습니다.

호환성 별칭이 활성화된 Az PowerShell 모듈 버전 1.0.0 이상을 Enable-AzureRM 사용하고 있는지 확인합니다. Get-Module -ListAvailable Az을 실행하여 버전을 찾습니다. 업그레이드하려면 Azure PowerShell 모듈 설치를 참조 하세요. PowerShell을 로컬로 실행하는 경우 실행 Connect-AzAccount 하여 Azure와의 연결을 만듭니다.

스크립트의 인수 세부 정보 및 사용 예제 목록을 보려면 다음을 실행합니다 Get-Help.

Get-Help Install-VMInsights.ps1 -Detailed

스크립트를 사용하여 Azure Monitoring Agent 및 Dependency Agent 또는 Log Analytics 에이전트를 사용하여 VM 인사이트를 사용하도록 설정합니다.

Azure Monitor 에이전트를 사용하여 VM 인사이트를 사용하도록 설정하면 스크립트는 DCR(데이터 수집 규칙) 및 UAMI(사용자 할당 관리 ID)를 VM/Virtual Machine Scale Set에 연결합니다. UAMI 설정은 Azure Monitor 에이전트 확장에 전달됩니다.

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

필수 인수:

  • -SubscriptionId <String> Azure 구독 ID입니다.
  • -DcrResourceId <String> DCR(데이터 수집 규칙) Azure 리소스 ID 식별자입니다. Vm-Insights를 사용하여 사용하도록 설정되는 VM 또는 가상 머신 확장 집합에 대한 다양한 구독의 DCR을 지정할 수 있습니다.
  • -UserAssignedManagedIdentityResourceGroup <String> UAMI(사용자 할당 관리 ID) 리소스 그룹의 이름입니다.
  • -UserAssignedManagedIdentityName <String> UAMI(사용자 할당 관리 ID)의 이름입니다.

선택적 인수:

  • -ProcessAndDependencies AMA(Azure Monitoring Agent) 설정을 사용하여 종속성 에이전트를 온보딩하도록 이 플래그를 설정합니다. 지정하지 않으면 AMA(Azure Monitoring Agent)만 온보딩됩니다.
  • -Name <String> 온보딩할 VM 또는 Virtual Machine Scale Set의 이름입니다. 지정하지 않으면 구독 또는 리소스 그룹의 모든 VM 및 Virtual Machine Scale Set이 온보딩됩니다. wild카드를 사용하여 여러 VM 또는 Virtual Machine Scale Sets를 지정합니다.
  • -ResourceGroup <String> 온보딩할 VM 또는 Virtual Machine Scale Set을 포함하는 리소스 그룹의 이름입니다. 지정하지 않으면 구독의 모든 VM 및 Virtual Machine Scale Set이 온보딩됩니다. wild카드를 사용하여 여러 리소스 그룹을 지정합니다.
  • -PolicyAssignmentName <String> 이 정책과 연결된 VM만 포함합니다. PolicyAssignmentName 매개 변수를 지정하면 SubscriptionId 매개 변수의 VM 부분이 고려됩니다.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] 업그레이드 정책이 수동으로 설정된 확장 집합에서 VM 인스턴스의 업데이트를 트리거합니다.
  • -WhatIf [<SwitchParameter>] 스크립트에서 명령의 예상 효과에 대한 정보를 가져옵니다.
  • -Confirm [<SwitchParameter>] 스크립트의 각 작업을 확인합니다.
  • -Approve [<SwitchParameter>] 나열된 VM/Virtual Machine Scale Sets에 대한 확인 프롬프트 없이 설치가 시작되도록 승인을 제공합니다.

스크립트는 wild카드s for -Name-ResourceGroup.를 지원합니다. 예를 들어 -Name vm* "vm"으로 시작하는 모든 VM 및 Virtual Machine Scale Sets에 대해 VM 인사이트를 사용하도록 설정합니다. 자세한 내용은 Windows PowerShell의 Wild카드s를 참조하세요.

예시:

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

출력 형식은 다음과 같습니다.

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

Azure Portal에서 VM/Virtual Machine Scale Set을 확인하여 확장이 설치되어 있는지 확인하거나 다음 명령을 사용합니다.


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

다음 단계