Filebeat+Kafka+Logstash+ElasticSearch+Kibana搭建完整版


1. 了解各個組件的作用

Filebeat是一個日志文件托運工具,在你的服務器上安裝客戶端后,filebeat會監控日志目錄或者指定的日志文件,追蹤讀取這些文件(追蹤文件的變化,不停的讀)
Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據
Logstash是一根具備實時數據傳輸能力的管道,負責將數據信息從管道的輸入端傳輸到管道的輸出端;與此同時這根管道還可以讓你根據自己的需求在中間加上濾網,Logstash提供里很多功能強大的濾網以滿足你的各種應用場景
ElasticSearch它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口
Kibana是ElasticSearch的用戶界面

在實際應用場景下,為了滿足大數據實時檢索的場景,利用Filebeat去監控日志文件,將Kafka作為Filebeat的輸出端,Kafka實時接收到Filebeat后以Logstash作為輸出端輸出,到Logstash的數據也許還不是我們想要的格式化或者特定業務的數據,這時可以通過Logstash的一些過了插件對數據進行過濾最后達到想要的數據格式以ElasticSearch作為輸出端輸出,數據到ElasticSearch就可以進行豐富的分布式檢索了

2. 安裝各個組件並部署,並配置各個組件的關聯配置文件

下載各個組件的安裝包並解壓(這些組件在Apache官網都可以下載得到)

Filebeat安裝

解壓后Filebeat的目錄

Filebeat的配置很簡單,只需要配置監控的日志文件的全路徑和輸出端的IP,一般默認(默認配置文件filebeat.yml)是輸出到ElasticSearch,輸出配置如下

輸出端配置

這里我們不直接輸出到ElasticSearch,而是kafka,所以需要配置 beat-kafka.yml,輸入端配置如下

輸出端配置

因為是輸出到kafka,所以需要制定kafka的topic

Kafka的安裝

在Filebeat已經配置輸出端為kafka的配置,這里kafaka不需要配置任何東西,解壓直接用,以下是kafka初用的幾個必須的命令,具體查看kafka的官方API

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

現在啟動Filebeat:

./filebeat -e -c beat-kafka.yml -d "publish"

這里需要說明一點,不同的輸出端可以配置不同的.yml文件,所以這里的 beat-kafka.yml文件是kafka對應的配置
以上命令輸出沒有報錯並有如下信息

且可以看到你的監控文件的log的信息字段證明不存在問題
這是kafka的consumer會有如下信息

message就是文件的具體信息

Logstash的安裝

Logstash也不要做太多的配置,從搭建Filebeat和Kafka時,已經實現了數據的流通,現在要完成的事是然流到kafka的數據流到logstash,logtash也需要輸出,將ElasticSearch作為輸出端

對於kafka不同的數據建議logstash用不同的通道去接
一下是配置的兩個不同的通道

啟動logstash

bin/logstash -f first-pipeline.conf --config.reload.automatic --path.data=/home/hadoop/logstash

--path.data=/home/hadoop/logstash是指存放數據的路徑

ElasticSearch配置和安裝

如果你不要更改ip的話那就不需要任何配置,直接啟動

sh bin/elasticsearch

通過elasticsearch查詢看整個架構是否完整數據是否正確流通
查看索引

curl '192.168.1.20:9200/_cat/indices?v'

根據索引查詢數據

curl -XGET '192.168.1.20:9200/test_index/_search?pretty'


這就證明我們整個架構是正確的且數據流通無誤

Kibana的配置和安裝

Kibana只是ElasticSearch的圖形化界面,啟動即用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM