ラボ: ハイブリッド シナリオでの運用監視の実装
ラボのシナリオ
あなたは、Microsoft Azure の機能を評価して、主に Azure 仮想マシン (VM) に関する Azure リソースのパフォーマンスと構成の分析情報を検討する必要があります。 これを実現するために、Log Analytics を含む、Azure Monitor の機能を調べる予定です。
**メモ:** このラボをご自分のペースでクリックして進めることができる、 **[ラボの対話型シミュレーション](https://mslabs.cloudguides.com/guides/AZ-801%20Lab%20Simulation%20-%20Implementing%20operational%20monitoring%20in%20hybrid%20scenarios)** が用意されています。 対話型シミュレーションとホストされたラボの間に若干の違いがある場合がありますが、示されている主要な概念とアイデアは同じです。
目標
このラボを完了すると、次のことができるようになります。
- 監視環境を準備する。
- オンプレミス サーバーの監視を構成する。
- Azure VM の監視を構成する。
- 監視サービスを評価する。
予想所要時間: 60 分
ラボ環境
仮想マシン: AZ-801T00A-SEA-DC1 と AZ-801T00A-SEA-SVR2 が実行されている必要があります。 他の VM が実行されていてもかまいませんが、このラボでは必要ありません。
注: AZ-801T00A-SEA-DC1 および AZ-801T00A-SEA-SVR2 仮想マシンは、SEA-DC1 および SEA-SVR2 のインストールをホストしています。
- [SEA-SVR2] を選択します。
-
次の資格情報を使用してサインインします。
- ユーザー名: Administrator
- パスワード: Pa55w.rd
- ドメイン: CONTOSO
このラボでは、使用可能な VM 環境と Azure サブスクリプションを使用します。 ラボを開始する前に、Azure サブスクリプションと、そのサブスクリプションの所有者ロールを持つユーザー アカウントがあることを確認してください。
演習 1: 監視環境の準備
この演習の主なタスクは次のとおりです。
- Azure 仮想マシンをデプロイする。
- Microsoft.Insights と Microsoft.AlertsManagement リソース プロバイダーを登録する。
- Azure Log Analytics ワークスペースを作成して構成する。
タスク 1: Azure 仮想マシンをデプロイする
このタスクでは、監視シナリオのテストに使用する仮想マシンをデプロイします。
- SEA-SVR2 で Microsoft Edge を起動して Azure portal (
https://portal.azure.com/
) に移動し、このラボで使用するサブスクリプションの所有者ロールをもつユーザー アカウントの資格情報を使用してサインインします。 - SEA-SVR2 の Azure portal を表示している Microsoft Edge ウィンドウで、Azure Cloud Shell で PowerShell セッションを開きます。
- Cloud Shell ウィンドウで、C:\Labfiles\Lab02\L02-sub_template.json、C:\Labfiles\Lab09\L09-rg_template.json、および C:\Labfiles\Lab09\L09-rg_template.parameters.json の各ファイルを Cloud Shell のホーム ディレクトリにアップロードします。
-
ラボ環境をホストするリソース グループを作成するために、Cloud Shell ウィンドウの PowerShell セッションで、次のコマンドを実行します (
<Azure_region>
プレースホルダーを、このラボでリソースをデプロイする Azure リージョンの名前に置き換えます)。注: (Get-AzLocation).Location コマンドを使用して、使用可能な Azure リージョンの名前を一覧表示できます。
$location = '<Azure_region>' $rgName = 'AZ801-L0901-RG' New-AzResourceGroup -ResourceGroupName $rgName -Location $location
-
新しく作成したリソース グループに Azure VM をデプロイするには、次のコマンドを実行します。
New-AzResourceGroupDeployment -Name az801l0901deployment -ResourceGroupName $rgName -TemplateFile ./L09-rg_template.json -TemplateParameterFile ./L09-rg_template.parameters.json -AsJob
注: デプロイが完了するのを待たず、代わりに次のタスクに進んでください。 デプロイには約 3 分かかります。
タスク 2: Microsoft.Insights と Microsoft.AlertsManagement リソース プロバイダーを登録する
-
Microsoft.Insights と Microsoft.AlertsManagement リソース プロバイダーを登録するには、SEA-SVR2 で、Cloud Shell ウィンドウから次のコマンドを実行します。
Register-AzResourceProvider -ProviderNamespace Microsoft.Insights Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement
注: 登録状態を確認するにために、Get-AzResourceProvider コマンドレットを使用できます。
注: 登録プロセスが完了するのを待たずに、次のタスクに進んでください。 登録には約 3 分かかります。
-
Cloud Shell を閉じます。
タスク 3: Azure Log Analytics ワークスペースを作成して構成する
このタスクでは、Azure Log Analytics ワークスペースと Azure Automation ベースのソリューションを作成して構成します。
-
SEA-SVR2 上の Azure portal で、次の設定を使用して Log Analytics ワークスペースを作成します。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ 新しいリソース グループ AZ801-L0902-RG の名前 Log Analytics ワークスペース 任意の一意の名前 リージョン 前のタスクで仮想マシンをデプロイした Azure リージョンの名前 注: 前のタスクで仮想マシンをデプロイしたリージョンを必ず指定してください。
注: デプロイが完了するまで待ちます。 デプロイには約 1 分かかります。
- Azure portal で、新しくプロビジョニングされたワークスペースのブレードに移動します。
- ワークスペース ウィンドウで、 [エージェント管理] ウィンドウに移動し、 [ワークスペース ID] と [主キー] の値を記録します。 これらは、次の演習で必要になります。
タスク 4:Service Map ソリューションをインストールする
- SEA-SVR2 の Azure portal で、Service Map Marketplace 項目を検索し、対応するウィンドウに移動します。
-
[Service Map ソリューションの作成] ウィンドウで、次の設定を使って Service Map ソリューションを作成します。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ801-L0902-RG Log Analytics ワークスペース 前のタスクで作成した Log Analytics ワークスペースの名前
演習 2: オンプレミス サーバーの監視の構成
この演習の主なタスクでは次のことを行います。
- Log Analytics エージェントと Dependency Agent をインストールする
タスク 1:Log Analytics エージェントと Dependency Agent をインストールする
- SEA-SVR2 のコンソール セッションに接続した状態で、Azure portal が表示されているブラウザー ウィンドウの [エージェント管理] ウィンドウで、64 ビットの Windows Log Analytics エージェントをダウンロードします。
- 既定の設定でエージェントをインストールします。 メッセージが表示されたら、前の演習で記録したワークスペース ID とワークスペース キー (主キー) を入力します。
-
SEA-SVR2 で、管理者として Windows PowerShell を開始し、 [管理者: Windows PowerShell] コンソールから、次のコマンドを実行して Dependency Agent をインストールします。
Invoke-WebRequest "https://aka.ms/dependencyagentwindows" -OutFile InstallDependencyAgent-Windows.exe .\InstallDependencyAgent-Windows.exe /S
演習 3: Azure VM の監視を構成する
この演習の主なタスクは次のとおりです。
- ホストベースの監視を確認する。
- 診断設定と VM 分析情報を構成する。
タスク 1: ホストベースの監視を確認する
このタスクでは、Azure 仮想マシンの既定の監視設定を確認します。
- Azure portal で、az801l09-vm0 仮想マシンのページに移動します。
- az801l09-vm0 ページの [監視] セクションで、[メトリック] を選びます。
-
[az801l09-vm0 | メトリック] ページの既定のグラフで、[メトリック名前空間] ボックスの一覧を表示すると、使用できるのは [仮想マシン ホスト] メトリックのみであることがわかります。
注: ゲスト レベルの診断設定がまだ構成されていないので、これは想定内です。 ただし、[メトリック名前空間] ドロップダウン リストから、ゲスト メモリ メトリックを直接有効にするオプションがあります。 この演習の後半でこれを有効にします。
-
[メトリック] ドロップダウン リストで、使用可能なメトリックの一覧を確認します。
注: この一覧には、ゲストレベルのメトリックにアクセスすることなく、仮想マシンのホストから収集できる CPU、ディスク、ネットワーク関連の幅広いメトリックが含まれています。
- [az801l09-vm0 | メトリック] ページで、az801l09-vm0 の平均 CPU 使用率を示すグラフを表示します。
タスク 2: 診断設定と VM 分析情報を構成する
このタスクでは、Azure 仮想マシンの診断設定を構成します。
-
[az801l09-vm0] ページの [監視] セクションで、[診断設定] を選択し、ゲストレベルの監視を有効にします。
注: 操作が有効になるのを待ちます。 これには 3 分ほどかかる場合があります。
-
[az801l09-vm0 | 診断設定] ページの [パフォーマンス カウンター] タブに切り替え、使用可能なカウンターを確認します。
注: 既定では、CPU、メモリ、ディスク、ネットワークのカウンターが有効になっています。 [カスタム] ビューに切り替えると、より詳細な一覧を確認できます。
-
[az801l09-vm0 | 診断設定] ページの [ログ] タブに切り替え、ゲストレベルの監視を有効にします。
注: ゲストレベルの監視診断が有効になるまで待ちます。 これには 3 分ほどかかります。
-
[az801l09-vm00 | 診断設定] ページの [概要] タブで、使用可能なイベント ログ収集のオプションを確認します。
注: 既定では、ログの収集には、アプリケーション ログとシステム ログからの重大、エラー、および警告のエントリに加え、セキュリティ ログからの監査失敗のエントリが含まれています。 これらは、[ログ] タブでカスタマイズできます。
- [az801l09-vm0 | 診断設定] ページで、[ログ] タブを選択し、使用可能な構成設定を確認します。
- [az801l09-vm0 | ログ] ページの左側にある垂直メニューで、[監視] セクションの [メトリック] を選択します。
-
[az801l09-vm0 | メトリック] ページの既定のグラフでは、この時点で、[メトリック名前空間] ドロップダウン リストに、[仮想マシン ホスト] エントリに加えて、[ゲスト (クラシック)] エントリも含まれています。
注: ゲストレベルの診断設定を有効にしたので、これは想定どおりです。 また、 [新しいゲスト メモリ メトリックを有効にします] のオプションもあります。
- [メトリック名前空間] ドロップダウン リストで、[ゲスト (クラシック)] エントリを選択します。
-
[メトリック] ドロップダウン リストで、利用可能なメトリックの一覧を確認し、メモリと論理ディスクに関連するさまざまなメトリックが含まれていることを確認します。
注: この一覧には、ホストレベルの監視のみに依存している場合には使用できない追加のゲストレベルのメトリックが含まれています。
- [メトリック名前空間] ドロップダウン リストのオプションを使用し、Azure portal に記載されている手順に従って、新しいゲスト メモリ メトリックを有効にします。
-
[az801l09-vm0 | メトリック] ページに戻ると、既定のグラフでは、この時点で、[メトリック名前空間] ドロップダウン リストに [仮想マシン ホスト] と [ゲスト (クラシック)] エントリに加えて、[仮想マシンのゲスト] エントリも含まれています。
注: [仮想マシンのゲスト] エントリが表示されるように、ページの更新が必要になる場合があります。
- [az801l09-vm0 | メトリック] ページの左側にある垂直メニューで、[監視] セクションの [ログ] を選択します。
- [az801l09-vm0 | ログ] ページで、このラボで前に作成した Log Analytics ワークスペースへのログ収集を有効にします。
-
[az801l09-vm0 | 分析情報] ページに移動し、Azure Monitor の VM Insights 機能を有効にします。
注: VM Insights は、Windows または Linux を実行する Azure VM とオンプレミス コンピューターの両方のパフォーマンスと正常性の監視を容易にする、Azure Monitor のソリューションです。
-
SEA-SVR2 で、[監視 | 仮想マシン] ページに移動し、このラボで前に作成したワークスペースのパフォーマンスとマップの機能をアップグレードします。
注: このオプションにより、正常性モデルを使用した監視とアラートの機能が有効になります。これは、Azure Monitor for VMs によって生成されたメトリックを使用して構築される正常性監視の階層で構成されています。
演習 4: 監視サービスを評価する
この演習の主なタスクは次のとおりです。
- Azure Monitor の監視とアラートの機能を確認する。
- Azure Monitor の VM Insights 機能を確認する。
- Azure Log Analytics の機能を確認する。
タスク 1: Azure Monitor の監視とアラートの機能を確認する
- SEA-SVR2 の Azure portal で、[監視 | メトリック] ブレードに戻ります。
-
スコープを az801l09-vm0 仮想マシンに設定します。
注: これにより、[az801l09-vm0 | メトリック] ページと同じビューとオプションが表示されます。
- [az801l09-vm0 | メトリック] ページで、az801l09-vm0 の平均 CPU 使用率を示すグラフを表示します。
-
[監視 | メトリック] ページの Avg Percentage CPU for az801l09-vm0 ウィンドウで、次のシグナル ロジック設定を使用して、az801l09-vm0 の平均 CPU 使用率に関する新しい警告ルールを作成します。
設定 値 しきい値 静的 演算子 より大きい 集計の種類 Average しきい値 2 集計の粒度 (期間) 1 分 評価の頻度 1 分ごと 注: ゲスト (クラシック) メトリック名前空間のメトリックでは、メトリックからの警告ルールの作成はサポートされていません。 これを実現するには、Azure Resource Manager テンプレートを使用します。ドキュメント「Windows 仮想マシンの Resource Manager テンプレートを使用して Azure Monitor メトリック ストアにゲスト OS メトリックを送信する」を参照してください。
-
次の設定を使用して新しい警告ルールのアクション グループを作成し (その他は既定値のまま)、[次へ: 通知 >] を選択します。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ801-L0902-RG アクション グループ名 az801l09-ag1 表示名 az801l09-ag1 通知の種類 Email/SMS/Push/Voice (メール/SMS/プッシュ/音声) 通知名 admin email 通知の電子メール アドレス 自分のメール アドレス -
次の設定に従って警告ルールの詳細を構成します (他の設定は既定値のままにしておきます)。
設定 値 アラート ルール名 テストしきい値を超えた CPU の割合 説明 テストしきい値を超えた CPU の割合 リソース グループ AZ801-L0902-RG 重大度 重大度 3 作成時にルールを有効にする はい 注: メトリックの警告ルールがアクティブになるまでに最大 10 分かかることがあります。
- Azure portal で、az801l09-vm0 仮想マシンのページに移動します。
-
az801l09-vm0 ページの [操作] セクションで、[コマンドの実行] の RunPowerShellScript 機能を使用して、対象のオペレーティング システム内の CPU 使用率を増やし、新しく構成されたルールに基づいてアラートをトリガーする次のコマンドを実行します。
$vCpuCount = Get-WmiObject Win32_Processor | Select-Object -ExpandProperty NumberOfLogicalProcessors ForEach ($vCpu in 1..$vCpuCount){ Start-Job -ScriptBlock{ $result = 1; ForEach ($loopCount in 1..2147483647){ $result = $result * $loopCount } } }
- SEA-SVR2の Azure portal を表示している Microsoft Edge ウィンドウで、別のタブを開き、Azure Monitor の [アラート] ページを参照します。
-
アラートの一覧を確認し、作成した警告ルールによって生成された重大度 3 アラートの詳細を表示します。
注: 数分待ってから [更新] を選択する必要がある場合があります。
タスク 2: Azure Monitor の VM Insights 機能を確認する
- SEA-SVR2 で、Azure portal の az801l09-vm0 仮想マシンのページに戻ります。
- az801l09-vm0 仮想マシンのページの左側にある垂直メニューで、[監視] セクションの [Insights] を選択します。
- [az801l09-vm0 | Insights] ページの [パフォーマンス] タブで、論理ディスクのパフォーマンス、CPU 使用率、使用可能なメモリ、送受信バイト数など、メトリックの既定のセットを確認します。
- [az801l09-vm0 | Insights] ページで [マップ] タブを選択し、自動生成されたマップを確認します。
-
[az801l09-vm0 | Insights] ページで [正常性] タブを選択し、その内容を確認します。
注: 正常性情報を使用できるかどうかは、ワークスペースのアップグレードが完了しているかどうかによって異なります。
タスク 3: Azure Log Analytics の機能を確認する
- SEA-SVR2 で、Azure portal の [モニター] ページに戻り、 [ログ] を選びます。
- [スコープの選択] ページで、 [最近表示したもの] タブを使って、このラボで先ほど作成した一意のワークスペースを選択して、 [適用] を選択します。
-
クエリ ウィンドウで、次のクエリを実行し、結果のグラフを確認します。
// Virtual Machine available memory // Chart the VM's available memory over the last hour. InsightsMetrics | where TimeGenerated > ago(1h) | where Name == "AvailableMB" | project TimeGenerated, Name, Val | render timechart
- ツールバーの [クエリ] を選択し、 [クエリ] ウィンドウで [仮想マシン] ノードを展開し、 Track VM availability クエリを確認して実行し、結果を確認します。
-
[新しいクエリ 1] タブの [テーブル] ヘッダーを選択し、 [VM の Azure Monitor] セクションでテーブルの一覧を確認します。
注: いくつかのテーブルの名前は、このラボで以前にインストールしたソリューションに対応しています。 特に、InsightMetrics は、パフォーマンス メトリックを格納するために Azure VM Insights で使用されます。
-
VMComputer エントリの上にカーソルを置き、[プレビュー データの表示] アイコンを選択し、結果を確認します。
注: az801l09-vm0 と SEA-SVR2.contoso.com の両方のエントリがデータに含まれていることを確認してください。
注: 更新データが使用可能になる前に、数分待つ必要がある場合があります。
- SEA-SVR2 の Azure portal で、このラボの前半に作成した Log Analytics ワークスペースのページに移動します。
- ワークスペースのページから、その [ソリューション] ページに移動します。
- [ソリューション] ページから、[Service Map] ソリューションのページに移動します。
- [ServiceMap] ページの [マシン] タブで、[SEA-SVR2] を選択してサービス マップを表示します。
- 拡大して、SEA-SVR2 で使用可能なネットワーク ポートを示すマップを確認し、別のポートを選択してから、対応する接続情報を確認します。
- 各接続で、[概要] ビューと [プロパティ] ビューを切り替えます。後者には、接続ターゲットに関するより詳細な情報が表示されます。
演習 5: Azure 環境のプロビジョニング解除
この演習の主なタスクは次のとおりです。
- Cloud Shell で PowerShell セッションを開始する。
- ラボでプロビジョニングされたすべての Azure リソースを削除する。
タスク 1: Cloud Shell で PowerShell セッションを開始する
- SEA-SVR2 の Azure portal を表示している Microsoft Edge ウィンドウで、Cloud Shell アイコンを選んで Cloud Shell ウィンドウを開きます。
タスク 2: ラボでプロビジョニングされたすべての Azure リソースを削除する
-
Cloud Shell ウィンドウで次のコマンドを実行して、このラボで作成されたすべてのリソース グループの一覧を表示します。
Get-AzResourceGroup -Name 'AZ801-L09*'
注: 出力に、このラボで作成したリソース グループのみが含まれていることを確認してください。 これらのグループは、このタスクで削除されます。
-
次のコマンドを実行して、このラボで作成したすべてのリソース グループを削除します。
Get-AzResourceGroup -Name 'AZ801-L09*' | Remove-AzResourceGroup -Force -AsJob
注: このコマンドは非同期で実行されます (-AsJob パラメーターによって決定されます)。 そのため、同じ PowerShell セッション内ですぐに別の PowerShell コマンドを実行できるようになりますが、リソース グループが実際に削除されるまでに数分かかります。
確認
このラボでは、次のことを行いました。
- 監視環境を準備しました。
- オンプレミス サーバーの監視を構成しました。
- Azure VM の監視を構成しました。
- 監視サービスを評価しました。