VM Insights を有効にする
- [アーティクル]
-
-
この記事では、Azure portal、ARM テンプレート、PowerShell スクリプトなど、さまざまな方法を使用して Azure Monitor で VM Insights を有効にする方法について詳しく説明します。
前提条件
エージェント
マシンの VM Insights を有効にした場合、次のエージェントがインストールされます。
VM insights の DCR
データ収集ルール (DCR) は、収集するデータとその処理方法を指定するために Azure Monitor エージェントによって使用されます。 VM Insights を有効にする場合は、VM Insights 専用の DCR を作成し、監視する任意のマシン上の Azure Monitor エージェントに関連付けます。
VM Insights DCR の唯一の構成は、Log Analytics ワークスペースと、プロセスと依存関係のデータを収集するかどうかです。 マシンごとに個別の DCR を作成する代わりに、VM Insights に使用する Log Analytics ワークスペースごとに 1 つの DCR を使用し、その DCR を複数のマシンに関連付ける必要があります。 プロセスと依存関係を一部のマシンから収集するものの、その他のマシンからは収集しない場合、個別の DCR を作成できます。
VM Insights DCR は変更しないでください。 イベント ログやセキュリティ ログなど、監視対象のマシンから追加のデータを収集する必要がある場合は、追加の DCR を作成し、それらを同じマシンに関連付けます。 これらの DCR の作成に関するガイダンスは、「Azure Monitor エージェントを使用してデータを収集する」から取得できます。
VM Insights DCR を作成する
VM Insights DCR を作成するには、2 つの方法があります。 選択する方法に関係なく、DCR は同一であり、他のマシンで VM Insightを有効にする任意のプロセスで使用できます。 必須ではありませんが、Azure portal で使用される名前付け規則と一致するように、DCR に MSVMI-{WorkspaceName}
という名前を付ける必要があります。
以下の詳細なプロセスで、Azure portal を使用してオンボード プロセスの一部として VM Insights DCR を作成します。
VM Insights データ収集規則テンプレートをダウンロードしてインストールします。 次の表は、使用可能なテンプレートについての説明です。 ARM テンプレートをデプロイする方法に慣れていない場合は、テンプレートのデプロイに関するページを参照してください。
フォルダー |
ファイル |
説明 |
DeployDcr\ PerfAndMapDcr |
DeployDcrTemplate DeployDcrParameters |
VM Insights のパフォーマンスとマップの両方のエクスペリエンスを有効にします。 |
DeployDcr\ PerfOnlyDcr |
DeployDcrTemplate DeployDcrParameters |
VM Insights のパフォーマンス エクスペリエンスのみを有効にします。 |
Private Link を使用してネットワーク分離を有効にする
既定では、Azure Monitor エージェントは、Azure Monitor 環境に接続するためにパブリック エンドポイントに接続されます。 VM Insights のネットワーク分離を有効にするには、「Private Link を使用して Azure Monitor エージェントのネットワークの分離を有効にする」の説明に従って、Azure Monitor プライベート リンク スコープにリンクされているデータ収集エンドポイント (DCE) に VM Insights DCR を関連付けます。
VM Insights を有効にする
Azure portal を使って VM insights を有効にする
監視対象外の仮想マシンまたは仮想マシン スケール セットで VM insights を有効にするには、次の手順に従います。 これらのタスクはポータルによって実行されるため、このプロセスでは、エージェントのデプロイや VM Insights DCR の作成を最初に行う必要はありません。
Note
Azure Monitor エージェントのインストール プロセスの一環として、まだ ID が存在しない場合は、システム割り当てマネージド ID がマシンに割り当てられます。
Azure portal の [監視] メニューから [仮想マシン]>[監視対象外] を選択します。 このタブには、VM Insights が有効になっていないすべてのマシンが含まれます。 マシンには Azure Monitor エージェントがインストールされています。 仮想マシンに Log Analytics エージェントがインストールされているが、Dependency エージェントがインストールされていない場合は、監視されていないものとして一覧表示されます。
有効にしたいマシンの横にある、[有効にする] を選択します。 マシンが現在実行されていない場合、起動して有効にする必要があります。
[Insights のオンボード] ページで、[有効にする] を選択します。
[監視構成] ページで、[Azure Monitor エージェント] を選択し、[データ収集ルール] ドロップダウンから [DCR] を選択します。 VM Insights 用に構成された DCR のみが一覧表示されます。
VM Insights 用に DCR がまだ作成されていない場合は、Azure Monitor で、既定の Log Analytics ワークスペースと次の設定を使用して DCR を作成できます。 これらの既定値をそのまま使用するか、[新規作成] をクリックして別の設定で新しい DCR を作成できます。 これにより、ワークスペースを選択し、VM insights のマップ機能を使用してプロセスと依存関係を収集するかどうかを指定できます。
- ゲスト パフォーマンスが有効。
- プロセスと依存関係が無効。
Note
マップが有効になっている DCR を選択し、仮想マシンが依存関係エージェントでサポートされていない場合、Dependency Agent がインストールされ、機能低下モードで実行されます。
[構成] を選択して構成プロセスを開始します。 エージェントのインストールとデータ収集の開始には数分かかります。 構成を実行すると、ステータス メッセージが表示されます。
仮想マシン スケール セットに手動アップグレード モデルを使用する場合は、インスタンスをアップグレードして設定を完了します。 [インスタンス] ページの [設定] セクションからアップグレードを開始できます。
ARM テンプレートを使用して VM Insights を有効にする
ARM テンプレートを使用して VM Insights を有効にするには、3 つの手順があります。 以下のセクションでは、これらの各手順について詳しく説明します。
エージェントのデプロイ
次の記事のガイダンスを使用して、必要なエージェントをマシンにインストールします。 Dependency Agent は、マップ機能を有効にする場合にのみ必要です。
Note
仮想マシン スケール セットでアップグレード ポリシーを手動に設定している場合、テンプレートのインストール後、インスタンスに対して VM insights は既定では有効になりません。 手動でインスタンスをアップグレードする必要があります。
データ収集ルール (DCR) を作成する
VM Insights 用の DCR がまだない場合は、前述の「VM Insights の DCR」に記載されている詳細を使用して作成します。
DCR とエージェントを関連付ける
VM Insights を有効にするための最後の手順として、DCR と Azure Monitor エージェントを関連付けます。 「Azure Monitor でデータ収集ルールの関連付けを管理する」から引用した以下のテンプレートを使用します。 複数のマシンで有効にするには、各マシンでこのテンプレートを使用して関連付けを作成する必要があります。 ARM テンプレートをデプロイする方法に慣れていない場合は、テンプレートのデプロイに関するページを参照してください。
Note
マップ機能を有効にした DCR を、Dependency Agent がインストールされていないマシンに関連付けると、マップ ビューは使用できなくなります。 マップ ビューを有効にするには、Dependency Agent をインストールするときに Dependency Agent 拡張機能で enableAMA property = true
を設定します。
ARM テンプレート
{
"$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": "2021-09-01-preview",
"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"
}
}
}
ARM テンプレートのデプロイ
このセクションで説明されている ARM テンプレートは、ARM テンプレートをインストールする任意の方法を使用してデプロイできます。 Azure portal からテンプレートをデプロイする方法の詳細については、「クイックスタート: Azure portal を使用して ARM テンプレートを作成およびデプロイする」を参照してください。
次の例は、一般的な方法を使用してコマンド ラインからテンプレートをデプロイする方法を示しています。
New-AzResourceGroupDeployment -Name EnableVMinsights -ResourceGroupName <ResourceGroupName> -TemplateFile <Template.json> -TemplateParameterFile <Parameters.json>
az deployment group create --resource-group <ResourceGroupName> --template-file <Template.json> --parameters <Parameters.json>
PowerShell スクリプトを使用して複数の VM の VM Insights を有効にする
このセクションでは、複数の VM を有効にできる PowerShell スクリプトを使用して、VM Insights を有効にする方法について説明します。 このプロセスでは、スクリプトを使用して、Azure Monitoring エージェント (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
を実行します。 アップグレードするには、Azure PowerShell モジュールのインストールに関するページを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount
を実行して Azure との接続を作成します。
スクリプトの引数の詳細と使用例の一覧については、Get-Help
を実行します。
Get-Help Install-VMInsights.ps1 -Detailed
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
Azure portal で仮想マシンを調べて、拡張機能がインストールされているかどうかを確認するか、次のコマンドを使用します。
az vm extension list --resource-group <resource group> --vm-name <VM name> -o table
次のステップ
パフォーマンスの監視機能の使用方法については、VM Insights のパフォーマンスの表示に関する記事をご覧ください。 検出されたアプリケーションの依存関係を表示するには、VM Insights マップの表示に関する記事を参照してください。