使用filebeat替代logstash进行日志采集

ELK系统使用filebeat替代logstash进行日志采集

最近部署ELK时发现logstash非常吃内存资源,就找了找相关资料,发现很多大佬都推荐filebeat做日志采集。
filebeat是一个ELK官方推出的轻量级日志收集工具,用go语言编写,相比logstash占用资源更少,安装也更方便,可以通过包管理直接安装。缺点是不具备logstash的filter
filebeat官方文档
测试了一下,8线程8GB内存下,logstash常驻内存660M(JAVA),filebeat常驻内存不到30M(GO),还不到logstash的零头。。。
考虑logstash可能对生产应用存在影响,决定采用filebeat替换logstash进行日志采集,然后将日志输出至redis,filter由ELK端logstash完成

为了方便查询以及后期编写filter,可以给日志打tag,然后通过匹配不同tag适配相应的filter(未测试),具体配置如下:

[root@20redis ~]# cat /etc/filebeat/filebeat.yml
filebeat.prospectors:
- input_type: log
  paths:
    - /tmp/test_filebeat.log
  tags: "test_filebeat"

output.redis:
  hosts: ["1.1.1.36:6379"]
  key: "redis"

附logstash及filebeat内存占用对比

logstash内存占用

[root@test ~]# ps -ef |  grep -v grep |    grep logstash  | awk '{print $2}'
12628
[root@test ~]# cat /proc/12628/status | grep -i vm
VmPeak:  6252788 kB
VmSize:  6189252 kB
VmLck:         0 kB
VmHWM:    661168 kB
VmRSS:    661168 kB
VmData:  6027136 kB
VmStk:        88 kB
VmExe:         4 kB
VmLib:     16648 kB
VmPTE:      1888 kB
VmSwap:        0 kB

filebeat内存占用

[root@test ~]# cat  /proc/12750/status  /proc/12751/status |  grep -i vm 
VmPeak:    11388 kB
VmSize:    11388 kB
VmLck:         0 kB
VmHWM:       232 kB
VmRSS:       232 kB
VmData:    10424 kB
VmStk:        88 kB
VmExe:       864 kB
VmLib:         0 kB
VmPTE:        16 kB
VmSwap:        0 kB


VmPeak:    25124 kB
VmSize:    25124 kB
VmLck:         0 kB
VmHWM:     15144 kB
VmRSS:     15144 kB
VmData:    15496 kB
VmStk:        88 kB
VmExe:      4796 kB
VmLib:         0 kB
VmPTE:        68 kB
VmSwap:        0 kB
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值