简单高效:用Swatch做Linux日志分析
日志文件是我们发现系统问题的重要参考信息.大部分的系统服务出现问题时都会给syslogd(系统日志守护进程)发送消息.然后用户发觉并根据错误提示信息采取行动.然而对于1000行以上的日志文件,我们必须使用日志检查工具节省时间和避免漏掉重要信息.
Swatch从字面上可以简单理解为Watcher(守护者).其它的日志分析软件定期地扫描日志文件,向你报告系统已经发生的问题或者状况.Swatch程序不仅能够做这些,而且它能够像Syslogd守护程序那样主动的扫描日志文件并对特定的日志消息采取修复行动.
一.准备
1.下载和解压缩最新的Swatch软件包.建议从Swatch的官方网站获得可靠的Swatch软件包.
下载网址:http://sourceforge.net/projects/swatch/
1)创建Swatch软件包存放的目录.
#mkdir-p/usr/local/src/log
2)解压缩源代码包,在log目录下会生成一个新的目录apache_1.3.33
#tarzpxfswatch-3.1.1.tar.gz
二.安装
#cdswatch-3.1.1
#make
#maketest
#makeinstall
#makerealclean
Swatch程序安装成功后,Perl模块将会用于Swatch程序的运行.
三.配置
Swatch程序使用正向表达式(RegularExpressions)来发现感兴趣的目标行.一旦Swatch发现某一行匹配预设定的模式,它会立即采取行动,比如说屏幕打印,发送电子邮件,或者采取用户预先设定的行动.
watchfor/[dD]enied│/DEN.*ED/
echobold
bell3
mail
exec"/etc/call_pager555123408"
上面的脚本是Swatch配置文件一个部分的例子.首先Swatch在指定的日志文件中寻找包含设定单词"denied,Denied,或者其它以DEN开始或者以ED结束的单词的行.一旦搜索到某行包含三个搜索单词中的任何一个.Swatch程序立即向终端显示粗体行和响铃三下,然后发送电子邮件给运行swatch程序的用户(通常是
root用户)警报所在行和执行/etc/call_paper程序,忽略sendmail,fax,unimportantstuff.在这个例子当中,搜索字符串sendmail,fax和unimportantstuff将被忽略.甚至他们符合预定搜索字符串中的一个.
四.使用
使用Swatch非常的简单,如通常使用Swatch检查日志,运行:
swatch--config-file=/home/zhaoke/swatch.conf
--examine=/var/log/messages
上面的例子中配置文件所在的系统绝对路径是/home/zhaoke/swatch.conf,需要检查的日志文件是/var/log/messages.
使用swatch检查不段增加的日志文件:
swatch--config-file=/home/zhaoke/swatch.conf
--tail-file=/var/log/messages
五.更多
关于作者:赵珂,操作系统研究和安全工程师.
zhaoke.net是作者的个人网站.欢迎技术交流以及链接交换.
原文出处:http://zhaoke.net/articles/general/2005-02-04.shtml
版权声明:引用或转载,请注明作者与出处.并请保留本文的连接.
如有问题或错误请提交到:
http://zhaoke.net/os/forum.php?do=viewtopic&cat=2&topic=5
相关文章
- 软件Linux查看已安装软件的简单方法(linux查看已安装)
- 让Linux桌面简单美好:改变你的终端生活(linux桌面美化)
- Linux输出日志:解密日志的能量(linux输出日志)
- 分析Linux访问日志:揭秘机密的数据分析(linux访问日志)
- Linux查看所有进程:一个简单指令.(linux显示所有进程)
- 探寻Linux系统中运行的进程(查看linux运行进程)
- Linux查看启动端口的简单方法(linux查看启动的端口)
- Linux的优势与劣势(linux优劣势)
- 使用Linux命令记录执行日志(linux命令执行日志)
- 恢复Linux数据库日志恢复:一种信息安全解决方案(linux数据库日志)
- 配置Linux终端路径配置:正确的方向(linux终端路径)
- 轻松搞定:Linux安装DB2的简明图解(linux安装db2图解)
- Linux文件的注释技巧分享(linux文件注释)
- Linux系统盘的刻录:简单而又高效(linux系统盘刻录)
- Linux查看日志方法简介(linux怎么看日志)
- Linux之父:开拓者Linus Torvalds(linux的分支)
- 删除无用Linux日志,优化系统运行(linux日志删除)
- 掌控Linux登录管理:让管理变得更简单(linux登录管理器)
- Linux文件系统日志分析(linux文件日志)
- Linux系统崩溃? 轻松故障排除攻略来帮助你!(linux死机怎么办)
- 探究Linux内存管理的实现:源码分析(linux内存管理源码)
- 开放式共创:桌面Linux之路(共创桌面linux)
- Linux系统获取注册码的简单方法(linux注册码)
- Linux推动现代技术变革:解码关键技术(linux关键技术)
- Linux操作系统日志记录与分析(linux操作系统日志)
- Linux初学者必看:轻松入门指南(linux简单入门)
- 使用Linux轻松挂载NTFS分区:简单实用的教程(linux下挂载ntfs)
- 简单易学:Linux安装控制面板指南(linux安装控制面板)