目标: - 寻找在Apache Nifi中使用SNMP陷阱接收机制作为自定义处理器的选项。
看看如何在Nifi(Apache docs和youtube videos)中创建自定义处理器的参考资料,GetSNMP的Nifi源代码(包括AbstractSNMPProcessor),ListenSysLog,GetFile等。
有一个简单的(java code)SNMPTrap接收器使用SNMP4J库,可以使用基于UDP或TCP的端口监听特定地址。然后出现陷阱(可以通过SNMP4J库的简单Java代码模拟)可以打印PDU细节。
现在,在尝试将此代码作为自定义处理器在Nifi中编写时,不确定将侦听机制放在何处,然后处理实际的PDU部分。有点打击在这里。
GetSNMP处理器讨论特定OID并使用它我们有GET或Walk策略选项来获取信息。这里(我的目标)寻找一个Nifi服务器运行的选项,并希望从运行Nifi的特定系统中选择SNMP陷阱。而对于我的目标,没有获得扩展GetSNMP代码的上下文。
在ListenSyslogProcessor中,有一个阻塞队列机制。从中我无法派出去侦听陷阱的ip地址以及如何使用OnConrigger方法的ProcessContext,ProcessSession选项来实现Nifi自定义处理器。
欢迎任何投入......
无法在Apache Nifi中创建自定义处理器以接收SNMP陷阱。还有其他的东西是可能的,我会在这里说明一下。它可能对其他人有所帮助。
实际上尝试使用net-snmp,snmptrapd等linux命令来捕获SNMP陷阱。这些选项实际上并没有捕获SNMP陷阱,通过Java代码陷阱发送器进行测试,然后使用来自在线源的命令生成陷阱。
如果您有更好的想法,请分享。