Logstash优化
August 15, 2019
1824
系统大概一天生产一亿条,现在kafka已经堆积了上千万条数据。kafka设置:1个topic,10个partition,logstash配置:五台4核8g。之前没有进行优化,单纯累加机器。。。。
优化方向
- logstash读取kafka日志数据
- logstash解析日志数据
- logstash存入es
kafka优化
- 扩展Partition
- 新增集群
logstash优化
- logstash.conf优化
- logstash.yml优化
- jvm配置优化
es优化
不可操作略过。
logstash优化
本文主要涉及logstash、
logstash.conf优化
logstash.conf配置文件,含有三部分:input,filter,output。
input部分可配置部分参数优化,如:consumer_threads。
filter过程会含有正则匹配,如果CPU过高,则可以考虑查看下这部分。另外,如果message不在match匹配中,会走logstash默认正则匹配,从而导致Timeout executing grok
。
logstash.yml优化
logstash.yml配置内主要优化的参数:
pipeline.workers: 30 // pipeline 线程数,官方建议是等于CPU内核数 -w 30
pipeline.output.workers: 30 // 实际output 时的线程数
pipeline.batch.size: 20000 // 每次发送的事件数 -b 20000
pipeline.batch.delay: 3 // 发送延时 -u 3
线程数可以比实际内核数大一些,size根据内存大小来配置,最优的配置需要自己去尝试。
jvm配置优化
最后记得调整下jvm的配置-Xms32g
,-Xmx32g
。
实践
1 |
|
- 启动logstash,查看下
Starting pipeline
是否跟你配置的一致。 ps
查看进程内的Java
命令,看配置是否跟自己设置的一致。- 观察机器情况,如果CPU还有富余,增加线程;内存还有富余,增加Size。
- 本文作者:Shuibo
- 本文链接:https://shuibo.me/2019/08/15/logstash-opt.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!
查看评论