一、介绍
Filebeat是一个轻量级的转发和集中日志数据的shipper。在你的机器上安装一个filebeat代理服务器后,Filebeat会监控日志文件或您指定位置,收集日志事件,并将它们转发到Elasticsearch或者Logstash以供之后的索引。
Logstash是一个有实时管道输送能力的开源的数据收集引擎。Logstash可以动态统一来自异类数据源的数据并且可以使数据传送您所选择的目的地。这些数据会传给下游的分析工具进行进一步地处理与展示。
es即elasticsearch,Elasticsearch是高度可伸缩的开源全文搜索和分析引擎。它允许您快速实时地存储、搜索和分析大容量的数据。通常用作有复杂的搜索功能和需求的应用程序的底层引擎技术。
今天是想用filebeat logstash es来搭建一个工具,可以实现从filebeat读取,经过logstash的转发后把数据存在es上。
二、安装
1.es的安装,参考https://www.cnblogs.com/zuxiaoyuan/p/9204080.html
2.filebeat的安装
1)下载
mac:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.0-darwin-x86_64.tar.gz
tar xzvf filebeat-6.3.0-darwin-x86_64.tar.gz
2)配置修改sudo vi filebeat.yml
- type: log
# Change to true to enable this input configuration.
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /data/testlog.txt
#对paths的配置表示从testlog.txt读取数据
3)启动filebeat:
sudo ./filebeat -e -c filebeat.yml -d "publish"
3.logstash的安装
1)下载
wget https://www.elastic.co/downloads/past-releases/logstash-5-4-1
unzip logstash-5.4.1
2)尝试是否成功
cd logstash-5.4.1
bin/logstash -e 'input { stdin { } } output { stdout {} }'
#此时在当前的界面输入hello world,会出现如下结果:
#此时表示启动成功,先control+c把logstash关闭,要进行一下设置的修改;
3)修改配置&启动
在安装目录logstash-5-4-1下新建一个文件sudo vi second-pipeline.conf
input {
beats {
port => "5044"
}
}
output {
elasticsearch {
hosts => ["IP Address 1:port1", "IP Address 2:port2", "IP Address 3"]
}
file {
path => "/data/testRecv.txt"
}
}
先测试下配置文件有没有问题
bin/logstash -f second-pipeline.conf --config.test_and_exit
启动logstash
bin/logstash -f second-pipeline.conf
三、测试
此时修改/data/testlog.txt下的内容,可以看到es集群上多了一个索引:
搭建成功~