採用情報

お問い合わせ

BLOG

Zabbix テック・ラウンジ

2017 年 09 月 08 日

MIRACLE ZBXで独自に追加されている機能の紹介(イベントログフィルターの使い方)

本ドキュメントでは、MIRACLE ZBX で独自に追加して提供している、Windows イベントログフィルター機能の拡張された機能について解説します。

概要

本ドキュメントでは、MIRACLE ZBX で提供している、Windows イベントログフィルター機能の拡張された機能について解説します。

内容詳細

本機能では、正規表現メニューへの Windows イベントログ用のフィルター形式の追加、および、新規アイテムキー eventlog_ext[] の追加により、Agent 側で Windows イベントログを『イベントログ本文』、『深刻度』、『ソース』、『イベント ID』の複合条件によってフィルターすることを可能にします。
フィルターには、条件に合致するイベントログについて、『含める』、もしくは、『含めない』を指定する 2 種類のフィルターが存在し、それぞれ複数回フィルターを掛けることが可能です。
また、マクロを使用した障害通知をすることも可能です。

以下手順でフィルター作成と eventlog_ext[] アイテム作成を行うことにより監視が可能になります。

動作環境

本機能は MIRACLE ZBX Server 及び MIRACLE ZBX Agent の両方を以下のバージョンにすることによって利用可能です。

製品名 対応バージョン
MIRACLE ZBX 4.0 4.0.2-3 以降
MIRACLE ZBX 3.0 3.0.0-1 以降
MIRACLE ZBX 2.2 2.2.7-1 以降
MIRACLE ZBX 2.0 2.0.12-1 以降
MIRACLE ZBX 1.8 1.8.19-2 以降

MIRACLE ZBX Server および、本機能を利用する Agent 環境のみ該当バージョンへアップデートし、他の Agent 環境は古いバージョンを使用し続けることも可能です。

手順

1. Windows イベントログの正規表現フィルター設定

本機能拡張では、Windows イベントログのフィルター設定を記述する記法を正規表現メニューの機能へ追加しています。

1.1. 正規表現フィルターの作成

MIRACLE ZBX の Web インターフェイスから、メニュー [ 管理 ] - [ 一般設定 ] - [ 正規表現 ] を開き、『正規表現の作成』ボタンをクリックします。

ZBX 正規表現メニュー

1.2. 正規表現フィルターの設定

正規表現作成の画面において、以下項目を設定します。

正規表現フィルター設定項目
項目 説明
名前(必須項目) フィルターの名前を入力。
テスト文字列(必須項目) この画面では『結果』欄には常に真と表示されますが、必ずテスト文字列を入力する必要があります。
条件式
(必須項目)
条件式の形式
Windows イベントログ向けのフィルター作成時は、『対象のイベントログを指定する』、もしくは『除外するイベントログを指定する』を選択します。( その他の設定では期待される動作はしません。)
条件式 『イベントログ本文 , 深刻度 , ソース名 , イベント ID』( 区切り文字が『,』の場合 ) の形式でフィルターを記入します。『イベントログ本文』、『深刻度』、『ソース名』、『イベント ID』は正規表現として評価されます。
区切り文字 『条件式』における区切り文字として使用される文字を『,』、『#』、『/』から選択します。
大文字小文字を区別 条件式の『イベントログ本文 , 深刻度 , ソース名 , イベント ID』について、大文字小文字を区別して判定するか指定します。
設定例

以下設定例では、『全ての "Warning" 深刻度のイベントログを取得』し、そこから『ソース名 "Sophos Anti-Virus"、イベント ID "6" のイベントログを除外』し、さらに『イベントログ本文に " 通信に失敗しました " を含むイベントログを除外』しています。

ZBX 正規表現条件式

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[ イベントログタイプ ,@ フィルタ名 ,,maxlines,mode]
イベントログタイプ eventlog[] キー同様に、Application、System 、『アプリケーションとサービス ログ』のパスなどを指定可能。
入力必須。省略した場合は、アイテムのステータスが「取得不可」となります。
フィルタ名 前項で作成した正規表現メニューのフィルター名に『@』を付けて指定します。
『test_filter』という名で作成したフィルターは、『@test_filter』と指定します。
省略した場合は、フィルターされずに全てのログを取得します。
( 第 3 引数 ) 設定不要。以前のバージョンとの引数の互換性のため存在していますが、MIRACLE ZBX 3.0 ではどのような値を設定した場合も使用されず、挙動に影響はありません。
maxlines 既存の eventlog[] キーと同様に、1 秒間に処理するログ数の上限を指定します。
mode eventlog[] キー同様に、『all』(デフォルト)、『skip』を指定可能。『skip』指定時には、古いデータを読み込まず、監視アイテム設定時点以降のデータのみを読み込みます。


eventlog_ext[] 設定例

イベントログタイプ『Application』について『eventlog_test_a』という名の正規表現フィルターが適用されていることを確認してください。なお、設定する際に "@" を忘れないでください。

 アイテム(tl-011 用)

下図のように、フィルターされた Windows イベントログを取得することができます。

 イベントログ(tl-011 用)

マクロ

eventlog_ext[] はマクロを使用して障害通知を行うことが出来ます。

evetlog_ext[] で使用できるマクロ項目
項目 説明
{ITEM.LOG.AGE} ログアイテムイベントの経過時間
{ITEM.LOG.DATE} ログアイテムイベントの日付
{ITEM.LOG.EVENTID} イベントログ中のイベント ID
{ITEM.LOG.NSERVERITY} イベントログ中のイベントの数値型深刻度
{ITEM.LOG.SERVERITY} イベントログ中のイベントの言語型深刻度
{ITEM.LOG.SOURCE} イベントログ中のイベントのソース
{ITEM.LOG.TIME} ログアイテムイベントの時刻

 

マクロ設定例

トリガーの条件式に『{win2016:eventlog_ext[Application,@eventlog_test_a].strlen()}>1』を挿入します。

 トリガー(tl-011 用)

アクションの [ デフォルトのメッセージ ] に『SEVERITY: {ITEM.LOG.SEVERITY}』 と 『DATE: {ITEM.LOG.DATE}』を追加します。

 アクション(tl-011 用)

今回はメールにて確認したいためメールを飛ばすように設定します。
すると以下のような内容のメールを受け取ることができます。

 メッセージ(tl-011 用)

注意事項

  • 本ドキュメントの内容は、予告なしに変更される場合があります。
  • 本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
  • 本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、当社はその損害についての責任を負いません。あくまでお客さまのご判断にてご使用ください。

更新履歴

2017年9月8日 作成

CentOS 7 延長サポートサービス
デジタルトランスフォーメーションのための電子認証基盤 iTrust
SSL/TLS サーバー証明書 SureServer Prime