1、Rubydebug不能输出到logstash-plain.log,自身的log不够详细。
2、配置文件没有类似Struts的import功能,导致,不同的源文件刷入要写对应的conf配置,并单独起一个logstash,如果强制写在一个conf里面,耦合度太高,查阅不方便。
3、刷过的源文件,不能进行标记或者转移,方便后期清理数据。
4、没有开放对外的个性化功能接口,给开发人员自定义开发自己的功能。
5、多个logstash同时运行在一台服务器上,刷取多个数据源的时候,会出现乱数据的情况,字段值错位。比如,a字段的值,存到b字段上,b字段的值存到c字段。
有同样观点的,或者有解决办法的,望留言,互相讨论下。
问题修正:
对于问题5,稍作修改
其实多个logstash实例,同时运行,它们都是独立的进程,互相不会干扰。
出现这个数据错位的问题的本质原因,还是logstash并发没做好
问题回答:
对于问题5,这边尝试的解决办法是:
修改logstash.yml
pipeline.workers: 1
尝试使用单线程,刷取数据,但是好像配置没生效,所以也没实现效果
最后在pipelines.yml配置单线程,这样才生效了。
- pipeline.id: ods_attack
pipeline.workers: 1 # 单线程
pipeline.batch.size: 10000
pipeline.batch.delay: 10
path.config: "/data/config/test_all.conf"
问题2,其实这里,可以用pipelines.yml启动方式,实现批量启动。
这个时候就类似import效果了。