Azure Policy を使用して VM insights を有効にする
Azure Policy を使用すると、作成する新しいすべてのリソースと変更するリソースの要件を設定して適用できます。 VM insights 用に作成された定義済みのポリシー セットである VM insights ポリシー イニシアティブにより、VM insights に必要なエージェントがインストールされ、Azure 環境内の新しいすべての仮想マシンの監視が有効になります。
この記事では、定義済みの VM insights ポリシー イニシアティブを使用して、Azure 仮想マシン、仮想マシン スケール セット、Azure Arc に接続されているハイブリッド仮想マシン用に VM insights を有効にする方法について説明します。
前提条件
Azure Policy を使用して VM insights を有効にする前に、VM insights の DCR を作成する必要があります。 この DCR は、エージェントから収集するデータとその処理方法を指定します。 この DCR を作成する方法の詳細については、「VM insights の DCR」を参照してください。
VM insights イニシアティブ
VM insights ポリシー イニシアティブにより、Azure 環境内の新しい仮想マシンに Azure Monitor エージェントと依存関係エージェントがインストールされます。 これらのイニシアティブを管理グループ、サブスクリプション、またはリソース グループに割り当てて、定義済みのスコープ内の Windows または Linux の Azure 仮想マシンにエージェントを自動的にインストールします。
Note
以下に一覧表示されている VM Insights イニシアチブでは、Azure Monitoring Agent の設定を使用して VM に既に存在する Dependency Agent 拡張機能は更新されません。 これらのイニシアチブをデプロイする前に、必ず VM から Dependency Agent 拡張機能をアンインストールしてください。
Azure Monitoring Agent で Azure Monitor for VMs を有効にする Azure Monitoring Agent で仮想マシン スケール セット用の Azure Monitor を有効にする Azure Monitoring Agent で Azure Monitor for Hybrid VMs を有効にする
イニシアティブは、作成する新しいマシンと変更するマシンには適用されますが、既存の VM には適用されません。
ポリシー イニシアティブ名 | 説明 |
---|---|
Azure 監視エージェントで Azure Monitor for VMs を有効にする | Azure VM に Azure Monitor エージェントと依存関係エージェントをインストールします。 |
Azure 監視エージェントで仮想マシン スケール セットに対して Azure Monitor を有効にする | 仮想マシン スケール セットに Azure Monitor エージェントと依存関係エージェントをインストールします。 |
Azure 監視エージェントで Azure Monitor for Hybrid VMs を有効にする | Azure Arc に接続されているハイブリッド VM に Azure Monitor エージェントと依存関係エージェントをインストールします。 |
レガシ: Azure Monitor for VMs を有効にする | 仮想マシン スケール セットに Log Analytics エージェントと依存関係エージェントをインストールします。 |
レガシ: 仮想マシン スケール セット用の Azure Monitor を有効にする | 仮想マシン スケール セットに Log Analytics エージェントと依存関係エージェントをインストールします。 |
重要
レガシの Log Analytics エージェントは、2024 年 8 月 31 日の時点で非推奨となっています。 今後 Microsoft は、Log Analytics エージェントに関するすべてのサポートを提供しません。 Azure Monitor にデータを取り込むために Log Analytics エージェントを使用している場合は、Azure Monitor エージェントに移行してください。
カスタム イメージのサポート
Azure Monitor エージェントベースの VM 分析情報ポリシーとイニシアティブ定義には、サポートされているイメージでのみ Dependency Agent のオンボードを有効にするために、既定で true
に設定されている scopeToSupportedImages
パラメーターがあります。 カスタム イメージでの Dependency Agent のオンボードを許可するには、このパラメーターを false
に設定してください。
VM insights ポリシー イニシアティブを割り当てる
Azure portal から、VM insights ポリシー イニシアティブをサブスクリプションまたは管理グループに割り当てるには、次のようにします。
ポリシーを検索して開きます。
[割り当て]>[イニシアティブの割り当て] を選択します。
[イニシアティブの割り当て] 画面が表示されます。
イニシアティブの割り当てを構成します。
- [スコープ] フィールドで、イニシアティブを割り当てる先の管理グループまたはサブスクリプションを選択します。
- (省略可能) イニシアティブの割り当てから特定のリソースを除外するには、[除外] を選択します。 たとえば、スコープが管理グループである場合、その管理グループ内のサブスクリプションを割り当てから除外するように指定できます。
- [イニシアティブ割り当て] の横の省略記号 (...) を選択して、ポリシー定義ピッカーを開始します。 VM insights イニシアティブのいずれかを選択します。
- (省略可能) [割り当て名] を変更し、[説明] を追加します。
- [パラメーター] タブで、割り当て内のすべての仮想マシンがデータを送信する先の [Log Analytics ワークスペース] を選択します。 仮想マシンで異なるワークスペースにデータを送信するには、それぞれ独自のスコープを使用する複数の割り当てを作成します。 この手順では、その時点で使用しているポリシー イニシアティブに応じて、異なるパラメーターが設定されます。
注意
割り当てのスコープ内にないワークスペースを選択する場合、ポリシー割り当てのプリンシパル ID に "Log Analytics 共同作成者" アクセス許可を付与します。 このようにしないと、次のようなデプロイ エラーが発生する可能性があります。
The client 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb' with object id 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb' does not have authorization to perform action 'microsoft.operationalinsights/workspaces/read' over scope ...
[確認と作成] を選択して、イニシアティブの割り当ての詳細を確認します。 [作成] を選択して、割り当てを作成します。
この時点では、修復タスクは作成しないでください。これは、既存の仮想マシンを有効にするために、多くの場合、複数の修復タスクが必要になるためです。 修復タスクの作成方法について詳しくは、「コンプライアンスの結果を修復する」を参照してください。
VM insights ポリシー イニシアティブのコンプライアンスを確認する
イニシアティブを割り当てた後、管理グループとサブスクリプション全体でイニシアティブのコンプライアンスを確認して管理できます。
各管理グループまたはサブスクリプションに存在する仮想マシンの数や、それらのコンプライアンス状態を確認するには、次のようにします。
Azure Monitor を検索して開きます。
[仮想マシン]>[概要]>[その他のオンボード オプション] の順に選択します。 次に、[ポリシーを使用して有効にする] で [有効にする] を選択します。
[Azure Monitor for VMs のポリシー カバレッジ] ページが表示されます。
次の表で、[Azure Monitor for VMs のポリシー カバレッジ] ページに表示されるコンプライアンス情報について説明します。
関数 説明 スコープ イニシアティブが適用される管理グループまたはサブスクリプション。 自分の役割 スコープ内のロール。 ロールは、閲覧者、所有者、共同作成者です。または、サブスクリプションへのアクセス権があっても、そのサブスクリプションが属する管理グループへのアクセス権がない場合には、ロールは空になります。 ロールによって、表示できるデータと、ポリシーまたはイニシアティブの割り当て (所有者)、それらの編集、コンプライアンスの表示が可能かどうかが決まります。 [Total VMs] (VM の総数) スコープ内の VM の合計数 (VM の状態は関係なし)。 管理グループの場合、この数は、関連するすべてのサブスクリプションまたは子管理グループ内の VM の総数です。 [Assignment Coverage] (割り当て対象範囲) イニシアティブの対象となる VM のパーセント値。 イニシアティブを割り当てる場合、割り当てで選択するスコープは、一覧表示されているスコープまたはそのサブセットです。 たとえば、サブスクリプション (イニシアティブ スコープ) の割り当てを作成し、管理グループ (対象範囲スコープ) の割り当てを作成しない場合、[割り当て対象範囲] の値は、イニシアティブ スコープ内の VM 数を、対象範囲スコープ内の VM 数で除算した値となります。 別のケースでは、ポリシー スコープから一部の VM、リソース グループ、またはサブスクリプションを除外する場合もあります。 値が空白の場合は、ポリシーまたはイニシアチブが存在しないか、アクセス許可がないことを示します。 [Assignment Status] (割り当て状態) [成功]: Azure Monitor エージェントまたは Log Analytics エージェントと依存関係エージェントが、スコープ内のすべてのマシンにデプロイされました。
[警告]: サブスクリプションが管理グループの下にありません。
[未開始]: 新しい割り当てが追加されました。
[ロック]: 管理グループに対する十分な特権がありません。
空白: VM が存在しないか、またはポリシーが割り当てられていません。[Compliant VMs] (準拠している VM) Azure Monitor エージェントまたは Log Analytics エージェントと依存関係エージェントの両方がインストールされている VM の数。 割り当てがない場合、スコープ内に VM がない場合、または関連するアクセス許可がない場合、このフィールドは空白です。 コンプライアンス 全体的なコンプライアンスの数値は、準拠している個別リソースの総数を、すべての個別リソースの総数で除算した値です。 コンプライアンスの状態 [準拠している]: スコープ内のすべての VM に Azure Monitor エージェントまたは Log Analytics エージェントと依存関係エージェントがデプロイされているか、スコープ内のどの新しい VM もまだ評価されていません。
[準拠していない]: 有効化されておらず、場合により修復が必要な VM があります。
[未開始]: 新しい割り当てが追加されました。
[ロック]: 管理グループに対する十分な特権がありません。
空白: ポリシーが割り当てられていません。省略記号 (...) >[コンプライアンスの表示] の順に選択します。
[コンプライアンス] ページが表示されます。 指定したフィルターに一致する割り当てが一覧表示され、それらの割り当てが準拠しているかどうかが示されます。
割り当てを選択すると、その詳細が表示されます。 [イニシアティブのコンプライアンス] ページが表示されます。 イニシアティブのポリシー定義と、各ポリシーに準拠しているかどうかが一覧表示されます。
次の場合、ポリシー定義は準拠していないと見なされます。
- Azure Monitor エージェント、Log Analytics エージェント、または依存関係エージェントがデプロイされていない。 緩和するための修復タスクを作成します。
- VM イメージ (OS) が、ポリシー定義で識別されない。 ポリシーでは、既知の Azure VM イメージのみを検証できます。 VM の OS がサポートされているかどうか、ドキュメントで確認します。
- イニシアティブ スコープ内の一部の VM が、ポリシー割り当てで指定されているもの以外の Log Analytics ワークスペースに接続されています。
ポリシー定義を選択して、[ポリシーのコンプライアンス] ページを開きます。
修復タスクを作成する
割り当てが 100% のコンプライアンスを示していない場合、既存の VM を評価して有効にするための修復タスクを作成します。 ほとんどの場合、複数の修復タスク (ポリシー定義ごとに 1 つの修復タスク) を作成する必要があります。 イニシアティブに対して修復タスクを作成することはできません。
修復タスクを作成するには、次のようにします。
[イニシアティブのコンプライアンス] ページから [修復タスクの作成] を選択します。
[新しい修復タスク] ページが表示されます。
[修復の設定] と [修復するリソース] を確認し、必要に応じて変更します。 次に、[修復] を選択して、タスクを作成します。
修復タスクが完了した後、VM はエージェントがインストールされた準拠した状態になり、VM insights が有効になります。
修復タスクを追跡する
修復タスクの進行状況を追跡するには、[ポリシー] メニューから [修復] を選択し、[修復タスク] タブを選択します。
次のステップ
具体的には、次の方法を学習します。
- VM insights マップを表示して、アプリケーションの依存関係を確認する。
- Azure VM のパフォーマンスを表示して、VM のパフォーマンスのボトルネックと全体的な使用率を確認する。