Swatch從字面上可以簡單理解為Watcher(守護(hù)者)。其它的日志分析軟件定期地掃描日志文件,向你報(bào)告系統(tǒng)已經(jīng)發(fā)生的問題或者狀況。Swatch程序不僅能夠做這些,而且它能夠像Syslogd守護(hù)程序那樣主動(dòng)的掃描日志文件并對特定的日志消息采取修復(fù)行動(dòng)。
一、準(zhǔn)備
1. 下載和解壓縮最新的Swatch軟件包.建議從Swatch的官方網(wǎng)站獲得可靠的Swatch軟件包。
下載網(wǎng)址: http://sourceforge.net/projects/swatch/
1) 創(chuàng)建Swatch軟件包存放的目錄.
#mkdir -p /usr/local/src/log
2) 解壓縮源代碼包,在log目錄下會(huì)生成一個(gè)新的目錄apache_1.3.33
#tar zpxf swatch-3.1.1.tar.gz
二、安裝
#cd swatch-3.1.1
#make
#make test
#make install
#make realclean
Swatch程序安裝成功后,Perl模塊將會(huì)用于Swatch程序的運(yùn)行。
三、配置
Swatch程序使用正向表達(dá)式(Regular Expressions)來發(fā)現(xiàn)感興趣的目標(biāo)行。一旦Swatch發(fā)現(xiàn)某一行匹配預(yù)設(shè)定的模式,它會(huì)立即采取行動(dòng),比如說屏幕打印,發(fā)送電子郵件,或者采取用戶預(yù)先設(shè)定的行動(dòng)。
watchfor /[dD]enied│/DEN.*ED/
echo bold
bell 3
mail
exec "/etc/call_pager 5551234 08"
上面的腳本是Swatch配置文件一個(gè)部分的例子。首先Swatch在指定的日志文件中尋找包含設(shè)定單詞"denied,Denied,或者其它以DEN開始或者以ED結(jié)束的單詞的行。一旦搜索到某行包含三個(gè)搜索單詞中的任何一個(gè)。Swatch程序立即向終端顯示粗體行和響鈴三下,然后發(fā)送電子郵件給運(yùn)行swatch程序的用戶(通常是root用戶)警報(bào)所在行和執(zhí)行/etc/call_paper程序,忽略sendmail,fax,unimportant stuff. 在這個(gè)例子當(dāng)中,搜索字符串sendmail,fax和unimportant stuff將被忽略. 甚至他們符合預(yù)定搜索字符串中的一個(gè)。
四、使用
使用Swatch非常的簡單,如通常使用Swatch檢查日志,運(yùn)行:
swatch --config-file=/home/zhaoke/swatch.conf
--examine=/var/log/messages
上面的例子中配置文件所在的系統(tǒng)絕對路徑是/home/zhaoke/swatch.conf,需要檢查的日志文件是/var/log/messages。
使用swatch檢查不段增加的日志文件:
swatch --config-file=/home/zhaoke/swatch.conf
--tail-file=/var/log/messages
五、更多
關(guān)于作者: 趙珂,操作系統(tǒng)研究和安全工程師.
zhaoke.net是作者的個(gè)人網(wǎng)站. 歡迎技術(shù)交流以及鏈接交換。
原文出處:http://zhaoke.net/articles/general/2005-02-04.shtml
版權(quán)聲明: 引用或轉(zhuǎn)載,請注明作者與出處. 并請保留本文的連接。
如有問題或錯(cuò)誤請?zhí)峤坏剑?BR> http://zhaoke.net/os/forum.php?do=viewtopic&cat=2&topic=5