当前位置: 首页 > 工具软件 > sysklogd > 使用案例 >

sysklogd 远程日志存储功能

姜景辉
2023-12-01

今天调试syslog 输出系统日志的功能。

1. busybox 的 syslogd

用busybox自带的syslogd 搞了半天,只会生成出 /var/log/messages 文件,里面没有dmesg的内容。

后来网上查了一下才知道,syslog不会自动导出printk内容,只能通过klogd 来导出,也就是sysklogd工具,它包含了klogd 和 syslogd。

busybox中,syslogd, klogd, logger 都是有的,但是没有配置脚本。


busybox的 syslogd 也可以搞出来:

a. PC端: install sysklogd in PC
# sudo apt-get install sysklogd
#vi /etc/default/syslogd
change SYSLOGD="" to SYSLOGD="-r -m 0"
# sudo service sysklogd restart
# netstat -tlunp udp 514 port should be enabled on PC, as follow:
udp        0      0 0.0.0.0:514             0.0.0.0:*     

b. klogd:

run klogd and syslogd on TCM-board
# /bin/dd bs 1 if /proc/kmsg of /var/run/klogd/kmsg &
# /sbin/klogd  /var/run/klogd/kmsg

c. syslogd -m 0 -L -R 192.168.100.2

这样就可以看本地和PC端的 /var/log/message.


2. ubuntu sysklogd 软件

ubuntu可以直接安装:

sudo apt-get install sysklogd

安装后会有2个进程: klogd 和 syslogd

wr43@xxha:~/WindRiver/workspace/5_tcm2065_prj/build/linux$ ps -ax | grep syslogd
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
25819 ?        Ss     0:00 /sbin/syslogd -r -m 0 -u syslog
26139 pts/7    S+     0:00 grep --color=auto syslogd
wr43@xxha:~/WindRiver/workspace/5_tcm2065_prj/build/linux$ ps -ax | grep klogd
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
25619 ?        S      0:00 /bin/dd bs=1 if=/proc/kmsg of=/var/run/klogd/kmsg
25621 ?        Ss     0:00 /sbin/klogd -P /var/run/klogd/kmsg
26142 pts/7    S+     0:00 grep --color=auto klogd
如果要日志存储服务器需要接收发送方的syslog日志,则需要配置/etc/default/syslogd 文件

SYSLOGD="" to SYSLOGD="-r -m 0"     //表示开启UDP 514 端口监听功能, 扫描周期是0。

sudo service sysklogd restart     //重新启动服务。

发送方需要配置 /etc/syslog.conf :

# vi /etc/syslog.conf

添加 *.info @192.168.100.2

然后,先开启klogd 服务:

/bin/dd bs=1 if=/proc/kmsg of=/var/run/klogd/kmsg   &    //创建一块内存区。

/sbin/klogd  /var/run/klogd/kmsg             //开启klogd服务

再开启syslogd 服务

/sbin/syslogd -l 8 -m 0                  //设置level 等级8, 打印全部log。

测试工具可以用looger:

# logger “hello test”

在发送端和接收服务器的 /var/log/messages 中都会更新出

hello test 消息。





 类似资料: