Yoshi's Software Factory

操作手順

EventRedirectorのオペレーションについて説明します。

動作設定

EventRedirectorの設定は,コントロールパネルから行います。 コントロールパネルを開き,EventRedirectorアイコンをダブルクリックして 下さい。

コントロールパネルの表示モードが「カテゴリ表示」になっていると アイコンが表示されません。「クラシック表示」に変更して下さい。

設定情報について

設定を始める前に,EventRedirectorのデータ構造について説明します。 EventRedirectorの動作定義は,次の2つの要素で構成されています。

ログファイル監視定義
監視対象とするログファイルの特定を行います。主要な定義項目は次の2つです。
  • 監視対象となるログファイルの配置されるディレクトリのパスを指定します。
  • 監視対象ログファイル名を指定します。ファイル名には,コマンドプロンプトで指定 可能なものと同等のワイルドカード表記が使用できます。この場合,指定された名称に マッチするすべてのファイル(新規作成されたものを含む)が監視対象になります。
イベントログ定義
ログファイルに書き込まれたログ内容を転記するイベントログに関する設定を 行います。ログ行を抽出するためのパターン文字列(正規表現による設定も可能)と, 書き込み先イベントログ(名称と種別)を設定します。

ひとつのログファイル監視定義に対して,複数のイベントログ定義を設定することが できます。例えばログファイルのエラー行はエラーイベントとして,それ以外は情報イベ ントとしてイベントログに転記するような設定が可能です。

監視情報の設定

EventRedirectorによる監視設定について説明します。 以下の例では,Apache 2.2 のログファイルの監視とイベントログ記録を行うものと しています。

サービスの設定

前述の手順でコントロールパネルを起動すると,次のような入力ダイアログが 表示されます。

このフォームでは,サービスプログラムの起動・停止操作など,Windowsの 「サービス」管理ツールと同等な操作が可能です。

サービスの状態 EventRedirectorサービスの現在の実行状態を「起動中」「停止中」など表示 します。
「開始」「停止」「一時停止」「再開」 サービスの実行状態を変更するボタンです。
スタートアップ サービスのスタートアップ設定を変更します。
インストール時は“手動”が設定されています。

ログファイル監視定義

「ログ追加」ボタンを押下すると,新しいログファイル監視定義が作成され, 入力画面が変更されます。

このフォームでは次のような設定ができます。

名称 定義の名称。内容は任意です。
説明 定義に関する説明文で,こちらも内容は任意です。
監視対象ディレクトリ ログファイル監視を行うディレクトリを設定します。 「選択...」ボタンでディレクトリ選択ダイアログによる設定が可能です。
監視ログファイル名 監視対象とするログファイル名を指定します。
ファイル名には,コマンドプロンプト相当のワイルドカード設定(*.logなど)が 可能です。ワイルドカード指定された場合,対応する既存ログファイルだけで なく,新規作成されるファイルも監視対象となります。
ファイルの定周期監視を行う EventRedirectorでは,ログファイル監視をWindowsのファイル変更通知 イベントを使用して行っています。この処理はシステムへの負荷の面では有利ですが, 一部のログファイル(例えば Apache の error.log ログ)については,ログを記録する アプリケーションがログ記入毎にファイルのクローズを行っていないなどの理由で, このイベントでは変更を検出できない場合があります。
そのようなログファイルについては,ここで指定された周期毎にファイルサイズを監視 し,変更を検出する処理を行います。この処理はチェックボックスがONの場合のみ実行 されます。
周期を短くすると,ログファイル記入の検出タイミングはよりリアルタイムに近づきま すが,システムの負荷が増大します。通常は最低でも60秒程度を推奨します。

追加されたログファイル定義を変更し,次のように設定して下さい。

  1. 名称を「apache 2.2 log」とします。
  2. 説明を適当に入力して下さい。内容は任意です。
  3. 監視対象ディレクトリ入力欄の右「選択」ボタンを押下し,ファイル選択 ダイアログでログディレクトリを選択します。
    規定値であれば,次のディレクトリがログディレクトリになっています。
    C:\Program Files\Apache Software Foundation\Apache2.2\logs
  4. 監視ログファイル名は「error.log」とします。
  5. 「ファイルの定周期監視を行う」をチェックし,周期を60秒とします。

イベントログ定義

次にイベントログ定義を行います。私のインストールした Apache(日本語版でない もの)では,ログの内容は次のようなフォーマットになっています。

[Sat Aug 04 10:47:01 2007] [notice] Apache/2.2.4 (Win32) configured -- resuming normal operations
[Sat Aug 04 10:47:01 2007] [notice] Server built: Jan  9 2007 23:17:20
[Sat Aug 04 10:47:01 2007] [notice] Parent: Created child process 916
[Sat Aug 04 10:47:02 2007] [notice] Child 916: Child process is running
[Sat Aug 04 10:47:02 2007] [notice] Child 916: Acquired the start mutex.
[Sat Aug 04 10:47:02 2007] [notice] Child 916: Starting 250 worker threads.
[Sat Aug 04 10:47:02 2007] [notice] Child 916: Starting thread to listen on port 80.
[Sat Aug 04 10:47:56 2007] [error] [client 127.0.0.1] File does not exist: xxxxx/A.html
[Sat Aug 04 10:47:56 2007] [error] [client 127.0.0.1] File does not exist: xxxxx/B.html
[Sat Aug 04 10:48:01 2007] [error] [client 127.0.0.1] File does not exist: xxxxx/C.html

ここでは[notice]行と[error]行を,それぞれ "Apache 2.2"イベントログの「情報」「エラー」 として記録することにします。

「イベントログへの記録定義」リストボックス横の「新規」ボタン押下により,イベントログ定義 が新規作成され,編集画面が開きます。

名称 定義の名称。内容は任意です。
検出するログ文字列パターン ログファイルから抽出する文字列のパターンを定義します。
ログファイルは行単位に走査され,ここで指定したパターンを含む場合のみ, 以降に指定されたイベントログに転記されます。
「正規表現を使用する」をチェックした場合は,指定文字列は正規表現を含む ものとして解釈されます。
イベントログ名 ログファイルの内容を転記するイベントログ名を指定します。
リストボックスからは,現在生成されているイベントログを選択できます。 コンボボックスで直接入力した場合は,それをカスタムログ名と解釈して ログ記録時に新規作成します。

次のように入力して下さい。

  1. 名称を「error」とします。
  2. 抽出するログ文字列パターンに,「[error]」を設定して下さい。 正規表現は使用しませんので,チェックボックスはOFFのままです。
  3. イベントログ名称は「Apache 2.2」とします。リストにはありませんので,直接 入力して下さい。ログ種別ボタンは「エラー」を選択します。

同様にして,情報に関する定義も設定します。 入力が終わりましたら「OK」を押下して,入力結果を保存して下さい。

サービス起動

設定が終了したら,サービスを起動します。 ダイアログ左の機能ツリーの最上位ノード“EventRedirector”を選択すると, 前述の「サービスの設定」フォームが表示されるので,「起動」を押下します。 なお,サービス起動中に設定を変更した場合,変更内容は再起動後に有効となり ます。

アプリケーション(ここではApache)がログを記録すると,監視定義に従って 内容がイベントログに転記されます。