电脑技术学习

用Syslog 记录UNIX和Windows日志的方法

dn001

  这样一来,来自192.168.1.1的log会记录到192.168.1.1.log文件中,来自192.168.1.2的log会被记录在192.168.1.2.log文件中,分析和归类就比较方便了。当然这是一个最简单的例子,读者可以根据自己的需求写出更好的脚本,甚至把log信息分类后插入数据库中,这样日志的管理和分析就更方便了。

  最后重启一下syslogd服务,让配置生效:

  /etc/rc.d/syslogd restart

  OK,服务端的配置完成。现在配置一下客户端:

  这里所说的客户端,就是发送自己的日志到远程日志服务器上的主机。

  修改/etc/syslog.conf文件:

  我们举例你只要记录系统登入登出日志到远程日志服务器上,那么只需要修改以下一行:

  authpriv.* @192.168.10.100

  这里的192.168.10.100就是log服务器的IP,“@符号表示发送到远程主机。

  OK,重启一下syslog服务:

  Linux: /etc/init.d/syslogd restart

  BSD: /etc/rc.d/syslogd restart

  用logger测试一下是否配置成功:

  logger –p authpriv.notice “Hello,this is a test

  到log服务器上去看看,“Hello,this is a test应该已经被记录下了。最后在客户机上登陆登出几次,看看真实的authpriv信息是否也被成功的记录下。

  二、Windows日志的记录

  对于Unix类主机之间记录日志,由于协议、软件和日志信息格式等都大同小异,因此实现起来比较简单,但是windows的系统日志格式不同,日志记录软件,方式等都不同。因此,我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。

  介绍第三方软件evtsys (全称是evntlog to syslog)

  文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe

  把这两个文件拷贝到 c:windowssystem32目录下。

  打开Windows命令提示符(开始->运行 输入CMD)

  C:>evtsys –i –h 192.168.10.100

  -i 表示安装成系统服务

  -h 指定log服务器的IP地址

  如果要卸载evtsys,则:

  net stop evtsys

  evtsys -u

  启动该服务:

  C:>net start evtsys

  打开windows组策略编辑器 (开始->运行 输入 gpedit.msc)

  在windows设置-> 安全设置 -> 本地策略 ->审核策略 中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。

  OK,所有的配置windows端配置完成,现在配置一下syslogd的配置文件,

  参数的配置和上面相同,所不同的是evtsys是以daemon设备的方式发送给 syslogd log信息的。因此,需要在/etc/syslog.conf中加入:

  daemon.notice |/var/log/filter_log.sh

  关于syslog 记录设备和记录等级方面的知识可以参考syslog文档。

  OK,所有配置设置完成。

  Linux 、BSD和windows上的系统日志都可以统一记录到一台日志服务器上轻松管理了。

标签: