PowerShell を使用して VM の分析情報を有効にする
この記事では、PowerShell を使用して、Azure 仮想マシン上で VM の分析情報を有効にする方法について説明します。 この手順は以下に対して使用できます。
- Azure Virtual Machines
- Azure Virtual Machine Scale Sets
このスクリプトを実行すると、Log Analytics や Azure 監視エージェント (AMA) 用の VM 拡張機能と、必要に応じて Dependency Agent をインストールして、VM Insights を有効にすることができます。 AMA がオンボードされている場合、データ収集ルール (DCR) とユーザー割り当てマネージド ID (UAMI) も仮想マシンと仮想マシン スケール セットに関連付けられます。
重要
従来の Log Analytics エージェントは、2024 年 8 月までに非推奨になります。 この日付を過ぎると、Microsoft は Log Analytics エージェントのサポートを提供しなくなります。 データの取り込みを続行するには、2024 年 8 月より前に Azure Monitor エージェントに移行してください。
Note
Azure Monitor エージェントはバージョン 1.10.1 からサポートされています。
前提条件
以下を実行する必要があります。
- Azure Monitor エージェントに関連する前提条件については、「Azure Monitor エージェントの管理」を参照してください。
- 「サポートされるオペレーティング システム」を参照して、有効にする仮想マシンまたは仮想マシン スケール セットのオペレーティング システムがサポートされていることを確認してください。
- Azure Monitor エージェントのネットワーク分離を有効にするには、「Private Link を使って Azure Monitor エージェントのネットワークの分離を有効にする」を参照してください。
PowerShell スクリプト
複数の VM または仮想マシン スケール セットに対して VM の分析情報を有効にするには、PowerShell スクリプト Install-VMInsights.ps1 を使用します。 このスクリプトは Azure PowerShell ギャラリーから入手できます。 このスクリプトを実行すると、指定したパラメーターに従って仮想マシンまたは仮想マシン スケール セットに対して反復処理できます。 このスクリプトを使うと、以下について VM Insights を有効にすることができます。
- サブスクリプションに設定されているすべての仮想マシンと仮想マシン スケール セット。
-ResourceGroup
で指定されたスコープ付きリソース グループ。-Name
で指定された VM または仮想マシン スケール セット。 ワイルドカードを使って、複数のリソース グループ、VM、またはスケール セットを指定できます。
Enable-AzureRM
互換性エイリアスを有効にした Az PowerShell モジュール バージョン 1.0.0 以降を使っていることを確認します。 バージョンを確認するには、Get-Module -ListAvailable Az
を実行します。 アップグレードするには、Azure PowerShell モジュールのインストールに関するページを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount
を実行して Azure との接続を作成します。
スクリプトの引数の詳細と使用例の一覧については、Get-Help
を実行します。
Get-Help Install-VMInsights.ps1 -Detailed
このスクリプトを使って、Azure 監視エージェントと Dependency Agent、または Log Analytics エージェントを使って VM Insights を有効にします。
Azure Monitor エージェントを使って VM Insights を有効にすると、このスクリプトによってデータ収集ルール (DCR) とユーザー割り当てマネージド ID (UAMI) が VM と仮想マシン スケール セットに関連付けられます。 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>
ユーザー割り当てマネージド ID (UAMI) リソース グループの名前。-UserAssignedManagedIdentityName <String>
ユーザー割り当てマネージド ID (UAMI) の名前。
省略可能な引数:
-ProcessAndDependencies
Azure 監視エージェント (AMA) 設定を使って Dependency Agent をオンボードするには、このフラグを設定します。 指定しない場合、Azure 監視エージェント (AMA) のみがオンボードされます。-Name <String>
オンボードする VM または仮想マシン スケール セットの名前。 指定しない場合、サブスクリプションまたはリソース グループ内のすべての VM と仮想マシン スケール セットがオンボードされます。 ワイルドカードを使って、複数の VM または仮想マシン スケール セットを指定します。-ResourceGroup <String>
オンボードする VM または仮想マシン スケール セットを含むリソース グループの名前。 指定しない場合、サブスクリプション内のすべての VM と仮想マシン スケール セットがオンボードされます。 複数のリソース グループを指定するには、ワイルドカードを使います。-PolicyAssignmentName <String>
このポリシーに関連付けられている VM のみを含めます。 PolicyAssignmentName パラメーターを指定すると、パラメーター SubscriptionId の VM 部分が考慮されます。-TriggerVmssManualVMUpdate [<SwitchParameter>]
アップグレード ポリシーが [手動] に設定されているスケール セット内の VM インスタンスの更新をトリガーします。-WhatIf [<SwitchParameter>]
スクリプト内のコマンドの予想される効果について情報を取得します。-Confirm [<SwitchParameter>]
スクリプト内の各アクションを確認します。-Approve [<SwitchParameter>]
一覧に示されている VM または仮想マシン スケール セットについて、確認プロンプトなしでインストールを開始することを承認します。
このスクリプトは、-Name
と -ResourceGroup
のワイルドカードをサポートしています。 たとえば、-Name vm*
を使うと、"vm" で始まるすべての VM と仮想マシン スケール セットについて VM Insights が有効になります。 詳細については、Windows PowerShell のワイルドカードに関する記事を参照してください。
例:
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 または仮想マシン スケール セットを調べて、拡張機能がインストールされているかどうかを確認するか、次のコマンドを使います。
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
次のステップ
- 検出されたアプリケーションの依存関係を表示するには、VM insights マップの使用に関する記事をご覧ください。
- ボトルネック、全体的な使用率、VM のパフォーマンスを識別するには、Azure VM のパフォーマンスの表示に関するページを参照してください。