从 10.04 升级到 12.04 后,Rsyslog 不记录 TCP

从 10.04 升级到 12.04 后,Rsyslog 不记录 TCP

直到上周我还在使用 Ubuntu 10.04 使用 rsyslog 存储外部设备的日志信息。

升级到 Ubuntu 12.4 后,TCP 日志记录不再起作用。根本看不到数据包 - 甚至使用 tcpdump 也看不到 - 旧的 Ubuntu 机器仍然可以看到数据包。

UDP 在 Ubuntu 机器上使用相同的配置,并在外部设备上“使用 UDP”。

rsyslog 中有什么变化可以解释这一点吗?

我的rsyslog.conf文件如下所示(带有更多注释):

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

$KLogPath /proc/kmsg

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

###########################
#### GLOBAL DIRECTIVES ####
###########################

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

if $fromhost-ip startswith '192.168.0.10' then /var/log/caliDevice.log
& ~
# local/regular rules, like
'.' /var/log/syslog.log

$IncludeConfig /etc/rsyslog.d/*.conf

答案1

发现了一些解决方法的问题在 Launchpad 上

选项包括:

  1. rsyslog通过删除$PrivDropToUser和选项以 root 身份运行$PrivDropToGroup,或者可能在文件中覆盖它们/etc/resolv.conf.d/(我不确定这是否可能)。
  2. 使用线程(git commit)上建议的“睡眠”解决方法。
  3. 监听端口 > 1024
  4. 支付两周的工作费用以确保正确完成修复。

相关内容