Azure Monitorでアクティビティログを使った監視設定(仮想マシンの起動・停止を検知)

2022-02-14Azure,Monitor,Virtual Machines

Azureのリソース操作は、アクティビティログ(Azure Monitor Activity Log)に記録されます。
仮想マシン(Azure VM)の起動・停止についても、アクティビティログに出力・記録されます。

Azure アクティビティ ログ

アクティビティログはAzure Monitorを使って監視できます。
今回は、仮想マシンの起動・停止時のアクティビティログ確認、Azure Monitorでのアラートルール作成手順、アラート通知内容までを確認します。

※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※本記事では、Azure Monitor Activity Logをアクテビティログとして表記しています。
※本記事では、シグナルの種類でアクテビティログを指定した場合の監視手順を紹介しています。

スポンサーリンク

仮想マシンを起動・停止した場合のアクティビティ ログを確認

アクティビティ ログとは何?

公式サイトには「サブスクリプション レベルのイベントに関する分析情報を提供するプラットフォーム ログです」と記述があります。

Azure Monitor アクティビティ ログ データを送信する

一言でいうと、Azureプラットフォームで発生したことが出力される管理ログです。
Azureプラットフォームでリソース作成などの操作を行った場合の操作ログや、プラットフォームで発生した障害などによりリソースの正常性に影響があった場合のログが出力されます。
アクティビティログは、診断設定を使ってLog Analyticsワークスペースやストレージアカウントなどの別リソースへ転送できます。
別リソースへ転送する事で、長期間のログ保管やKQLクエリを利用した検索が可能になります。

アクテビティログの診断設定手順や、Log Analyticsワークスペースでの検索方法についてはこちらで紹介しています。

仮想マシン起動・停止時のアクティビティログ

仮想マシンを起動・停止した場合のアクティビティログを確認します。
アクティビティログは、Azure Monitorや各リソースにあるクティビティログのメニューから確認できます。

仮想マシン起動・停止時のアクティビティログ

仮想マシン起動時(開始)は、"Start Virtual Machine"のログが出力されます。
仮想マシン停止時(割り当て解除)は、"Deallocate Virtual Machine"のログが出力されます。
正常に起動した場合には、成功のログが出力され、開始や許可のログも併せて出力されます。

Azure VMを起動停止した時のアクティビティログをAzure Portalで表示

仮想マシン起動・停止に関する電源状態(ステータス)についてはこちらの記事で紹介しています。

—広告—

Azure Monitorで仮想マシン起動・停止を監視するアラートルールを作成

今回は、シグナルの種類でアクテビティログを指定していますが、収集したログを利用してアラートルールを作成する事もできます。
アラートルールの作成手順についてはこちらで紹介しています。

Azure Monitorで設定できるアクティビティログ監視項目

仮想マシンなどのリソースでは、アクティビティログのシグナルが定義されています。
シグナルの種類としてアクティビティログを選択し、設定できる監視内容を確認します。
仮想マシンの操作や動作に応じたシグナルが、多く準備されていることが分かります。

アラートルール画面(シグナルの選択)
Azure Monitorで仮想マシンのアクティビティログに関するシグナル一覧を表示

仮想マシンの起動を検知するアラートルールを作成

Azure Monitorで仮想マシンの起動(開始)を検知するアラートルールを作成します。
今回は、仮想マシンのメニューから設定します

