Windows イベントログフィルターの拡張された機能
概要
本ドキュメントでは、MIRACLE ZBX 3.0.0-1 以降の 3.0 系バージョン、2.2.7-1 以降の 2.2 系バージョン、2.0.12-1 以降の 2.0 系バージョン、および 1.8.19-2 以降の 1.8 系バージョンで提供されている、Windows イベントログフィルター機能の拡張された機能について解説します。
詳細
本機能では、正規表現メニューへの Windows イベントログ用のフィルター形式の追加、および、新規アイテムキー eventlog_ext[] の追加により、Agent 側で Windows イベントログを『イベントログ本文』、『深刻度』、『ソース』、『イベント ID』の複合条件によってフィルターすることを可能にします。
フィルターには、条件に合致するイベントログについて、『含める』、もしくは、『含めない』を指定する 2 種類のフィルターが存在し、それぞれ複数回フィルターを掛けることが可能です。
以下手順でフィルター作成とeventlog_ext[] アイテム作成を行うことにより監視が可能になります。
動作環境
本機能は MIRACLE ZBX Server、MIRACLE ZBX Agent の両方を MIRACLE ZBX 3.0.0-1 以降の 3.0 系バージョン、2.2.7-1 以降の 2.2 系バージョン、2.0.12-1 以降の 2.0 系バージョン、もしくは 1.8.19-2 以降の 1.8 系バージョンにすることによって利用可能です。MIRACLE ZBX Server および、本機能を利用する Agent 環境のみ該当バージョンへアップデートし、他の Agent 環境は古いバージョンを使用し続けることも可能です。
手順
1. Windows イベントログの正規表現フィルター設定
本機能拡張では、Windows イベントログのフィルター設定を記述する記法を正規表現メニューの機能へ追加しています。
正規表現メニューとは、Web インターフェイスのメニュー [管理] - [一般設定] - [正規表現] で表示されるメニューのことを指します。
1.1. 正規表現フィルターの作成
MIRACLE ZBX の Web インターフェイスから、メニュー [管理] - [一般設定] - [正規表現]を開き、『正規表現の作成』ボタンをクリック。
1.2. 正規表現フィルターの設定
正規表現作成の画面において、以下項目を設定する。
正規表現フィルター設定項目
項目 | 説明 | |
---|---|---|
名前(必須項目) | フィルターの名前を入力。 | |
テスト文字列 (必須項目) |
この画面では『結果』欄には常に真と表示されるが、必ずテスト文字列を入力する必要がある。 | |
条件式 (必須項目) |
条件式の形式 | Windows イベントログ向けのフィルター作成時は、『対象のイベントログを指定する』、もしくは『除外するイベントログを指定する』を選択する。 |
条件式 | 『イベントログ本文,深刻度,ソース名,イベント ID』(区切り文字が『,』の場合)の形式でフィルターを記入する。『イベントログ本文』、『深刻度』、『ソース名』、『イベント ID』は正規表現として評価される。 | |
区切り文字 | 『条件式』における区切り文字として使用される文字を『,』、『#』、『/』から選択する。 | |
大文字小文字を区別 | 条件式の『イベントログ本文,深刻度,ソース名,イベント ID』について、大文字小文字を区別して判定するか指定する。 |
設定例
以下設定例では、『全ての "Warning" 深刻度のイベントログを取得』し、そこから『ソース名 "Sophos Anti-Virus"、イベントID "6" のイベントログを除外』し、さらに『イベントログ本文に "通信に失敗しました" を含むイベントログを除外』している。
1.3. 『対象のイベントログを指定する』、『除外するイベントログを指定する』の動作について
設定保存時に条件式の形式でソートされ、必ず『対象のイベントログを指定する』、『除外するイベントログを指定する』の順に表示され、さらにそれぞれの形式内で文字列順でソートされる。
条件判定の処理は必ず『対象のイベントログを指定する』、『除外するイベントログを指定する』の順に上から下へ向かって行われる。
複数の『対象のイベントログを指定する』、および『除外するイベントログを指定する』の条件が存在する場合、最初に複数の『対象のイベントログを指定する』をOR条件で結合し、その結果から、複数の『除外するイベントログを指定する』をOR条件で結合した条件を除外する。以下ベン図にあるように、『対象のイベントログを指定する』合成したもの(青地)から、『除外するイベントログを指定する』を合成したもの(赤地)を除外している。
『対象のイベントログを指定する』条件A、B、C、『除外するイベントログを指定する』条件D、E、F = (A ∨ B ∨ C) ∧ ¬(D ∨ E ∨ F)
ベン図
2. evetlog_ext[] のアイテム設定
『eventlog_ext[]』のアイテム設定方法について記載する。
evetlog_ext[] アイテム設定項目
項目 | 説明 |
---|---|
キー | eventlog_ext[イベントログタイプ,@フィルタ名,Eventlog APIバージョン,maxlines,mode] |
イベントログタイプ | eventlog[]キー同様に、Application、System などを指定可能。 入力必須。省略した場合は、アイテムのステータスが「取得不可」となる。 なお、第 3 引数に『6』を指定した場合に限り、『アプリケーションとサービス ログ』のパスも指定可能となる。 |
フィルタ名 | 前項で作成した正規表現メニューのフィルター名に『@』を付けて指定する。 『test_filter』という名で作成したフィルターは、『@test_filter』と指定する。 省略した場合は、フィルターされずに全てのログが取得される。 |
Eventlog API バージョン (5 もしくは 6) | 『5』を指定した場合は既存のeventlog[]キーと同等の動作をする。 『6』を指定した場合は既存のeventlog6[]キーと同等の動作をする。 Windows2008 以降においては『6』を使用することが望ましい。 デフォルトは『5』。 |
maxlines | 既存のeventlog[]キーと同じように、1秒間に処理するログ数の上限を指定する。 |
mode | eventlog[]キー同様に、『all』(デフォルト)、『skip』を指定可能。『skip』指定時には、古いデータを読み込まず、監視アイテム設定時点以降のデータのみを読み込む。 |
eventlog_ext[]設定例
イベントログタイプ『Application』について『eventlog_test_a』という名の正規表現フィルターが適用されている
以上の設定により、フィルターされた Windows イベントログを収集可能になります。
更新履歴
2015年7月29日 更新