Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡溪流vs Logstash_Apache Kafka_Logstash_Apache Kafka Streams - Fatal编程技术网

Apache kafka 卡夫卡溪流vs Logstash

Apache kafka 卡夫卡溪流vs Logstash,apache-kafka,logstash,apache-kafka-streams,Apache Kafka,Logstash,Apache Kafka Streams,我目前正在选择Kafka Streams或Logstash进行实时日志收集、转换和充实,最后发送到Elasticsearch。日志来自不同的IT网络设备,如防火墙、交换机、接入点等 由于Kafka Streams和Logstash具有几乎相似的功能,选择1是否有好处?(性能?易于部署?) 谢谢卡夫卡溪流和Logstash是两个完全不同的东西 Kafka Streams是一个客户端库,您可以使用它来编写应用程序来流式处理存储在Kafka代理中的数据,您需要用Java编写自己的应用程序 Logsta

我目前正在选择Kafka Streams或Logstash进行实时日志收集、转换和充实,最后发送到Elasticsearch。日志来自不同的IT网络设备,如防火墙、交换机、接入点等

由于Kafka Streams和Logstash具有几乎相似的功能,选择1是否有好处?(性能?易于部署?)


谢谢

卡夫卡溪流和Logstash是两个完全不同的东西

Kafka Streams是一个客户端库,您可以使用它来编写应用程序来流式处理存储在Kafka代理中的数据,您需要用Java编写自己的应用程序

Logstash是一个ETL工具,您可以使用它从多个源提取/接收数据,使用多种过滤器处理这些数据,并将其发送到不同的输出,如elasticsearch、file、s3、kafka和许多其他输出

将Logstash和Kafka一起使用是非常常见的,Kafka作为Logstash将使用和处理的消息的消息队列,您让Filebeat等发货人向Kafka代理发送数据,然后您使用Logstash来使用这些数据


您可以使用Kafka Streams库在Java中构建自己的应用程序,以收集、处理数据并将数据发送到Elasticsearch,但与使用堆栈工具、Filebeat收集日志、Logstash接收/处理、Elasticsearch存储相比,这将非常复杂。

这取决于您的用例。请检查。只是为了确保我正确回答您的问题:您的日志仍然位于设备上,对吗?我猜KafkaStreams是错误的选择:它是一个客户端库,可以在您自己的应用程序中用于执行流操作。这里没有从某处获取日志文件的逻辑。这是你必须建立的东西。也许Logstash已经内置了这个功能,但据我所知,它必须在日志文件所在的设备上运行(但这里只是猜测)