アラートルール作成
仮想マシンのメニューで警告を選択します。
作成でアラートルール作成を選択します。
アラートルールの作成を開始する(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

See all signalsを選択して、シグナルの選択画面を表示します。
“仮想マシンの起動(仮想マシン)"を選択します。
適用を選択し、次へ進みます。

※仮想マシンのメニューから作成した場合、自動的にスコープ設定されます。スコープには(設定を開始した)仮想マシンが選択されています。

アクティビティログのシグナルを選択する(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

条件の設定画面です。
デフォルトではイベントのレベルや状態はすべて選択されています。
検知したいイベントレベルや状態を選択します。
今回はそのまま進めます。

※状態をすべて選択した場合3回のアラート通知されます。これはStarted,Accepted,Successedの3回検知されるためです。

 

 

条件を設定する(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)
アクティビティログのイベントレベル(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)
アクティビティログの状態の種類(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

アクショングループの設定です。
アクショングループを選択します。
今回は事前に作成していたアラートルール(メール送信用)を選択しています。
次へ進めます。

 

 

アクショングループを選択(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)
アクショングループを選択完了時の画面(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

詳細設定です。
アラートルール名を設定します。

※アラートルール名はメール送信時のSubjectになります。
※アラートルール名は作成後に変更できません。

詳細でアラートルール名を設定(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

確認画面です。
アラートルールの設定内容を確認します。
アラートルールを作成します。

アラートルール確認画面(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

アクショングループの作成手順についてはこちらで紹介しています。
今回利用したアクショングループについてもこちらの記事で紹介したものを使用しています。

作成したアラートルールを確認

作成した、仮想マシンの起動(開始)を検知するアラートルールを確認します。

仮想マシン起動時のアラートルール
左側のメニューで警告を選択します。
アラートルールを選択します。
仮想マシン起動時のアラートルールを確認できます。
仮想マシンに設定されているアラートルールを確認(Azure Monitorで仮想マシンを起動した時に検知するアラートルール)
作成したアラートルールを表示(Azure Monitorで仮想マシンを起動した時に検知するアラートルール)

仮想マシン起動してアラート検知を確認

仮想マシンを起動し、作成したアラートが発動するか確認します。
警告にアラートが3件表示されていることが確認できます。
これは、仮想マシン起動時に、OperationNameが “Microsoft.Compute/virtualMachines/start/action" であるアクティビティログが3件出力されるためです。

仮想マシン起動時のアラート
仮想マシン起動時のアラートが3件発生している事が分かります。 発生したアラートを確認(Azure Monitorで仮想マシンを起動した時に検知するアラートルール)

アラートメールを確認します。
Subjectにアラートルール名が表示されています。
アクティビティログの内容も、アラート通知で確認できます。
Statusの項目を確認すると3通それぞれの内容が異なる事が確認できます。
それぞれStatusが"Started"、"Accepted"、"Suceeded"となっています。

アラート通知メールを確認(Azure Monitorで仮想マシンを起動した時に検知するアラートルール)
アラート通知メールのStatusを確認(Azure Monitorで仮想マシンを起動した時に検知するアラートルール)
アラート通知メールのStatusを確認(Azure Monitorで仮想マシンを起動した時に検知するアラートルール)

アラート通知メールのStatusを確認(Azure Monitorで仮想マシンを起動した時に検知するアラートルール)

仮想マシンの停止(割り当て解除)を検知するアラートルールを作成して確認

起動(開始)時と同様に、仮想マシンの停止(割り当て解除)時も検知できます。
アラートルールの作成手順も、起動(開始)時と同様です。
シグナルの選択で"仮想マシンの割り当て解除(仮想マシン)"を選択します。

仮想マシン停止(割り当て解除)時のアラートルール作成と確認
シグナルの選択画面で"仮想マシンの割り当て解除(仮想マシン)"を選択します。
起動時と同様の手順で、アラートルールを作成します。

アラートルール作成時に仮想マシンを割り当て解除のシグナルを選択(Azure Monitorで仮想マシンを停止(割り当て解除)した時に検知するアラートルール)
アラートルール作成時の確認画面(Azure Monitorで仮想マシンを停止(割り当て解除)した時に検知するアラートルール)
仮想マシンを停止(割り当て解除)します。
起動(開始)時と同様に、アラート検知を確認できます。
仮想マシン割り当て解除時のアラート通知
仮想マシン割り当て解除時のアラート通知メール
仮想マシン割り当て解除時のアラート通知メールのStatusやOperartionName

アラートルールをサブスクリプションやリソースグループ単位で適用

仮想マシンのメニューからアラートルールを作成した場合、スコープ(適用範囲)は対象の仮想マシンのみになります。
この方法でも良いのですが、仮想マシンごとにアラートルールを作成する必要があります。
サブスクリプションやリソースグループ内の仮想マシンを対象にアラートルールを作成した場合、仮想マシン追加時に都度アラートルールを作成する必要がありません。
この場合、スコープ(適用範囲)には、アラートルールを適用したいサブスクリプションまたはリソースグループを指定します。

※"リソースタイプにVirtual Machines"や"仮想マシン”と表記される項目が複数表示されますが、スコープに指定するのは"Microsoft.Compute/virtualMachines"と表記されている項目です。

アラートルールのスコープ選択

アラートルール設定画面を表示します。
スコープのタブを表示します。
リソースの種類は、"Virtual Machines"を選択します。
サブスクリプションやリソースグループを選択し適用します。

 

スコープを設定変更(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)
スコープにリソースグループを指定(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

シグナルはスコープに個別の仮想マシンを指定した時と同様に選択します。

シグナルを選択(Azure Monitorで仮想マシンを起動した時に検知するアラートルールを作成)

仮想マシンを起動して、アラートを発生させます。
同様に、アラートの受信を確認できます。

 

仮想マシン起動アラートの発生を確認(リソースグループ指定時)

※発生したアラートを識別するため、アラートルール名をVM起動時のアラート(サブスクリプション設定)としています。

仮想マシン作成時のアクティビティログや監視設定についてはこちらで紹介しています。

—広告—

最後に

仮想マシンの起動・停止時のアクティビティログ確認から、Azure Monitorを使ったアクティビティログの監視設定までを確認してみました。
標準で多くのアクティビティログのシグナルが準備されており、とても簡単に設定できることが分かりました。
仮想マシンだけでなく、他のリソースでも同様にアクティビティログを使って監視ができます。

引き続き、色々試してみたいと思います。

スポンサーリンク