ELFK集群部署与Logstash的过滤模块
ELFK集群部署与Logstash的过滤模块
一、ELFK集群部署(Filebeat+ELK)
Filebeat
- 轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。
- 常应用于 EFLK 架构当中。(如果要使用过滤功能的话,Filebeat不能完全替代logstash,Filebeat没有过滤功能,收集数据后需要发送给 logstash 进行处理)
filebeat 结合 logstash 带来好处:
- 通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻 Elasticsearch 持续写入数据的压力。
- 从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取。
- 将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件。
- 使用条件数据流逻辑组成更复杂的处理管道。
部署环境:
node1节点(2C/4G):192.168.44.20 (Elasticsearch)
Node2节点(2C/4G):192.168.44.30 (Elasticsearch)
Apache节点:192.168.44.40 (Logstash Kibana Apache)
Filebeat节点:192.168.44.40 (Filebeat)
1.1 部署ELK集群
ELFK集群环境下,Logstash 组件所在节点的/etc/logstash/conf.d目录下,不需要创建system.conf配置文件,即Logstash不需要收集系统日志,因为系统日志将由filebeat收集后发送给Logstash。(安装filebeat后,Logstash会创建filebeat.conf配置文件获取filebeat传来的数据)
1.2 安装Filebeat(Apache节点)
#上传软件包 filebeat-6.2.4-linux-x86_64.tar.gz 到/opt目录
tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz
#更换目录名称为filebeat
mv filebeat-6.2.4-linux-x86_64/ /usr/local/filebeat
1.3 设置 filebeat 的主配置文件
cd /usr/local/filebeat
cp filebeat.yml{
,.bak}
vim filebeat.yml
filebeat.prospectors:
- type: log #指定 log 类型,从日志文件中读取消息
enabled: true