小编nic*_*rix的帖子

rsyslog udp 转发截断为 2048 个字符

RHEL 6 服务器上的 Rsyslog 在端口 514 UDP 上本地接收消息。这些消息有时比正常的系统日志消息大小大得多。我看到 rsyslog 可以很好地处理所有消息,它可以毫无问题地写入本地文件。但是,当我将远程主机添加到 rsyslog 配置时,这些相同的大消息被截断为大约 2048 个字符。

我正在运行 rsyslogd 版本:5.8.10

rsyslogd 5.8.10, compiled with:
  FEATURE_REGEXP:               Yes
  FEATURE_LARGEFILE:            No
  GSSAPI Kerberos 5 support:        Yes
  FEATURE_DEBUG (debug build, slow code):   No
  32bit Atomic operations supported:    Yes
  64bit Atomic operations supported:    Yes
  Runtime Instrumentation (slow code):  No
Run Code Online (Sandbox Code Playgroud)

我对 rsyslog conf 所做的唯一更改是以下两件事:

这是在我的 rsyslog conf 文件的最顶部:

 $MaxMessageSize 64k
Run Code Online (Sandbox Code Playgroud)

这是在我的 rsyslog conf 文件的最底部:

$template RemoteHost,"<%%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%
*.* @my-rsyslog-central-logger:514; RemoteHost
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么 rsyslog 会通过 UDP 将日志截断到远程主机,但是在将日志写入本地文件时能够处理日志?

**注意我确实通过使用 netcat 侦听 …

logging syslog udp rsyslog

7
推荐指数
1
解决办法
6531
查看次数

标签 统计

logging ×1

rsyslog ×1

syslog ×1

udp ×1