基于Logstash 5.4.0版本
主要针对收集本地文件日志后写入kafka这个场景
还在进一步使用中, 遇到的新的问题会持续补充
----
无法写入kafka集群
现象: 可以从本地要收集的文件中读取文件内容...;
如此这样, 当有一个很大的或频繁被写入文件先处于被收集状态, 则其他待收集文件则没有机会被收集;
当然作者设计这样的逻辑也有他的道理....解决方案: 解决起来也很简单, 既然是轮询文件的变化进行文件收集, 这个loop do end循环是在observe_read_file这个函数里(....thread, 却没有机会被stop了;
解决方案: 引入一个变量, 确何在stop后, 即使再次调用start, 也不会再开启一个新的线程....: 因为我们的kafka版本是0.9.0.1, logstash中我们也是用了对应的sdk版本, 手动merge了官方的修复,替换kafka sdk jar, 测试目前没有问题
----
Logstash