一、介紹
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集群上多了一個索引:

搭建成功~
