この記事では、Azure ポータル、ARM テンプレート、PowerShell スクリプトなど、さまざまな方法を使用してAzure Monitorで VM Insights を有効にする方法について詳しく説明します。
前提条件
エージェント
マシンの VM Insights を有効にした場合、次のエージェントがインストールされます。
VM Insights の DCR
Data コレクション 規則 (DCR) は、収集するデータと処理方法を指定するために、Azure Monitor エージェントによって使用されます。 VM Insights を有効にすると、VM Insights 専用の DCR を作成し、監視するマシン上の Azure Monitor エージェントに関連付けます。
VM Insights DCR の唯一の構成は、Log Analytics ワークスペースであり、プロセスと依存関係のデータを収集するかどうかです。 マシンごとに個別の DCR を作成する代わりに、VM 分析情報に使用する Log Analytics ワークスペースごとに 1 つの DCR を使用し、その DCR を複数のマシンに関連付ける必要があります。 プロセスと依存関係を一部のマシンから収集するものの、その他のマシンからは収集しない場合、個別の DCR を作成できます。
注
VM Insights DCR は変更しないでください。 イベント ログやセキュリティ ログなど、監視対象のマシンから追加のデータを収集する必要がある場合は、追加の DCR を作成し、それらを同じマシンに関連付けます。 これらの DCR を作成するためのガイダンスは、Collect データと Azure Monitor Agent から取得できます。
VM Insights DCR を作成する
VM Insights DCR を作成するには、2 つの方法があります。 選択する方法に関係なく、DCR は同一であり、他のマシンで VM Insights を有効にする任意のプロセスで使用できます。 必須ではありませんが、Azure ポータルで使用される名前付け規則に一致するように DCR MSVMI-{WorkspaceName} に名前を付ける必要があります。
ネットワークの分離を有効にする
次の表に示すように、VM Insights でサポートされるネットワーク分離の方法は 2 つあります。
| メソッド |
説明 |
| プライベート リンク |
既定では、Azure Monitor エージェントはパブリック エンドポイントに接続して、Azure Monitor環境に接続します。 VM Insights DCR を Private Link に接続するには、「Private Link を使用して Azure Monitor エージェントのネットワーク分離を有効にする」で説明されているように、Azure Monitor Private Link スコープにリンクされたデータ収集エンドポイント (DCE) に関連付けます。 |
| ネットワーク セキュリティ境界 |
Log Analytics ワークスペースがネットワーク セキュリティ境界に関連付けられている場合は、「ネットワーク セキュリティ境界でAzure Monitorを構成する」のガイダンスを使用>。 |
VM Insights を有効にする
Azure ポータルを使用して VM 分析情報を有効にする
監視対象外の仮想マシンまたは仮想マシン スケール セットで VM Insights を有効にするには、次の手順に従います。 これらのタスクはポータルによって実行されるため、このプロセスでは、エージェントのデプロイや VM Insights DCR の作成を最初に行う必要はありません。
注
Azure Monitor エージェントのインストール プロセスの一環として、Azureは、システム割り当てマネージド ID をマシンに割り当てます (そのような ID がまだ存在しない場合)。
Azure ポータルの Monitor メニューから、Virtual Machines>Not Monitored を選択します。 このタブには、VM Insights が有効になっていないすべてのマシンが含まれます。 すべてのマシンにAzure Monitor エージェントがインストールされています。 仮想マシンにLog Analytics エージェントがインストールされているが、Dependency エージェントがインストールされていない場合は、監視されていないものとして一覧表示されます。
有効にしたいマシンの横にある、[有効にする] を選択します。 マシンが現在実行されていない場合、起動して有効にする必要があります。
[Insights のオンボード] ページで、[有効にする] を選択します。
Monitoring 構成 ページで、Azure Monitor agent を選択し、Data コレクション ルール ドロップダウンから DCR を選択します。 VM Insights 用に構成された DCR のみが一覧表示されます。
VM 分析情報用に DCR がまだ作成されていない場合は、既定のLog Analytics ワークスペースと次の設定を使用して作成するAzure Monitorオファーがあります。 これらの既定値をそのまま使用するか、[新規作成] をクリックして別の設定で新しい DCR を作成できます。 これにより、ワークスペースを選択し、VM Insights のマップ機能を使用してプロセスと依存関係を収集するかどうかを指定できます。
-
ゲスト パフォーマンスが有効。
-
プロセスと依存関係が無効。
注
マップが有効になっている DCR を選択し、仮想マシンが依存関係エージェントでサポートされていない場合、Dependency Agent がインストールされ、機能低下モードで実行されます。
[構成] を選択して構成プロセスを開始します。 エージェントのインストールとデータ収集の開始には数分かかります。 構成を実行すると、ステータス メッセージが表示されます。
仮想マシン スケール セットに手動アップグレード モデルを使用する場合は、インスタンスをアップグレードして設定を完了します。
[インスタンス] ページの [設定] セクションからアップグレードを開始できます。
ARM テンプレートを使用して VM Insights を有効にする
ARM テンプレートを使用して VM Insights を有効にするには、3 つの手順があります。 以下のセクションでは、これらの各手順について詳しく説明します。
エージェントのデプロイ
次の記事のガイダンスを使用して、必要なエージェントをマシンにインストールします。 Dependency Agent は、マップ機能を有効にする場合にのみ必要です。
注
仮想マシン スケール セットでアップグレード ポリシーを手動に設定している場合、テンプレートのインストール後、インスタンスに対して VM Insights は既定では有効になりません。 手動でインスタンスをアップグレードする必要があります。
データ収集ルール (DCR) を作成する
VM Insights 用の DCR がまだない場合は、前述の「VM Insights の DCR」に記載されている詳細を使用して作成します。
DCR とエージェントを関連付ける
VM 分析情報を有効にする最後の手順は、DCR を Azure Monitor エージェントに関連付ける方法です。 Azure Monitor の Manage データ収集規則の関連付け に由来する以下のテンプレートを使用します。 複数のマシンで有効にするには、各マシンでこのテンプレートを使用して関連付けを作成する必要があります。 ARM テンプレートをデプロイする方法に慣れていない場合は、テンプレートのデプロイに関するページを参照してください。
注
マップ機能を有効にした DCR を、Dependency Agent がインストールされていないマシンに関連付けると、マップ ビューは使用できなくなります。 マップ ビューを有効にするには、enableAMA property = trueときに Dependency Agent 拡張機能で を設定します。
展開して ARM (JSON) ファイルを表示する
テンプレート ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "Name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "Name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "Resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2024-03-11",
"scope": "[format('Microsoft.Compute/virtualMachines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-azure-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
Bicepファイルを表示するために展開します
テンプレート ファイル
@description('Name of the virtual machine.')
param vmName string
@description('Name of the association.')
param associationName string
@description('Resource ID of the data collection rule.')
param dataCollectionRuleId string
resource dcrAssoc 'Microsoft.Insights/dataCollectionRuleAssociations@2024-03-11' = {
name: associationName
// Use the VM's resource ID as the scope for this extension resource
scope: resourceId('Microsoft.Compute/virtualMachines', vmName)
properties: {
description: 'Association of data collection rule. Deleting this association will break the data collection for this virtual machine.'
dataCollectionRuleId: dataCollectionRuleId
}
}
パラメーター ファイル
using './<template-file-name>.bicep'
param vmName = 'my-azure-vm'
param associationName = 'my-windows-vm-my-dcr'
param dataCollectionRuleId = '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr'
テンプレートをデプロイする
このセクションで説明する ARM (JSON) テンプレートとBicep テンプレートは、任意の方法を使用してデプロイして、ARM (JSON) または Bicep テンプレートをインストールできます。
Azure ポータルからのテンプレートのデプロイの詳細については、「Quickstart: Azure ポータルを使用した ARM テンプレートの作成とデプロイ」を参照してください。
次の例は、一般的な方法を使用してコマンド ラインからテンプレートをデプロイする方法を示しています。
ARM (JSON)
New-AzResourceGroupDeployment -Name EnableVMinsights -ResourceGroupName <ResourceGroupName> -TemplateFile <template-file-name>.json -TemplateParameterFile <parameters-file-name>.json
az deployment group create --resource-group <ResourceGroupName> --template-file <template-file-name>.json --parameters <parameters-file-name>.json
Bicep
New-AzResourceGroupDeployment -Name EnableVMinsights -ResourceGroupName <ResourceGroupName> -TemplateFile <template-file-name>.bicep -TemplateParameterFile <parameters-file-name>.bicepparam
az deployment group create --resource-group <ResourceGroupName> --template-file <template-file-name>.bicep --parameters <parameters-file-name>.bicepparam
PowerShell スクリプトを使用して複数の VM の VM Insights を有効にする
このセクションでは、複数の VM を有効にできる PowerShell スクリプトを使用して、VM Insights を有効にする方法について説明します。 このプロセスでは、Azure監視エージェント (AMA) 用の VM 拡張機能をインストールし、必要に応じて Dependency Agent を使用して VM Insights を有効にするスクリプトを使用します。
このスクリプトを使用する前に、「VM Insights の DCR」で上記の詳細を使用して VM Insights DCR を作成する必要があります。
PowerShell スクリプト
複数の VM または仮想マシン スケール セットに対して VM Insights を有効にするには、PowerShell スクリプト Install-VMInsights.ps1 を使用します。 このスクリプトでは、指定したパラメーターに従ってマシンを反復処理します。 スクリプトを使用して、以下について VM Insights を有効にすることができます。 これらの各パラメーターでワイルドカードを使用できます。
- サブスクリプションに設定されているすべての仮想マシンと仮想マシン スケール セット。
-
-ResourceGroup で指定されたスコープ付きリソース グループ。
-
-Name で指定された VM または仮想マシン スケール セット。
Enable-AzureRM 互換性エイリアスを有効にした Az PowerShell モジュール バージョン 1.0.0 以降を使っていることを確認します。 バージョンを確認するには、Get-Module -ListAvailable Az を実行します。 アップグレードするには、「Install Azure PowerShell module を参照してください。 PowerShell をローカルで実行している場合は、Connect-AzAccount を実行して、Azureとの接続を作成します。
スクリプトの引数の詳細と使用例の一覧については、Get-Help を実行します。
Get-Help Install-VMInsights.ps1 -Detailed
Azure Monitor エージェントを使用して VM 分析情報を有効にすると、スクリプトによってデータ収集規則 (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 Monitoring Agent (AMA) 設定で Dependency Agent をオンボードするには、このフラグを設定します。 指定しない場合は、Azure監視エージェント (AMA) のみがオンボードされます。
-
-Name <String> オンボードする VM または仮想マシン スケール セットの名前。 指定しない場合、サブスクリプションまたはリソース グループ内のすべての VM と仮想マシン スケール セットがオンボードされます。 ワイルドカードを使用して、複数の VM またはVirtual Machine Scale Setsを指定します。
-
-ResourceGroup <String> オンボードする VM または仮想マシン スケール セットを含むリソース グループの名前。 指定しない場合、サブスクリプション内のすべての VM と仮想マシン スケール セットがオンボードされます。 複数のリソース グループを指定するには、ワイルドカードを使います。
-
-PolicyAssignmentName <String> このポリシーに関連付けられている VM のみを含めます。 PolicyAssignmentName パラメーターを指定すると、パラメーター SubscriptionId の VM 部分が考慮されます。
-
-TriggerVmssManualVMUpdate [<SwitchParameter>] アップグレード ポリシーが [手動] に設定されているスケール セット内の VM インスタンスの更新をトリガーします。
-
-WhatIf [<SwitchParameter>] スクリプト内のコマンドの予想される効果について情報を取得します。
-
-Confirm [<SwitchParameter>] スクリプト内の各アクションを確認します。
-
-Approve [<SwitchParameter>] 一覧に示されている VM の/Virtual Machine Scale Setsの確認プロンプトなしでインストールを開始するための承認を提供します。
このスクリプトは、-Name と -ResourceGroup のワイルドカードをサポートしています。 たとえば、-Name vm* では、"vm" で始まるすべての VM とVirtual Machine Scale Setsに対する VM 分析情報が有効になります。 詳細については、Windows PowerShell の「Wildcards」を参照>。
例:
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
Azureポータルでマシンを確認して、拡張機能がインストールされているかどうかを確認するか、次のコマンドを使用します。
az vm extension list --resource-group <resource group> --vm-name <VM name> -o table
VM Insights の構成を編集する
オンボード後に仮想マシンの VM 分析情報の構成を編集するには、[VM insights の概要] ページで VM の横にある [有効] をクリックします。 これにより、現在の構成が表示されます。 前のセクションで説明したように、[ 編集] をクリックして構成ページを開きます。 VM 用に別の DCR を選択するか、新しい DCR を作成できます。 このページから既存の DCR を変更することはできません。
次のステップ
パフォーマンスの監視機能の使用方法については、VM Insights のパフォーマンスの表示に関する記事をご覧ください。 検出されたアプリケーションの依存関係を表示するには、VM Insights マップの表示に関する記事を参照してください。