想把SYSLOG弄出来,用的CACTIEZ的SYSLOG插件。安装完CACTIEZ后,不用改动任何配置,SYSLOG就能正常工作了(能看到本机的SYSLOG信息)。

为了人为的产生一些SYSLOG信息,可以通过service syslog restart的方式。(当然,也可以利用logger -p facility.level MSG的方式发送)

遇到的问题:

为了让WINDOWS下的用户也可以通过脚本的方式发送SYSLOG信息,从网上查找到一个KLOG.EXE,利用这个客户端工具从DOS命令行发送SYSLOG信息到SYSLOG服务器。但是发现SYSLOG发送成功了,从cactiez syslog界面上也看到了,但就是看不到信息内容。

我的发送格式如下:

C:\xx>klogwin.exe -h 10.72.7.252 -f 23 -l 3 -m "xxxxxxxxx"

从server抓包,也没发现问题,查看相应的/var/log下的对应facility的文件,也已经记录了。

折腾了半天,问题没有解决掉,决定用一台LINUX试试。找了一台LINUX,在syslog.conf的最上面加上如下一行:

*.*        @10.72.7.252   /* 将所有SYSLOG转发到cactiez */

此时,再在cactiez syslog上查看(要等一会,大约要延迟2-3分钟,原因待查),就发现可以正常接收并正常显示消息了。说明LINUX下没有问题。

经过反复查看syslog协议的格式,得知syslog由三部分组成:PRI HEADER MSG

PRI: 即facility及level,经过运算得一个到数值,然后用<>括起来

HEADER: 是一个日期(时间)然后空一个格,主机名

MSG: 就是要发送的消息

经过多次试验,终于找到原因:

C:\xx>klogwin.exe -h 10.72.7.252 -f 23 -l 3 -m "hello1 hello2 hello3"  :这种格式只能在cacti syslog中,只显示hello3

C:\xx>klogwin.exe -h 10.72.7.252 -f 23 -l 3 -m "hello1"  :这种格式显示,但消息为空

C:\xx>klogwin.exe -h 10.72.7.252 -f 23 -l 3 -m "hello1 hello2"  :这种格式显示,但消息为空

C:\xx>klogwin.exe -h 10.72.7.252 -f 23 -l 3 -m "Oct 9 22:33:20 hlfedora auditd[1787]: ixxxxxxxxx"

 

posted on 2013-06-05 09:39  胡彼德  阅读(1596)  评论(0编辑  收藏  举报