Rsyslogd没有监听端口

我在ubuntu服务器上安装了rsyslogd,启动它,一切都很正常,但是服务器应该监听的端口没有打开。

ubuntu@node7:~$ sudo service rsyslog restart rsyslog stop/waiting rsyslog start/running, process 14114 

Netstat显示它不在监听:

 ubuntu@node7:~$ netstat -tlan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 320 172.22.0.17:22 10.8.8.38:61335 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::2776 :::* LISTEN tcp6 0 0 :::2777 :::* LISTEN tcp6 0 0 172.22.0.17:2777 172.22.0.11:56554 ESTABLISHED tcp6 0 0 172.22.0.17:2776 172.22.0.11:39780 ESTABLISHED 

这是/etc/rsyslog.conf的样子(大多数注释被省略):

 ubuntu@node7:~$ cat /etc/rsyslog.conf ################# #### MODULES #### ################# $ModLoad imuxsock # provides support for local system logging $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ModLoad imtcp $InputTCPServerRun 514 ########################### #### GLOBAL DIRECTIVES #### ########################### $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $RepeatedMsgReduction on $WorkDirectory /var/spool/rsyslog $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $PrivDropToUser syslog $PrivDropToGroup adm $IncludeConfig /etc/rsyslog.d/*.conf 

/etc/rsyslog.d/35-server-per-host.conf我有以下几行,我怀疑这可能是原因。 这是什么意思?

 # Stop processing of all non-local messages. You can process remote messages # on levels less than 35. :fromhost-ip,!isequal,"127.0.0.1" ~ 

如果是这样,我怎么能改变它有服务器监听和接收和日志消息?

更新:

我评论了可疑的线路,但仍然不听514端口

AppArmor可能会阻止rsyslogd在此端口上侦听。 您可以通过查看系统日志来validation这一点:

 grep apparmor /var/log/syslog 

如果你看到提到rsyslog的行,那么这可能是原因。 编辑/etc/apparmor.d/local/usr.sbin.rsyslogd (或/etc/apparmor.d/usr.sbin.rsyslogd如果不存在的话),并在大括号之间加上:

 network inet dgram, network inet6 dgram, network inet stream, network inet6 stream, 

然后运行service apparmor reloadservice rsyslog restart

解决scheme(或解决方法)是将端口设置为较大的值。 它在10514端口工作。