ELK + F 建構
Elasticsearch + Logstash + Kibana + FileBeat 四個組件的組合
Logstash 在 ELK 架構中,是負責把收到的純文字資料,做特定的規則處理,就可以變成指定的欄位。 建立欄位的好處是可以方便搜尋,而且也能做到比全文檢索更好的分析,可說是欄位切的好,查詢沒煩惱。 我個人認為 Logstash 中最精華的部分就屬 Grok Filter。 本篇將簡單教學如何透過 Logstash Grok Filter 建立 Elasticsearch 欄位。
FileaBeat 收集log資料送往 Logstash
Logstash 過濾資料再送往 Elasticsearch
Elasticsearch 搜尋資料引擎 Kibana會來請求搜尋log資料
Kibana UI介面
啟動辦法:
先去下載ELK + F 檔案, 記住版本上的對應.
E:到bin 目錄底下, 直接啟動 ->
./elasticsearch
L:到bin 目錄底下, 需修改config 及啟動時帶入config位置. 直接啟動 ->
./logstash -f ../config/logstash.conf
K:到bin 目錄底下, 直接啟動 ->
./kibana
F:到bin 目錄底下, 直接啟動 ->
./filebeat
各項設定:
filebeat.yml
name: localhost
output:
logstash:
enabled: true
hosts:
- localhost:5044
index: "localhost"
filebeat.inputs:
- type: log
paths:
- /Users/xxxxx/Desktop/log/xxxSystem/xxx.log
multiline:
pattern: '^\['
negate: true
match: after
tags: ["restapi"]
#開啟debug模式
logging.level: debug
logging.selectors: [publish]
logging.to_files: true
logging.files:
name: filebeat-localhost
查看結果:
可至Kibana 介面查看log檔案是否傳至Elasticsearch

參考網站:
測試 Log filter 網站 https://grokdebug.herokuapp.com/
Last updated