用Swatch做Linux日志分析
日志文件是我們發(fā)現(xiàn)系統(tǒng)問題的重要參考信息. 大部分的系統(tǒng)服務出現(xiàn)問題時都會給syslogd(系統(tǒng)日志守護進程)發(fā)送消息. 然后用戶發(fā)覺并根據錯誤提示信息采取行動. 然而對于1000行以上的日志文件, 我們必須使用日志檢查工具節(jié)省時間和避免漏掉重要信息.
Swatch從字面上可以簡單理解為Watcher(守護者). 其它的日志分析軟件定期地掃描日志文件, 向你報告系統(tǒng)已經發(fā)生的問題或者狀況. Swatch程序不僅能夠做這些, 而且它能夠像Syslogd守護程序那樣主動的掃描日志文件并對特定的日志消息采取修復行動.
一. 準備
1. 下載和解壓縮最新的Swatch軟件包.建議從Swatch的官方網站獲得可靠的Swatch軟件包.
下載網址: http://sourceforge.net/projects/swatch/
1) 創(chuàng)建Swatch軟件包存放的目錄.
#mkdir -p /usr/local/src/log
2) 解壓縮源代碼包, 在log目錄下會生成一個新的目錄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模塊將會用于Swatch程序的運行.
三. 配置
Swatch程序使用正向表達式(Regular Expressions)來發(fā)現(xiàn)感興趣的目標行. 一旦Swatch發(fā)現(xiàn)某一行匹配預設定的模式, 它會立即采取行動, 比如說屏幕打印, 發(fā)送電子郵件, 或者采取用戶預先設定的行動.
watchfor /[dD]enied│/DEN.*ED/
echo bold
bell 3
exec "/etc/call_pager 5551234 08"
上面的腳本是Swatch配置文件一個部分的例子. 首先Swatch在指定的日志文件中尋找包含設定單詞"denied, Denied, 或者其它以DEN開始或者以ED結束的`單詞的行. 一旦搜索到某行包含三個搜索單詞中的任何一個. Swatch程序立即向終端顯示粗體行和響鈴三下, 然后發(fā)送電子郵件給運行swatch程序的用戶(通常是
root用戶)警報所在行和執(zhí)行/etc/call_paper程序, 忽略sendmail, fax, unimportant stuff. 在這個例子當中, 搜索字符串sendmail, fax和unimportant stuff將被忽略. 甚至他們符合預定搜索字符串中的一個.
四. 使用
使用Swatch非常的簡單, 如通常使用Swatch檢查日志, 運行:
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
【用Swatch做Linux日志分析】相關文章:
linux系統(tǒng)中查看日志方法07-02
分析愛情日志05-06
關于linux自動清理日志的方法分享06-23
Linux系統(tǒng)日志子系統(tǒng)詳解06-23
做自己做情人-情感日志05-24
seo日志分析的重點06-23
做最好的自己日志04-25
做真正的自己日志06-24