.
[ リロード ]   [ ソース ]  [ トップ | 一覧 | 単語検索 | 最新 | バックアップ | ヘルプ ]

***Swatchインストール :D 

■&font(b){Swatchとは?~};~
リアルタイムにログを監視し、決定したキーワードがログに現れるとアクションを~
起こすことをさせる監視ツールです。

 今回用いる動作環境
 ・RedHatLinux9.0
 ・作業ディレクトリ = /home/swatch

■&font(b){Perlモジュールのインストール準備~};~
最新版にて検証したところ、Swatchを動かすためには5つのPerlモジュールが必要です。

必要なPerlモジュールは[[CPAN:http://search.cpan.org/]]  からダウンロードが可能です。

 モジュール名   検証に用いたバージョン
 ・Date::Manip   (DateManip-5.44.tar.gz)
 ・Date::Calc    (Date-Calc-5.4.tar.gz)
 ・Time::HiRes   (perl-Time-HiRes-1.38-3.i386.rpm)
 ・File::Tail    (File-Tail-0.99.1.tar.gz)
 ・Date::Parse   (TimeDate-1.16.tar.gz)
 ・swatch        (swatch-3.1.1.tar.gz)

※Time::HiRes(Time-HiRes-1.73.tar.gz) モジュールに関してはtarballでインストールができなかったため "rpm" にてインストールしました。~
(RedHat9.0CD-ROM2枚目の内容にあります)

■&font(b){Perlモジュールのインストール実施~};~
Swatchを動かすためにそれぞれのPerlモジュールをインストールします。~
(順番を考慮する必要があるかもしれませんが、下記手順で問題ありません)

 手順[1] Date::Manipのインストール
  # cd /home/swatch
  # tar xvfzp DateManip-5.44.tar.gz
  # cd DateManip-5.44
  # perl Makefile.PL
  # make
  # make install

 手順[2] Date::Calcのインストール
  # cd /home/swatch
  # tar xvfzp Date-Calc-5.4.tar.gz
  # cd Date-Calc-5.4
  # perl Makefile.PL
  # make
  # make install

 手順[3] Time::HiResのインストール
  # cd /home/swatch
  # rpm -ivh perl-Time-HiRes-1.38-3.i386.rpm

 手順[4] File::Tailのインストール
  # cd /home/swatch
  # tar xvfzp File-Tail-0.99.1.tar.gz
  # cd File-Tail-0.99.1
  # perl Makefile.PL
  # make
  # make install

 手順[5] Date::Parseのインストール
  # cd /home/swatch
  # tar xvfzp TimeDate-1.16.tar.gz
  # cd TimeDate-1.16
  # perl Makefile.PL
  # make
  # make install

■&font(b){Swatchのインストール~};Swatch本体もPerlモジュールのインストール方法とさほど変わりません。

 swatchのインストール
  # cd /home/swatch
  # tar xvfzp swatch-3.1.1.tar.gz
  # cd swatch-3.1.1
  # perl Makefile.PL
  # make
  # make install

■&font(b){Swatchの設定~};~
Swatchには設定ファイルのサンプルが含まれているので、このサンプルファイルを規定のディレクトリにコピーしてひな型ファイルとして利用します。ここではSwatchの設定ファイルを、".swatchrc"とし/root/ に配置します。

 ひな型ファイルを利用する
 # cd /home/swatch/swatch-3.1.1/examples
 # cp -pf swatchrc.personal /root/.swatchrc

 ★POINT!!
 /var/log/**** 内のログファイルの多くは、root権限でなければ読込めませ
 ん。一般ユーザーでもSwatchを起動させることは可能ですが、対象のログファ
 イルに読取り権限が必要となります。


パターンおよびアクション~
設定ファイルの書式は以下のようになります。

 watchfor   /パターン/
           アクション1
           アクション2

☆パターン~
マッチさせたい任意の文字列を、watchforの後に"/"で挟み記述します。~
ここで記述するパターンにはPerlの正規表現を使用することが可能です。

☆アクションn~
パターンでマッチした場合の処理動作を記述します。

[[関連サイト::パターンおよびアクション記述ルール:http://www.atmarkit.co.jp/flinux/rensai/root04/root04b.html]]

&font(b){■Swatchの起動~};~
Swatchを起動させログの監視を開始させます。

 (起動)
 # /usr/bin/swatch -c /root/.swatchrc -t /var/log/messages >/dev/null 2>&1 &
  & =バックグラウンドにて実施

 (プロセス確認)
 # ps aux |grep tail
 root 3238 0.0 0.4 3904 588 pts/1 S 20:47 0:00 /usr/bin/tail-n 0 -f /var/log/messages

&font(b){■Swatchの自動起動スクリプト~};~
起動している"tail" を kill させるスクリプトは下記のとおりです。最後にパーミッションの変更を忘れずに!

(1) # vi /etc/rc.d/init.d/swatch を作成~
(2) # chmod 755 swatch

 (自動起動スクリプト)
 #! /bin/sh
 #
 # chkconfig: 2345 99 99
 # description: tcpserver
 # Source function library.
 . /etc/rc.d/init.d/functions
 
 RETVAL=0
 
 # See how we were called.
 case "$1" in
         start)
               echo -n "Starting Swatch: "
               /usr/bin/swatch -c /root/.swatchrc -t /var/log/messages >/dev/null 2>&1 &
               RETVAL=$?
               echo
               ;;
 
         stop)
               echo -n "Stopping Swatch: "
               killproc tail
               RETVAL=$?
               echo
               ;;
 
         restart)
               $0 stop
               $0 start
               RETVAL=$?
               ;;
 
         *)
               echo "Usage: swatch {start|stop|restart}"
               exit 1
 
 esac
 exit $RETVAL

&font(b){■OS起動時に自動的に立ち上げる~};~
/etc/rc.d/ 以下にシンボリックリンクを作成する。
 
 (移動)
 # cd /etc/rc.d/rc3.d
 (シンボリックリンクの作成)
 # ln -s ../init.d/swatch ./S99swatch

これで起動時にswatchが自動的に立ち上がります。

&font(b){■ログローテーション};~
監視していて気付いたことはログローテーションされると古いログファイルを見てしまうことです。これを回避するために以下の設定を /etc/cron.daily/logrotate へ追記しました。

 # vi /etc/cron.daily/logrotate
 
 #!/bin/sh
 /usr/sbin/logrotate /etc/logrotate.conf
 /etc/rc.d/init.d/swatch stop  ⇒ 追記
 /etc/rc.d/init.d/swatch start ⇒ 追記

リロード   差分 ソース ファイル添付 添付ファイル一覧   Wikiトップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Expert Menu
最新記事
なぜここへ
Yahoo Japanから
検索結果から
友人に聞いて
前からURLを知っていた
他サイトからリンク
最新バージョンの確認

Linuxexpert is one of the service presented by InfomationSquare. / OmakaseBlog Login  |  Register Now!