当前位置:操作系统 > Unix/Linux >>

用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

  #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)来发现感兴趣的目标行。一旦Swatch发现某一行匹配预设定的模式,它会立即采取行动,比如说屏幕打印,发送电子邮件,或者采取用户预先设定的行动。

  watchfor /[dD]enied│/DEN.*ED/

  echo bold

  bell 3

  mail

  exec "/etc/call_pager 5551234 08"

  上面的脚本是Swatch配置文件一个部分的例子。首先Swatch在指定的日志文件中寻找包含设定单词"denied,Denied,或者其它以DEN开始或者以ED结束的单词的行。一旦搜索到某行包含三个搜索单词中的任何一个。Swatch程序立即向终端显示粗体行和响铃三下,然后发送电子邮件给运行swatch程序的用户(通常是root用户)警报所在行和执行/etc/call_易做图程序,忽略sendmail,fax,unimportant stuff. 在这个例子当中,搜索字符串sendmail,fax和unimportant stuff将被忽略. 甚至他们符合预定搜索字符串中的一个。

  四、使用

  使用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之哪种安装类型

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,