ELK+filebeat

目录

一、filebeat概述

1、filebeat概念:

2、filebeat的优缺点

3、filebeat结合logstash带来的好处?

4、工作流程图:

二、filebeat+ELK实验部署


一、filebeat概述

1、filebeat概念:

filebeat日志收集工具和logstash相同

filebeat是一款轻量级的日志收集工具,可以在非JAVA环境下运行。

因此,filebeat常被用在非JAVAf的服务器上用于替代Logstash,收集日志信息。
实际上,Filebeat几乎可以起到与Logstash相同的作用,
可以将数据转发到Logstash、Redis或者是Elasticsearch中进行直接处理。

为什么要用filebeat来收集日志?为什么不直接使用lohstash收集日志?
因为logstash是jvm跑的,资源消耗比较大,启动一个logstash就需要消耗500M左右的内存
(这就是为什么logstash启动特别慢的原因)。

而filebeat只需要10M左右的内存资源。
常用的ELK日志采集方案中,大部分的做法就是将所有节点的日志内容通过filebeat发送到logstash,
lostash根据配置文件进行过滤,然后将过滤之后的文件传输到elasticsearch中,最后通过kibana展示。

2、filebeat的优缺点

优点:

filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小的多

filebeat可以运行在非java环境。他可以代替logstash在非Java环境上收集日志

filebeat收集的数据可以发往多个主机。远程收集

缺点:

filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一块使用

3、filebeat结合logstash带来的好处?


1、通过logstash,具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,
从而减轻Elasticsearch持续写入数据的压力。

2、从其它数据源(例如数据库,s3对象存储或消息传递队列)中提取

3、将数据发送到多个目的地,例如S3,HDFS(hadoop分部署文件系统)或写入文件

4、使用数据流逻辑组成更复杂的处理管道。

4、工作流程图:

二、filebeat+ELK实验部署

架构:

ES节点两个:

node1:20.0.0.21

node2:20.0.0.22

日志节点(logstash、kibana、filebeat):20.0.0.23

1.安装 Filebeat

#上传软件包 filebeat-6.7.2-linux-x86_64.tar.gz 到/opt目录

tar zxvf filebeat-6.7.2-linux-x86_64.tar.gz

mv filebeat-6.7.2-linux-x86_64/ /usr/local/filebeat

#时间同步

yum install ntpdate -y

ntpdate ntp.aliyun.com

2.设置 filebeat 的主配置文件

cd /usr/local/filebeat

vim filebeat.yml

filebeat.inputs:

- type: log

  enabled: true

  paths:

    - /usr/local/nginx/logs/access.log

    - /usr/local/nginx/logs/error.log

  tags: ["nginx_23"]

  fields:

    service_name: 20.0.0.23_nginx

    log_type: nginx

    from: 20.0.0.23

Elasticsearch output模块全部注释掉

因为filebeat只能收集日志,不能过滤日志,所以需要先发给logstash过滤处理日志,再由logstash发送给elasticsearch。这里不直接发送给elasticsearch

Logstash output

配置logsatsh

input {

   beats { port => "5044" }

}

output {

  if "nginx_23" in [tags] {

  elasticsearch {

  hosts => ["20.0.0.21:9200","20.0.0.22:9200"]

  index =>"%{[fields][service_name]}-%{+YYYY.MM.dd}"

    }

   }

 stdout {

    codec => rubydebug

  }

}

启动 filebeat:

nohup ./filebeat -e -c filebeat.yml > filebeat.out &

-e:输出到标准输出,禁用syslog/文件输出

-c:指定配置文件

nohup:在系统后台不挂断地运行命令,退出终端不会影响程序的运行

给所要操作的日志访问权限

chmod 777 access.log error.log

启动logstash配置:

logstash -f nginx_23.conf --path.data /opt/test1 &

filebeat 远程收集日志

工作过程:

filebeat和logstash不部署在同一节点上

filebeat先在节点上收集日志,在远程发送给logstash。

在节点上安装filebeat

配置filebeat文件:

Filebeat inputs

Elasticsearch output(全部注释掉)

Logstash output

output.logstash:

  # The Logstash hosts

  hosts: ["20.0.0.23:5045"]      #指定 logstash 的 IP 和端口

配置logstash(去logstash节点)

启动 filebeat(filebeat节点)

cd /usr/local/filebeat

nohup ./filebeat -e -c filebeat.yml > filebeat.out &

去logstash节点启动

logstash -f nhm.conf --path.data /opt/test2 &

logstash可以使用任意端口,只要没被占用都可以使用,推荐1024之后开始

如何对logstash做性能上的优化

logstash启动是在jvm虚拟机上启动的,启动一次至少占500M内存

pipeline.workers: 2

logstash的工作线程,默认值就是cpu数,4核给2, 8核 给4 给一半即可

pipeline.batch.size 125

一次性能够批量处理检索事件的大小默认125。性能好可以给 200

pipline.batch.delay: 50

查询更新的延迟。50毫秒,可以自行调整。生产中15 、10。看机器性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值