系统日志连接器 - CEF 源

Syslog connector - CEF source

试图找到一个示例,说明如何配置 Confluent 系统日志连接器以接受 CEF 格式的数据。我已启动系统日志连接器 运行,但在 connect.log 中看到这些类型的错误,永远不会成为我的主题:

[2020-03-24 23:56:09,181] WARN decode() - Could not parse message. request = 'SyslogRequest{receivedDate=2020-03-24T23:56:09.181, remoteAddress=/<some ip>, rawMessage=Wed Mar 25 00:31:30 2020 1/1/e1 CEF:0|Gigamon|metadata|unknown|4|metadata generation|6|GigamonMdataDeltaBytesRcvd=40 GigamonMdataDeltaPKtsRcvd=1 GigamonMdataFlowStartSysUpTime=264840090 GigamonMdataFlowEndSysUpTime=264840090 proto=6 src=<some ip> dst=<some ip> spt=34846 dpt=9997 }' (io.confluent.connect.syslog.message.SyslogMessageParsingHandler)

我这样通过 REST 配置连接器:

curl localhost:8083/connectors -X POST -H "Content-Type: application/json" -d '{"name": "connect-syslog-netflow","config": { "connector.class": "io.confluent.connect.syslog.SyslogSourceConnector", "tasks.max": "1", "topics":"syslog-netflow","syslog.port": "2055","confluent.topic.bootstrap.servers": "localhost:9092", "confluent.topic.replication.factor": "1", "type": "CEF" } }'

类型 CEF 试图告诉它传入格式的尝试很弱。

运行 5.0.1 融合发行版,一个节点开发集群。

所以在与 confluent 支持合作后,我们确定了问题:

rawMessage=Wed Mar 25 00:31:30 2020 ...

将日期更改为:

rawMessage=Mar 25 00:31:30 ...

去除星期几和年份。

不幸的是,我无法控制 netflow 源,所以我想在发送到连接器之前我需要对数据进行某种自定义转换。