【发布时间】:2019-06-15 18:44:33
【问题描述】:
我正在寻找可以使用 Apache Camel 向 Apache Kafka 主题发送 SNMP 陷阱的简单程序的参考。
如果有人可以使用简单的 java 程序解释它,请帮助我。
我的 RouteBuilder 配置
import org.apache.camel.builder.RouteBuilder;
public class SimpleRouteBuilder extends RouteBuilder{
@Override
public void configure() throws Exception {
String topicName = "topic=first_topic";
String kafkaServer = "kafka:localhost:9092";
String zooKeeperHost = "zookeeperHost=localhost&zookeeperPort=2181";
String serializerClass = "serializerClass=kafka.serializer.StringEncoder";
String toKafka = new StringBuilder().append(kafkaServer).append("?").append(topicName).append("&")
.append(zooKeeperHost).append("&").append(serializerClass).toString();
System.out.println(toKafka);
from("snmp:127.0.0.1:161?protocol=udp&type=POLL&oids=1.3.6.1.2.1.1.5.0").split().tokenize("\n").to(toKafka);
}
}
主要方法
import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;
import org.snmp4j.Snmp;
public class MainApp {
public static void main(String[] args) {
SimpleRouteBuilder routeBuilder = new SimpleRouteBuilder();
CamelContext ctx = new DefaultCamelContext();
try {
ctx.addRoutes(routeBuilder);
ctx.start();
Thread.sleep(5 * 60 * 1000);
ctx.stop();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
这似乎很混乱。 SNMP 是一种基于 UDP 的网络管理协议。不确定发送陷阱 to Kafka 是什么意思。你想要一个 SNMP-trap-to-Kafka 网关吗?
-
只是我想向通过 Apache Camel 路由的 Kafka 主题发送一个 SNMP 陷阱。
标签: java apache-kafka apache-camel snmp-trap