Azure Monitor アラートルール 条件の設定について解説
アラートルールの条件の設定が結構難しい。
VMの死活監視を例に解説します。
特に「評価の頻度」「集計の粒度」と数字が出てくるところがややこしいので、そこを解説します。
Azure MonitorでVMを監視する基本的な考え方
・VMで正しく設定をすると、VMは起動している限り、LogAnalyticsに1分に一度heartbeatlogを送信します。
・Azure Monitorでは、定期的にheartbeatlogの有無をLogAnalyticsに確認して、heartbeatlogが検出されなければ、異常と判断して、アラートを発出します。
評価の頻度
どれくらいの間隔で、AzureMonitorがheartbeatlogの有無をLogAnalyticsに確認するか
例えば5分と設定した場合、5分に一度、heartbeatlogの有無をLogAnalyticsに確認します。
集計の粒度
評価の頻度に基づいて、AzureMonitorがheartbeatlogの有無をLogAnalyticsに確認する際、どれだけ過去の時間のログを確認するか
例)「Loganalyticsのheartbeatログ(1分間に1度記録されている)
たとえば「集計の粒度=5分」に設定していて、16時48分00秒に評価の頻度に基づいて、AzureMonitorがheartbeatlogの有無をLogAnalyticsに確認した場合、以下の赤枠(LogAnlyticsのログ表示結果)のうちの16時43分00秒~16時48分00秒(集計の粒度=5分)において、heartbeatlogの有無を確認します。
「評価の頻度」と「集計の粒度」の関係
評価の頻度によって、評価のタイミングが決まり、その評価のタイミングから集計の粒度の時間分だけ遡って、loganalyticsのログが確認されます。
そのため、基本的には、「評価の頻度」と「集計の粒度」は同じ時間に合わせるのがよいと思います。
たとえば、「評価の頻度5分」、「集計の粒度10分」としたとしても(一応設定はできる)が、これが有用であるケースが思い浮かばない。。。(重複してログを確認することになるだけな気がする。。。)
補足
今回は時間に関するパラメータに焦点を当てて「評価の頻度」「集計の粒度」について説明しました。
しかし実際の設定は
「〇分間隔(評価の頻度)で、過去▲分間(集計の粒度)のログをチェックして、ログの状態が■の場合に、アラートを発出する」と設定します。
今回の説明は、■部分は、「heartbeatlogの有無」とざっくりにしましたが、実際には、「heartbeatlogが2つ以下だった場合」などログの状態についても細かな設定が可能になります。
詳細設定オプション(違反数、評価期間)
これはよりアラート設定がややこしくなるので、なるべく手を出さない方がよいと思います。
一応簡単に触れておきます。
本ページで説明した例ですと単純に
「5分間隔(評価の頻度)で、heartbeatlogの有無を確認して、過去5分間(集計の粒度)にheartbeatlogがなければアラートを発出する」という単純なことしか実現できません。
ただ、例えば要件で「5分間隔(評価の頻度)で、heartbeatlogの有無を確認して、過去5分間(集計の粒度)にheartbeatlogがなければ違反1とする。20分間の間に違反3になったらアラートを発出する」というようなものがあったとします。
この場合、「違反数、評価期間」を設定すれば実現できます。
上記例ですと
違反数=3
評価期間=20分
という設定になります。
ただ、こんなややこしい要件があるのか?と疑問があるので、基本的には、「違反数、評価期間」は使わなくてよいと思います。
ディスカッション
コメント一覧
まだ、コメントがありません