ZABICOMの設定方法 - サーバー監視編
ヒステリシスな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: ツリー形式でのトリガー作成画面(クリックで拡大) |
条件式 |
---|
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: トリガー・アイテムの一覧画面(クリックで拡大) |
アイテム一覧画面を開くと、ログ形式のアイテムの左横に、以下の[メニュー]アイコンが表示されています。
このアイコンをクリックして[ログ用のトリガーを作成]リンクをクリックし、条件式欄にerrorと入力して[OR]ボタンをクリックします。続いてfailと入力して[OR]ボタンをクリック、プルダウンで[含める]を選択して[追加]ボタンをクリックします。これで「errorかfailを含むと障害」という条件になります。
次に、条件式欄に圧縮ファイル展開errorと入力して[AND]ボタンをクリックします。プルダウンから[含めない]を選択して[追加]ボタンをクリックします。これで「errorかfailを含むと障害、かつ圧縮ファイル展開errorが含まれていれば障害ではない」という条件式になります。保存ボタンをクリックします。
なお、条件式欄に文字列を入力して[AND]や[OR]のボタンをクリックする際、[iregexp]にチェックを付けていれば、アルファベットの大文字小文字を同一とみなして判定します。チェックを付けていなければ大文字小文字を区別して判定します。
図6: トリガー作成ウィザード画面(クリックで拡大) |