为什么 syslog-ng 在记录远程日志时会丢弃调试消息?

为什么 syslog-ng 在记录远程日志时会丢弃调试消息?

在本地日志输出中,我可以看到调试消息,但这些消息不会显示在远程日志服务器上。它似乎忽略了这些,但它打印警告和错误级别的消息就可以了。

这些是本地(Ubuntu 14.04.2 LTS)syslog-ng.conf 条目:

# This is the default behavior of sysklogd package
# Logs may come from unix stream, but not from another machine.
#
source s_src {
       system();
       internal();
};

destination d_net { udp("1.2.3.4"); };
log { source(s_src); destination(d_net); };

s_src也用于本地日志记录,因此它似乎包含调试消息。

这是日志服务器(Debian 6.0)的配置:

destination df_remote {
        file(
                "/var/log/remotelogs/from_$HOST"
                create_dirs(yes)
                owner(root)
                group(root)
                perm(0644)
                dir_perm(0777)
         );
};

source s_remote { udp(); };

log { source(s_remote); destination(df_remote); };

显然没有应用任何日志过滤器,但调试消息仍然无法通过。这可能是什么问题?

答案1

UDP 是一种旨在及时传送数据包的协议,但代价是丢失数据包。只要数据包传送出现问题,数据包就会被丢弃。例如这个解释

相关内容