想把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   胡彼德  阅读(1607)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话



点击右上角即可分享
微信分享提示