OpenWRT:使用 logread 将远程日志记录数据发送到 syslog-ng 客户端

OpenWRT: Use logread to send remote logging data to syslog-ng client

我尝试远程登录我的 OpenWRT 系统。为此,我将 /etc/config/system 设置为:

config system
        option hostname 'MySystem'
        option timezone 'UTC'
        option log_file '/var/log/messages'
        option log_type 'file'
        option log_size '64'
        option log_rotated '10'
        option log_ip '192.168.1.200'

在我的 Ubuntu 系统上,我尝试接收这些日志消息。安装了 syslog-ng。 /etc/syslog-ng/syslog-ng.conf 看起来像:

@version: 3.5
@include "scl.conf"
@include "`scl-root`/system/tty10.conf"

# First, set some global options.
options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
          owner("root"); group("adm"); perm(0640); stats_freq(0);
          bad_hostname("^gconfd$");
};

source s_net { udp();  };
destination s_messages { file("/var/log/my_test/remote.log");};
log { source(s_net); destination(s_messages);};
@include "/etc/syslog-ng/conf.d/*.conf"

每当在 /var/log/messages 中的 OpenWRT 上记录日志消息时,文件会显示:

Mon Dec 19 15:11:18 2016 daemon.emerg logread[1021]: Logread connected to 192.168.1.200:514                                                                   
Mon Dec 19 15:11:27 2016 local0.info my_service[1348]: My logging message
Mon Dec 19 15:11:27 2016 daemon.emerg logread[1021]: failed to send log data to 192.168.1.200:514 via udp 

可能是什么问题?从 OpenWRT ping 192.168.1.200 成功。我想 OpenWRT 工作正常。问题是 syslog-ng 配置正确吗?

感谢任何帮助!

终于成功了。问题出在我的 ubuntu 系统(防火墙)上。 OpenWRT 运行良好。

我刚刚使用了这个问题的 config system 部分和 this page 上的服务器配置说明,效果非常好。

我用这个内容创建了一个 /etc/rsyslog.d/10-openwrt-remote-logread.conf 文件(不需要 iptables):

$ModLoad imudp  
$UDPServerRun 514  
:fromhost-ip, isequal, "192.168.0.1" /var/log/openwrt.log  
& ~

现在我的 Raspberry 上有一个不错的 openwrt.log 文件。