我正在构建一个Spring Boot独立应用程序,该应用程序需要使用来自远程服务器的消息并将其写入Syslog Server
。我正在使用Flume嵌入式代理可靠地记录消息。但是我遇到了以下错误。
原因:org.apache.flume.FlumeException:组件类型com.security.flume.sink.SyslogSink不在允许的类型在[AVRO]org.apache.flume.agent.embedded.EmbeddedAgentConfiguration.checkAllowed(EmbeddedAgentConfiguration.java:308)〜[flume-ng-embedded-agent-1.9.0.jar:1.9.0]在org.apache.flume.agent.embedded.EmbeddedAgentConfiguration.validate(EmbeddedAgentConfiguration.java:182)〜[flume-ng-embedded-agent-1.9.0.jar:1.9.0]在org.apache.flume.agent.embedded.EmbeddedAgentConfiguration.configure(EmbeddedAgentConfiguration.java:199)〜[flume-ng-embedded-agent-1.9.0.jar:1.9.0]在org.apache.flume.agent.embedded.EmbeddedAgent.doConfigure(EmbeddedAgent.java:151)〜[flume-ng-embedded-agent-1.9.0.jar:1.9.0]在org.apache.flume.agent.embedded.EmbeddedAgent.configure(EmbeddedAgent.java:98)〜[flume-ng-embedded-agent-1.9.0.jar:1.9.0]
根据文档Embedded Agent
仅支持Avro Sink
。这是否意味着我们甚至无法编写自定义接收器?
我对Flume很陌生。非常感谢您在此问题上的帮助。
谢谢!
这意味着对于嵌入式代理,您只能将AvroSink
用作自定义接收器。但是,可以使用某些技术使用自定义组件从外部源收集数据:
创建一个能够与以前存在的Flume源建立通信的自定义客户端,例如AvroSources
或SyslogTcpSource
。]
创建通过IPC或RPC协议与现有客户端直接通信的定制水槽源。] >>
我希望这个答案还不算太晚,可以为您提供一些帮助。感谢您的阅读!