如何仅针对特定源将 syslog-ng 中的 log_message_size() 增加到 8K 以上并覆盖默认值

问题描述 投票:0回答:2

根据文档,Syslog-ng 默认情况下允许每条消息的长度为 8192 字节。当大小超过 8K 时,Syslog 将消息分成两部分。

当我全局应用

log_msg_size()
参数并将值修改为 16K 时,它可以工作。但我只想将此参数应用于特定源;允许最大大小为 16K 的事件并将全局参数保留为默认值。

是否可以仅将

log_msg_size()
应用于特定来源?

如果是,那么我应该在下面的例子中哪里提到它。如果我们将

syslog_msg_size
值修改为 16K,它会影响我的系统/CPU 性能吗?请指教。

示例:

source s_tets {
        udp(ip(0.0.0.0) port(100));
        tcp(ip(0.0.0.0) port(100) max-connections(100));
};

destination d_test {file("/filepath" };
log { source(s_test); destination(d_dest); };
logging size syslog msg syslog-ng
2个回答
2
投票
  • 您可以在配置文件的 options{} 部分中为 syslog-ng 全局设置 log_msg_size() 选项。这将影响每个来源。例如:

options { log_msg_size(16384); };

  • 要仅更改特定源的日志消息的最大大小,请在源声明中使用 log_msg_size() 选项,例如:

tcp(ip(0.0.0.0) port(100) max-connections(100) log_msg_size(16384) );


0
投票

如果您只想将其应用到一个来源,则需要进行客户移植。

© www.soinside.com 2019 - 2024. All rights reserved.