接收 RFC5424 消息并使用 syslog-ng 写入文件

问题描述

如何让 syslog-ng 接收以 rfc5424 格式发送的 syslog。我确实看到 syslog-ng 在 strace 中接收消息,但在解析时抛出错误

这是我正在尝试的 syslog-ng:

/home/syslogng @us201.sjc# rpm -qi syslog-ng
Name        : syslog-ng
Version     : 3.5.6
Release     : 3.el7
Architecture: x86_64
Install Date: Sat 19 Dec 2020 11:52:39 PM PST
Group       : System Environment/Daemons
Size        : 1674263
License     : GPLv2+
Signature   : RSA/SHA256,Wed 30 Dec 2015 01:37:42 PM PST,Key ID 6a2faea2352c64e5
Source RPM  : syslog-ng-3.5.6-3.el7.src.rpm
Build Date  : Wed 30 Dec 2015 11:58:05 AM PST
Build Host  : buildhw-10-nfs.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
vendor      : Fedora Project
URL         : http://www.balabit.com/network-security/syslog-ng
Summary     : Next-generation syslog server

这是我的 syslog-ng conf 文件

@version:3.5
@include "scl.conf"


source s_network {
        network( transport(tcp) port(1514) flags(syslog-protocol));
};

destination d_syslog { file("/var/log/syslog-ng/logs.txt"); };
log {source(s_network); destination(d_syslog); };

这里是 syslog-ng 的 strace 输出。 recvfrom() 显示通过 tcp 传入的消息,但处理它时出错。消息在消息中的 PRI 之后包含 VERSION 字段

09:07:56.001542 recvfrom(13,"<166>1 Dec 22 09:07:55 al213 TEST: test mssage BB\n",8192,NULL,NULL) = 50
:
09:07:56.005995 writev(14,[{iov_base="Dec 22 09:07:56 al213 syslog-ng[14468]: Error processing log message: <166>1 Dec 22 09:07:55 al213 TEST: test mssage BB\n",iov_len=120}],1) = 120

感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...