gpt4 book ai didi

c++ - 系统日志不转发远程消息

转载 作者:太空狗 更新时间:2023-10-29 22:57:27 26 4
gpt4 key购买 nike

我使用以下配置配置了/etc/syslog.conf

*.* @10.10.10.2:514
*.* @@10.10.10.2:514

并通过以下代码登录

openlog("Test-Msg", LOG_PID, LOG_LOCAL0);
for (int i = 0; i <10; i++)
{
syslog(LOG_ALERT, "My msg %d", i);
std::cout<<"-------------Writing Syslog "<<i<<"\n";
}

closelog();

但它没有转发到远程服务器。而不是创建一个文件“@10.10.10.2:514”和“@@10.10.10.2:514”并在那里记录所有消息。

使用 wireshark 测试,没有消息转发到远程系统。

我正在使用 yocto 平台和 busybox 1.22 系统日志实现。

更新

在 yocto 中,我又看到了一个配置文件/etc/syslog-startup.conf 并在那里进行了配置

DESTINATION=remote  # log destinations (buffer file remote)
REMOTE=10.10.10.2:514 # where to log (syslog remote)

现在它开始转发所有消息,但根据 linux 手册 syslog conf 必须支持 *.=alert @<host:port>筛选。如果我必须使用上述配置,我该如何应用过滤器?

最佳答案

默认情况下,基于 Yocto 的系统使用 Busybox 来提供许多基本工具的最小版本。 syslog 是这些工具之一。这是 Busybox 文档中的引述:

Note that this version of syslogd ignores /etc/syslog.conf.

要获得完整的系统日志功能,您必须在图像上包含更完整的实现。 meta-openembedded 中有几个选项,rsyslog in meta-oe可能是一个不错的默认选择。

关于c++ - 系统日志不转发远程消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44016928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com