Rsyslog

SIGHUP

rsyslogd(8)里面说它收到SIGHUP信号会重启,可是实际试验,发现我新加的配置并没有生效,比如用upstart重启rsyslog服务才行。用rsyslod -d开启Debug模式,发现SIGHUP的时候有这样的消息:

2757.409895891:main thread: Received SIGHUP, configured to be a non-restart type of HUP - notifying actions.

Google了一下,作者的Blog上有说明。另外,file:///usr/share/doc/rsyslog-doc/html/rsyslog_conf_global.html也有对$HUPisRestart的说明。说明Debian(Ubuntu上游)把这个参数关闭了。

Log目标支持tty,也支持pts。

远程LOG

在远端机器的配置文件里面加入

local0.* @192.168.1.3

重启远端rsyslog,然后用logger测试:

logger -p local0.info

在192.168.1.3上抓包可以看到远端敲入的信息传过来:

# tcpdump -i eth2 "udp port 514"

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes

00:14:58.344328 IP localhost.35791 > dell.syslog: SYSLOG local0.info, length: 40

00:15:00.524450 IP localhost.35791 > dell.syslog: SYSLOG local0.info, length: 44

00:15:02.104408 IP localhost.35791 > dell.syslog: SYSLOG local0.info, length: 36

nc可以接收到数据:

# nc -u -l 514

<134>Apr 20 00:36:52 Neverland tux: test<134>Apr 20 00:36:53 Neverland tux: hehe<134>Apr 20 00:36:56 Neverland tux: haha