Azure VMからLog Analyticsへのログ転送状況監視をしてみた(Metric)

 

前回に引き続き、Azure Virtual MachineからLog Analyticsへのログ転送状況監視をAzure Monitorを使って実施してみました。

Azure MonitorでLog AnalyticsのメトリックHeartBeatという項目があります。これを利用して監視することで、Azure VMからLog Analyticsへ正常にログ転送が行えているか監視出来ます。

なお、Azure VMからLog Analyticsへの転送はAzure VMにインストールされたOMSエージェントで実施されます。この監視でエラーが発生した場合はOMSエージェントの再起動等が必要になります。

また、メトリック(Metric)を利用した方式だけではなく、Custom log searchで実施する方法もあります。下記記事も併せて参照頂ければと。

Azure VMからLog Analyticsへのログ転送状況監視をしてみた(Custom log search)

1.Azure Monitorを利用したOMSエージェントHeartBeat監視

Azure Monitorの機能を利用して実施します。

1) Azure Portal上でモニターのメニューにアクセスします。アラートで[+ 新しいアラート ルール] をクリックします。

2)アラートルールの作成でリソースの選択をクリックします。

3)リソースの選択で VMが接続されているLog Analyticsのワークスペースを選択します。選択したら完了をクリックします。

4)次に監視条件の設定を行います。条件の選択をクリックします。

5)シグナルロジックの構成画面が表示されます。シグナル名でHeartbeatを選択します。

6)シグナルロジックの構成画面が表示されます。下記画面の通り選択します。

    • ディメンション名:Computer
    • 演算子:= 
    • ディメンション値:現在および将来のすべての値。

*現在および将来のすべての値を選択する事で、ワークスペースに新規VMが接続された場合も監視が自動的に有効になります。

 “アラート ロジック” にて以下を設定します。

    • しきい値 : Static
    • 演算子 : 次の値より小さい
    • 集計の種類 : 合計
    • しきい値 : 1

これで、過去5分間に1度もHeartBeatが来てない場合にエラーとして検知が可能になります。

“評価基準” にて以下を設定します。

    • 集約粒度 (期間) : 5 分
    • 評価の頻度 : 5 分

7)アクショングループにて電子メールの送信を行うアクションを設定します。

なお、アクショングループの作成についていは、こちらの記事を参照頂ければと。

ARMテンプレートを使ってAzure Monitorのアクショングループをデプロイしてみた

8)アラート ルール名や重要度をを入力します。入力が終わったら作成をクリックします。

これでアラートルールの作成は完了です。

2.OMSエージェントHeartBeatエラー時のアラートメール

Azure VM側でOMSエージェントを停止し、5分経過すると以下のメールが来ます。

どのVMのOMSエージェントが停止したかは、Dimensionsに記載されます。

Suject:Azure: Activated Severity: 3  ”アラート名”

DimensionsResourceId = /subscriptions/XXXXXXXXXXXXX/resourceGroups/RG名/providers/Microsoft.OperationalInsights/workspaces/ワークスペース名-01Computer = ”VM名”

3.MetricとCustom log searchで設定した場合の違い

主な違いは以下のような感じになります。Log AnalyticsのHeartBeat監視の場合は、Metricを使った方が良さそうな感じです。

・メール送信タイミングが異なる

 Custom log searchを使用した場合は、回復するまでメールが送信され続けます。

 Metricを使用した場合は、発生時と回復時にのみメールが送信されます。

・コストは、Metricで設定した場合の方が安い。

※実際の環境に合わせて、設定はチューニングするようにして下さい。