我在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 reload
和service rsyslog restart
。
解决scheme(或解决方法)是将端口设置为较大的值。 它在10514端口工作。