除了监听 UDP 端口外,journald 可以完成我需要的所有工作。我想使用 syslog-ng 作为从 UDP 端口到 journald 的转发器。有一个名为“udp514-journal”的简单程序可以处理这个问题。但是,syslog-ng 似乎更可靠,功能更强大(具有 TLS 加密和过滤器)。有很多关于如何将日志从 journald 转发到 syslog-ng 的示例,但我试图实现相反的目标。这可能吗?
答案1
我发现的唯一选择是使用/dev/log
但不是作为unix套接字而是作为unix数据报
@version: 4.4
options {
stats(freq(1));
flush_lines (0);
time_reopen (10);
log_fifo_size (10000);
chain_hostnames (off);
dns_cache (no);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (yes);
perm(0640);
group("log");
};
source network_input_udp_514 {
udp(ip(0.0.0.0) port(514));
};
destination journalctl {
unix-dgram("/dev/log");
};
log {
source(network_input_udp_514);
destination(journalctl);
};
对我来说似乎工作得很好 - 所有消息都在
journalctl -u [email protected]