Log AnalyticsのHeartbeatメトリックを使ったAzure VMの接続状況監視

2019-08-21Azure,Log Analytics,Monitor,Virtual Machine

Log Analyticsワークスペースと仮想マシン(Azure VM)接続状況を監視する手順纏めです。
Log AnalyticsワークスペースのHeartbeatのメトリックを使って監視します。
監視にはAzure Monitorを使っています。

    • Heartbeatのメトリック使ったアラートルール作成
    • アラート通知内容確認

Log Analyticsワークスペースとの接続状況はAzure Monitorのカスタムログ検索を使う方法とメトリックを使う方法があります。
今回はメトリックを使う手順を纏めています。
Heartbeatのログについてやカスタムログ検索での監視についてはこちらに纏めています。

※今回はAzure上の仮想マシンを対象に纏めています。
※Log AnalyticsはAzure Monitorログと名前が変わっています。Azure Portal上ではLog Analyticsワークスペースと表記されている為本記事ではLog Analyticsのままとしています。

スポンサーリンク

Log AnalyticsワークスペースのHeartbeatメトリックを監視

Heartbeatのメトリックがある

Log AnalyticsワークスペースにはHeartbeatのメトリックがあります。

メトリック アラート ルール

仮想マシン(Azure VM)はLog Analyticsワークスペースへ1分間に1度このメトリックを送信します。
このメトリックを利用する事でLog Analyticsワークスペースと仮想マシン(Azure VM)の接続状況を監視する事が出来ます。

アラートルール設定値

Heartbeatのメトリックを利用してAzure Monitorのアラートルールを作成します。
Heartbeatを5分間受信しなかった場合にアラートとします。
監視間隔は1分としています。

タブ名 項目名 設定値
スコープ リソース Log Analytics ワークスペース
(log-test-01)
条件 シグナル名 Heartbeat
(プラットフォーム メトリック)
アラート ロジック しきい値:Static
集計の種類:合計
演算子:合計
単位:カウント
しきい値:0
ディメンションで分割する Computer
(今後のすべての値を含める)
評価するタイミング

確認する間隔:5分
ルックバック期間:5分
評価の頻度:1分

アクション アクショングループ名 ag-mail-01
(メール送信用)
詳細 重大度(重要度) 1 – エラー
アラート ルール名 Azure Monitor Agent HeartBeat Error(metric)
アラートを自動的に解決する チェック

※設定時は重大度と表示されますが、設定後は重要度と表示されます。
※監視間隔は要件に応じて変更します。今回は検証目的なので短めの設定としています。

Azure Monitorでアラートルール作成

アラートルールを作成します。

アラートルール作成手順
左側のメニューでアラートを選択します。
作成のアラートルールを選択します。

スコープはLog Analyticsワークスペースを指定します。

条件設定です。
シグナルはHeartbeat(プラットフォームメトリック)を選択します。

アラートロジックは監視の条件を設定します。
今回はカウントの合計値が0になった場合にアラートとするようにしています。

ディメンションはアラートロジックの適用単位です。
Computer単位としています。

評価するタイミングは監視間隔や対象の期間です。
ルックバック期間は評価の期間を示します。
確認する間隔は監視間隔に該当します。
今回は1分としています。

アクショングループではアラート通知方法を設定します。
事前に作成しておいたメール送信用のアクショングループを選択します。

アクション グループ

詳細ではアラートルール名や重大度を設定します。
確認および作成に進みアラートルールを作成します。

 

確認画面です。
設定値を確認します。
作成を選択します。

デプロイが完了するとアラートルールに表示されます。

–広告—

仮想マシン(Azure VM)を起動停止してアラートを確認

仮想マシン(Azure VM)のtest-vm-01、02を起動停止してアラート。

アラートを発生させる

仮想マシン(Azure VM)を停止してアラートを発生させます。

    • 実施した操作
      • test-vm-01を停止
      • test-vm-02を停止
アラートを確認

仮想マシン(Azure VM)停止後にアラート検知している事が確認出来ます。
Computer単位(test-vm-01,02)で検知しているため2件アラートが発生しています。

発生したアラートを選択するとアラートの詳細が表示されます。
Heartbeat(メトリック)の推移も確認出来ます。
ディメンションに設定したComputer名も確認出来ます。

履歴のタブではアラートの発生やアクションで設定したアクショングループの実行状況が確認出来ます。

受信したアラートメールを確認

受信したアラートメールの内容を確認します。
test-vm-01のエラーの場合です。

アラートメール

受信したアラートメールです。
MetricやDimensionsの値が確認出来ます。
Metricの値からHeartbeatである事が確認出来ます。
Dimensionsの値を見ると対象のComputer名が分かります。
いつから停止してるかはリンク先の情報を確認する必要があります。

See in the Azure Portalのリンクを選択するとアラート詳細画面が表示されます。

※リソースID(Resource ID)はLog AnalyticsワークスペースのリソースIDとなります。対象のComputerはDimensionsでの確認になります。

※アクショングループの共通アラート スキーマは無効にしています。有効にした場合にはアラートメールの表示内容が異なります。

アラートの回復を確認

仮想マシン(Azure VM)を起動してLog Analyticsワークスペースとの接続を回復させます。

    • 実施した操作
      • test-vm-01を起動
      • test-vm-02を起動

アラートの条件をすべてとし解決済みのアラートも表示するようにします。

アラートを確認

アラートを確認すると解決済みとなっています。

アラートを選択してアラートの詳細を確認します。
アラートの条件が解決済みとなっています。
Heartbeat(メトリック)の推移すると回復している事が確認出来ます。

履歴タブにもアラートが解決されましたというログが記録されています。
アラート解決時にもアクションが実行された事も確認出来ます。

アラートメールはresolvedとなります。

回復時のアクションの違いについて

カスタムログ検索で設定した場合とメトリックで設定した場合では障害発生中や回復時のアラート通知に違いがあります。

  カスタムログ検索 メトリック
発生時 アラート通知される アラート通知される
継続中 アラート通知がしばらく継続
(集計の粒度で指定した期間)
アラート通知されない
回復時 アラート通知が停止
(アラートの条件は起動済み)
回復の通知がされる
(アラートの条件が解決済み)

—広告—

最後に

Log AnalyticsワークスペースのHeartbeatメトリックを使って仮想マシン(Azure VM)の接続状況監視設定してみました。
アラート発生時や回復時にアラート通知出来ました。
仮想マシン(Azure VM)の死活監視としても適用できそうです。
引き続き色々試してみたいと思います。

Azure Monitor エージェントを利用してWindows ServerのイベントログをLog Analyticsワークスペース収集して監視する方法についてはこちらに纏めています。

スポンサーリンク