ログ管理
syslogとその周辺 Logstorage
back top next
■ログを XML に変換

ログ受信機能では、ログフォーマット管理機能で定義されている情報を元にして、テキスト形式で送られて来るログをXML形式に変換します。

この定義情報はシェル風の正規表現でわかりやすく定義されており、ユーザ側でも自由に追加や削除が可能です。

例えば次のようなログを 192.168.254.111 から受信したとします。

PAM_pwdb[27843]: (su) session opened for user root by logst(uid=1004)

まず基本情報として、表2 の情報を取り出します。ログの本文以外の、周辺に関する情報になります。

  表2     ログの基本情報
XMLタグ 概要
timestamp 1019453468044 epoch からの経過秒数 (ミリ秒)
host 192.168.254.111 ログ発生ホスト
pid 27843 プロセスID (もしあれば)
facility user ログの種類
priority notice ログの注目度
application PAM_pwdb syslog の TAG (アプリケーション)
message MESSAGE全文 受信したログメッセージ

次に、この message を解析し、意味のあるデータを 表3 のように取り出します。

まずメッセージ全体の意味としてアクションを「セッションのオープン」と認識した上で、そのアクションに含まれるパラメータを抜きだしています。

  表3     ログの拡張情報
アクション : セッションのオープン
パラメータ名 タグ名
変更後ユーザ user root
変更前ユーザ user logst
変更前ユーザID uid 1004

タグ名は同じであっても、文脈によって使われる意味が異なる場合があるため、パラメータ名とタグ名は分けて考えます。こうすることで、例えば「user が root のもの」というようにログの種類に依存しない横断的な検索も可能になります。

最後に検索の便宜のために単語検索のためのログを切り出し、全体として XML に組み立てると、リスト1 のようになります。

  リスト1     ログの変換例
<log algorithm="md5" digest="XzHLFvhlc9qp52HfEfrhag==">
  <timestamp>1019453468044</timestamp>
  <host>192.168.254.111</host>
  <pid>27843</pid>
  <facility>user</facility>
  <priority>notice</priority>
  <application>PAM_pwdb</application>
  <message>PAM_pwdb[27843]: (su) session opened for user root by logst(uid=1004)</message>
  <app_info action="セッションのオープン">
    <user msgparam="変更後ユーザ">root</user>
    <user msgparam="変更前ユーザ">logst</user>
    <uid msgparam="変更前ユーザID">1004</user>
  </app_info>
  <indexes>
    <keyword>PAM_pwdb</keyword>
    <keyword>27843</keyword>
    <keyword>su</keyword>
    <keyword>session</keyword>
    <keyword>opened</keyword>
    <keyword>user</keyword>
    <keyword>root</keyword>
    <keyword>logst</keyword>
    <keyword>uid</keyword>
    <keyword>1004</keyword>
  </indexes>
</log>

このように XML 形式にすることで、単なるテキスト形式のログのそれぞれの部分にさまざまな意味を持たせることができるので、検索や集計などをより効率的におこなうことができます。

back top next
Copyright(C) 1995-2003 Infoscience Corporation. All rights reserved. 
※このページの内容は 『FreeBSD PRESS No.14 (2003 JANUARY) 毎日コミュニケーションズ刊』 に掲載されたものです。