みち草

Azure中心にまとめる技術情報ブログ

Azure Log Analyticsで仮想マシンの死活監視!

はじめに

今回は、Azure Log AnalyticsとAzure Monitorを用いて、 Azure仮想マシンが停止した際にメール通知を行う、死活監視の仕組みについて実装方法を紹介します。

これは、去年にLog Analyticsで収集するメトリックにハートビートが追加されたことにより可能となりました

対象仮想マシン以外には、Log AnalyticsだけあればOKです。 あまり細かいことまではできませんが、設定自体はすぐにできます。

早速、進めていきます。

目次

Log Analyticsと仮想マシンの接続

まずは、仮想マシンのメトリックを収集するため、Log Analyticsワークスペースと仮想マシンを接続します。OS種別に関わらず、操作は同じです。

使用するLog Analyticsを開き、「ワークスペースのデータソース」から「仮想マシン」を選択します。

「接続」をクリックします。

数分待ち、下の画面になれば接続完了です。

「仮想マシン」画面でも、このワークスペースに接続されていることが確認できます。

仮想マシン側の準備はこれでOKです。

アラートの設定

続いてAzure Monitorにて、仮想マシンがダウンした際に特定のメールアドレスへ通知するよう設定します。

Azure Monitorの「アラート」から、「新しいアラートルール」をクリックします。

具体的なルールを作成していきます。「選択」をクリックします。

「リソースの種類でフィルター」欄にて「Log Analyticsワークスペース」を選択し、 仮想マシンを接続したワークスペースを選んで完了をクリックします。

アラート発砲の条件を指定します。「追加」をクリックします。

「Heartbeat」をクリックします。

条件指定の画面が表示されます。 指定したLog Analyticsワークスペースに接続したすべての仮想マシンのハートビートの合計数がグラフとして表示されています。

指定の仮想マシンだけに絞るため、「Computer」ディメンションのプルダウンから、 対象仮想マシンにチェックを入れます。すると対象マシンのハートビートのみがグラフに集計されます。

「アラートロジック」にてアラート発砲の条件を指定します。

ハートビートは仮想マシンが止まれば0になるので、「ハートビートの合計値が0以下」という条件にします。

一番下の評価基準は、対象のメトリックを評価する頻度、評価する際のデータの集計範囲を指定します。例として、集約粒度5分、評価の頻度5分ごとの場合は、5分毎に、直近5分のハートビート(ハートビートは1分毎に記録)を集計する、という意味になります。

これを使うことで、30分毎に直近15分のメトリックを評価したり、1時間ごとに24時間分のメトリックを評価したりと、いろいろできます。今回は1分毎に直近5分とし完了します。

アクションの追加をクリックします。ここでは、電話番号へのプッシュ通知やメールアドレスへのメール通知を複数まとめてアクショングループとして指定します。 既にアクショングループを作成済みの場合は選択が可能です。

ここではアクショングループの作成をクリックします。

アクショングループの名前、アクション名、アクションタイプを指定します。するとアクションタイプに応じた設定用画面が開くため、要望に応じた通知設定を行います。

アクションタイプにはメール/SMS/プッシュ通知/音声、Azure Functino、ロジックアプリなどあるため、通知の種類としてもいくつかありますが、このアラートをトリガーとして他のサービスと連携することが可能です。

アクショングループの作成が完了したら、アラートの名前と説明を指定しアラートルールを作成します。

アラートの管理画面にて、作成したアラートが有効になれば設定完了です。

アラートのテスト

では、設定したアラートのテストをします。設定したマシンを停止してみます。

停止すると、こんな感じのメールが来ました。5分以内くらいで届きます。

Azure Monitor側でも、作成したアラートがあがっていることを確認できます。

マシンを起動し、アラート条件が満たされなくなれば、アラートは解除され「Resolved」のメール通知が届きます。

おわりに

LogAnalyticsを用いて仮想マシンの停止アラートを発砲し、単純ではありますが、仮想マシンの死活監視の仕組みを構成できました。

今回はハートビートのメトリックを用いましたが、その他のメトリックを用いてCPUやメモリの使用率などからアラートを上げることも可能です。 Azure Monitorは対象メトリックや集計方法、アクションタイプを変えることで様々な使い方ができるため、いろいろ試してみてください。