昨今、AIを活用した異常検出や予兆検知が話題になっています。そこで今回はCheckmkの予測グラフを使用して過去データに基づいた動的しきい値を算出・設定する方法をご紹介します。
はじめに
通常はパフォーマンスを監視する際、アラートをあげるためにしきい値を設定します。
しかし、1つの値を判定の基準値とすることが正確な監視とはならない場合があります。
例えば、LinuxサーバーのCPU負荷を監視しているサービスにしきい値を設定するとします。
ほとんどの時間がアイドル状態であるサーバーですが、
平日[月~金曜]深夜0時~朝6時まではバックアップジョブが定期実行されており
この指定した時間帯は20コアのCPU使用率が10であっても正常値であると判定し、
逆にこの時間帯以外では、負荷が低い値であっても異常と判定したい、とします。
平日のこの時間帯だけはCPUコアの使用率が高くても許容したい、その他の時間や土日曜日は少しでも怪しい動きがあると警告を出したい、といった場合はどちらかに合わせて1つの絶対的しきい値を設定するのが困難になります。
そのような場合に、Checkmkの予測グラフを使った予兆監視機能をおすすめします。
Checkmkの予測監視では、測定データの繰り返しが予想される周期(月、週、日、時間毎)を指定することにより過去にその周期で発生した平均値を算出し、その予測した平均値からの上限下限のしきい値を算出する、ということが可能です。
それでは詳しい設定方法をご紹介します。
設定方法
予測監視の設定は、サービスのしきい値を設定するルール内で設定できます。
該当するチェックがサポートしている場合は、「予測レベル」(CMCのみ)という選択肢を選ぶことができます。
※2024/4/23時点でサポートしているプラグインは公式ドキュメントのプラグインリストを参考にしてください。
以下のような例で、LinuxサーバーのCPU負荷の監視を設定していきます。
- <監視したいLinuxサーバーの特長>
- 平日[月~金]深夜0時~朝6時まではバックアップジョブが定期実行されるため、コアのCPU使用率が多少高くても正常値でよい
- この時間帯以外では、低い値であってもいつもと違う動きが検知されれば異常値と判断したい
まずは「CPU(使用率ではありません!)」(英:CPU load(not utilization!))というルールを設定していきます。セットアップメニューで「CPU」を検索し、図1の赤枠名をクリックします。(※英語の場合は順番が図1と異なる場合があります)
画面遷移後は、[ルールを追加]ボタンで設定画面を表示します。
▼値
- CPU loadのレベル:どのように監視するかを選択。「予測レベル(CMCのみ)」を選択
- 基づく予測:曜日ごとの動きを予測する必要があるため「曜日(1~7、1は月曜日)」を選択
- 期間:今回は「90日間」を指定 ※推奨
- 動的レベル- 上限:チェックを入れ、予測との絶対差を〇%超過に設定
- (動的レベル- 下限:こちらにもチェックを入れることで、下限値を設定できます。)
▼条件
条件欄にはこのルールを設定する対象のホストを必ず絞って指定してください。今回はCheckmkサーバー本体のみを指定して登録していきます。(Checkmk_central)
左上の保存ボタンで登録し、設定のアクティベートを行ってください。
モニターから監視画面を見ると、アイコンに図3赤枠のような時計のマークが追加され、このアイコンが予測監視の目印となります。
サービス名をクリックすると、いつも通りCPU負荷のグラフ、CPU負荷の15分間の予測平均を算出したグラフを確認することができますが、この時計のマークをクリックするとさらに過去データからの平均値の分析結果としきい値からなる予測グラフを確認することができます。
図3赤枠の時計ボタンをクリックし予測グラフを確認していきます。
図4の画面が予測グラフです。予測の範囲を1週間にしているため、曜日単位での予測が表示されます。プルダウンで曜日を変更します。
基準曲線が黒線、現在値が青線、OK 状態の範囲が白色、WARN 状態の範囲が黄色、CRIT 状態の範囲が赤色の背景色で表示されます。現在値が警告エリアに振れると、アラートが設定されていればアラートが発報されます。アラート発報のあとは、この予測グラフで詳細を確認し、この後は予測数値としてどうなっていくのか確認することができます。
以上で設定方法の説明は完了です。
算出は設定完了時点から始まるため、ルール設定完了日が火曜日の場合は火曜日の予測グラフからスタートします。そのため、全ての曜日の予測グラフが揃うには7日間待機する必要がありますのでご注意ください。
おわりに
いかがでしたでしょうか。絶対値でのしきい値では設定が難しいような状況には、Checkmkの予測グラフ機能に任せ、動的なしきい値設定による監視を試してみてください。
お問合せ
Checkmkにご興味のある方は、以下のリンクから弊社までお問い合わせください。
30日無償でご利用いただける評価版を以下ダウンロードリンクにご用意しております。簡単に検証が開始できますので、お気軽にお試しください。