ヒステリシスなCPUしきい値監視

ヒステリシスなCPUしきい値監視

ZABICOMの最も大きな特徴と言ってもよい、障害判定ロジックの多様な設定例を紹介します。この機能を使えば、運用現場で培ったシステム特性に合った障害判定ロジックを監視システムに蓄積することが可能となります。

ここでは、CPU使用率に対してトリガーを設定する方法を解説します。

一般的な障害監視システムの場合、「CPU使用率が80%以上」といった単一のしきい値で障害を判定します。しかし、実際にシステムに負荷がかかった場合、CPU使用率がしきい値付近で上下を繰り返し、障害通知が何度も発生することが少なくありません。

そこで、以下では、「しきい値の80%を超えた時点で障害を通知し、CPU使用率が60%を下回るまでは障害判定のままとする」ことで、不要な通知を抑制するトリガーを設定します。

第2回で解説した手順を参考に、ツリー形式でのトリガー作成画面を開きます。

はじめに、CPU使用率の最新値が80を超えた場合に障害とする条件式を作成します。続いて、[マクロの挿入]ボタンをクリックし、TRIGGER.VALUE#1をAND条件で結合します。

TRIGGER.VALUEは、判定を行う前のトリガーの状態を表します。TRIGGER.VALUE#1は「障害ではない時」という意味になります。

次に、CPU使用率の最新値が60を超えた場合に障害とする条件式を作成し、OR条件で結合します。続いて、[マクロの挿入]ボタンからTRIGGER.VALUE=1をAND条件で結合します。

図4: ツリー形式でのトリガー作成画面

図4: ツリー形式でのトリガー作成画面(クリックで拡大)
条件式
OR
┝AND
┃┝A {ホスト名:CPU使用率アイテムキー.last(0)}>80
┃┗B { TRIGGER.VALUE }#1
┗AND
┝C {ホスト名:CPU使用率アイテムキー.last(0)}>60
┗D { TRIGGER.VALUE }=1

【 A & B | C & D 】という条件式ツリーができたでしょうか。この条件式は、「障害以外の場合はCPU使用率のしきい値が80%、障害状態の場合はCPU使用率のしきい値が60%」という意味になります。

TRIGGER.VALUEの値は、

0正常
1障害
2不明

となりますので、それぞれ、以下の意味になります。

{ TRIGGER.VALUE }=0正常の場合
{ TRIGGER.VALUE }=1障害の場合
{ TRIGGER.VALUE }=2不明の場合
{ TRIGGER.VALUE }#0正常以外の場合
{ TRIGGER.VALUE }#1障害以外の場合
{ TRIGGER.VALUE }#2不明以外の場合

ログ・トリガーの設定

ログのメッセージの中にあるerrorやfailなどの文字列を検知するトリガーを設定することもできます。しかし、例えば、「ファイル・サーバーのログにあるerrorメッセージを検知したいが、ウイルス対策ソフトが圧縮ファイルをスキャンした際に出力する圧縮ファイル展開errorというメッセージは検知しないように除外したい」という場合もあります。

上記の例のように「"error"か"fail"を含むと障害だが、"圧縮ファイル展開error"が含まれていれば障害ではない」などの複雑な条件式を設定したい場合は、ログ用のトリガー作成支援機能として、専用のトリガー作成ウィザードを利用できます。

このウィザードを用いれば、条件式が視覚的に確認でき、ログ監視で起こりうる複数の文字列のそれぞれ「含む」、「含まない」の組み合わせを分かりやすく構成することが可能となります。

図5: トリガー・アイテムの一覧画面

図5: トリガー・アイテムの一覧画面(クリックで拡大)

アイテム一覧画面を開くと、ログ形式のアイテムの左横に、以下の[メニュー]アイコンが表示されています。

このアイコンをクリックして[ログ用のトリガーを作成]リンクをクリックし、条件式欄にerrorと入力して[OR]ボタンをクリックします。続いてfailと入力して[OR]ボタンをクリック、プルダウンで[含める]を選択して[追加]ボタンをクリックします。これで「errorかfailを含むと障害」という条件になります。

次に、条件式欄に圧縮ファイル展開errorと入力して[AND]ボタンをクリックします。プルダウンから[含めない]を選択して[追加]ボタンをクリックします。これで「errorかfailを含むと障害、かつ圧縮ファイル展開errorが含まれていれば障害ではない」という条件式になります。保存ボタンをクリックします。

なお、条件式欄に文字列を入力して[AND]や[OR]のボタンをクリックする際、[iregexp]にチェックを付けていれば、アルファベットの大文字小文字を同一とみなして判定します。チェックを付けていなければ大文字小文字を区別して判定します。

図6: トリガー作成ウィザード画面

図6: トリガー作成ウィザード画面(クリックで拡大)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30