作成したルールやモニターをフィルター処理を行うための式について

こんにちは、日本マイクロソフト System Center Support Team の久保です。
今回はSystem Center 2012 R2 Operations Manager (SCOM) での、イベント監視ルールやモニターのフィルター処理を行うための式について説明します。

イベント ログを監視するために作成するルールやモニターでは、どのような条件のイベント ログを検知するのかを設定するために、フィルター処理をする式を作成します。
この設定がわかりづらいとの声を頂くことがありますので、例を用いて、説明したいと思います。
例) ”ルール: イベントのレベルが警告で、イベントID: 100 または 101 のイベントを抽出する” を作成する

まずはじめに、間違いやすい例を説明します。

図1 のような設定をした場合について考えます。
図1 では、イベントID は「OR」で繋ぐからと考えた時に設定してしまいがちな構成です。

図1

ここで、図1 の[式の構造] を確認します。(図2)

図2

以下は、図2 の展開された式を書きだしたものです。

----------図2----------

( ( イベントのレベル 次の値と等しい 警告 ) AND ( ( イベント ID 次の値と等しい 100 ) OR 偽 ) AND ( ( イベント ID 次の値と等しい 101 ) OR 偽 ) )

-------------------------
”OR グループ” の配下に1 つしか式が存在しない場合には、「A or 偽」つまり「A」となってしまいます。
したがって、図2 の構造式は以下の式と同義になります。

-------------------------

( ( イベントのレベル 次の値と等しい 警告 ) AND ( イベント ID 次の値と等しい 100 ) AND ( イベント ID 次の値と等しい 101 ) )

-------------------------
これでは、全てが”AND” で繋がってしまいます。
そのため図1 の設定をしようとすると、図3 のように自動で切り替わって設定がされてしまいます。

図3

以下、図4 もよくある間違いの例です。

図4

図4 の設定の構造式は図5 となります。

図5

図5 文章に書きだしてみます。

----------図5----------

( ( イベントのレベル 次の値と等しい 警告 ) AND ( イベント ID 次の値と等しい 100 ) AND ( ( イベントのレベル 次の値と等しい 警告 ) OR ( イベント ID 次の値と等しい 101 ) ) )

-------------------------
この時、”AND グループ” として「イベントのレベルが警告」と「イベントID が 100」と「OR グループ」が繋がります。
これでは、例の条件とは一致しませんので、期待通りのフィルター条件が設定できていません。

では、イベント ログを監視する ”ルール: イベントのレベルが警告で、イベントID: 100 または 101 のイベントを抽出する” を作成するためには、どうしたらよいのでしょうか。
まずは構造式から考えてみます。

以下のような構造式となれば、作成したいルールの条件と一致します。

-------------------------

( ( イベントのレベル 次の値と等しい 警告 ) AND ( ( イベント ID 次の値と等しい 100 ) OR ( イベント ID 次の値と等しい 101 ) ) )

-------------------------

以下、図6 のように設定していただくことで、期待通りのフィルター条件を設定することができます。

図6

いかがでしょうか。
設定の仕方はわかりましたでしょうか。
このような式を作りたい! と思ったら、まずは構造式から考えるとわかりやすいと思います。
本記事が少しでも監視運用に役に立てば幸いです。