且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

用FreeBSD建置集中式日志服务器

更新时间:2022-10-03 18:44:35

[背景]
今天看到李晨光兄,发了一篇"Linux系统存储交换机日志",想到这几天一直在Freebsd上配置中间日志服务器,今天在他的基础上也来说说这个吧!
基础知识可以看李晨光兄写的[url]http://chenguang.blog.51cto.com/350944/127050[/url],我今天着重讲
(1)Freebsd下做中间日志服务器
(2)收集交换机/路由器,linux,windows的日志
[过程]
以Freebsd7(或者其他版本,不过4好像出了点问题,现在还在调试)为日志服务器接收平台
Freebsd7日志服务器配置
将要收集的服务器添加到hosts文件中,作用看syslog.conf配置
(1)/etc/hosts
xxx.yyy.x.22        switch
xxx.yyy.x.161        linux
xxx.yyy.x.162        windows

开起freebsd接收远程的日志(这与linux不同,大家可以与李兄的文章比对下,嘿嘿!)
(2)/etc/rc.conf
syslogd_flags="-4 -a 0/0:*"
执行/etc/netstart
修改后的参数说明:
-4 只监听IPv4端口,如果你的网络是IPv6协议,可以换成-6
-a 0/0:* 接受来自所有网段所有端口发送过来的log信息。(为什么不指定端口,因为交换机和windows发送log的端口是高端口,所以不能限定端口
我就是因为这个,而在接收交换机的日志时,没有收到!大家注意,根据不同情况做不同的要求。而对linux来说,它没有这方面的说明,也就是默认
接收所有端口,相对而言,freebsd在这方面是比它安全的哟!)

配置syslog.conf
(3)/etc/syslog.conf
+switch
*.*                /var/log/switch.log
+linux
authpriv.*        /var/log/linux.log
+windows
deamon.*        /var/log/windows.log
执行/etc/rc.d/syslogd restart
在这里
+[hostname] 指的是由这个 host 过来的信息利用以下 block 的方式记录

(4)检查netstat -an,开起一个ipv4 udp 451端口
   ps aux|grep syslogd
结果:/usr/sbin/syslogd -4 -a 0/0:*
(5)余下工作
touch /var/log/switch.log linux.log windows.log
到这里,基本上是搞定了,大家可以用
tcpdump src host ip
tail -f /var/log/switch.log
来观察喽....

客户端配置
[I]交换机/路由器
大家参考李晨光的blog
[II]linux
只需要修改下syslog.conf
authpriv.*                                              @ip
ip为我那台freebsd中间日志服务器的IP
[III]windows
对于UNIX类主机之间记录日志,由于协议、软件和日志信息格式等都大同小异,因此实现起来比较简单,但是windows的系统日志格式不同,日志记录软
件,方式等都不同。因此,我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
安装步骤
(1)下载evtsys (全称是evntlog to syslog)
[url]https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys[/url]
把这两个文件拷贝到 c:\windows\system32目录下。
打开Windows命令提示符(开始->运行 输入CMD)
C:\>evtsys –i –h xxx.yyy.x.100
-i 表示安装成系统服务
-h 指定log服务器的IP地址
如果要卸载evtsys,则:
net stop evtsys
evtsys -u
启动该服务:
C:\>net start evtsys
打开windows组策略编辑器 (开始->运行 输入 gpedit.msc)
在windows
设置-> 安全设置 ->
本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转
换成syslogd可识别的格式,通过相应端口发送给syslogd服务器。
OK,所有的配置windows端配置完成
注意:
Windows的evtsys是以daemon设备的方式发送给 syslogd log信息的。
因此,需要在/etc/syslog.conf中加入:
deamon.*        /var/log/windows.log
[总结]
这样大家结合李兄与我的文章便可以配置比较全的中间日志服务器了。爽吧?笑一个....



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/127158,如需转载请自行联系原作者