ELK從安裝到部署的簡單實作
- ELK的工作流程
- ELK的安裝
-
-
-
-
- 版本說明:ES,Logstash,Kibana,Filebeat安裝的版本号必須全部一緻,且Logstash必須裝在非Windows系統上(ps.本文以版本号7.0.0為例,安裝部署在ubuntu)
-
- Elasticsearch
- Filebeat
- Logstash
- Kibana
-
-
-
- 配置檔案的修改
-
-
-
-
-
- Filebeat
- Logstash
- Elasticsearch
- Kibana
-
-
-
-
- Web操作
- 總結
ELK的工作流程
關于ELK的元件介紹就不長篇大論了,其他大神的文章寫的很清楚,本文以7.0.0版本為例,有問題的老鐵們歡迎讨論。本文所用的分别的filebeat,logstash,elasticsearch,kibana,如果資料格式直接就是json,且不用做任何過濾的話 可省去logstash。
上圖展示的就是一個大概的工作流程:
1.beat收集日志,并output到logstash
2.logstash對beat收集的日志做過濾等處理,并output到es
3.es存儲logstash處理過的日志,用以檢索
4.kibana提供web操作界面,可對資料做可視化展示,畫圖等
ELK的安裝
版本說明:ES,Logstash,Kibana,Filebeat安裝的版本号必須全部一緻,且Logstash必須裝在非Windows系統上(ps.本文以版本号7.0.0為例,安裝部署在ubuntu)
Elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz
tar zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz
cd elasticsearch-7.0.0-linux-x86_64
啟動:./bin/elasticsearch
退出:Ctrl + c
Filebeat
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.0.0-linux-x86_64.tar.gz
tar zxvf filebeat-7.0.0-linux-x86_64.tar.gz
cd filebeat-7.0.0-linux-x86_64
啟動:./ filebeat -e -c filebeat.yml
退出:Ctrl + c
Logstash
在裝Logstash之前必須確定目前環境變量有JDK8的開發環境
https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz
(有root權限的可以直接apt-get install,沒有的話在windows上登入下載下傳并拖到ubuntu上)
tar zxvf jdk-8u211-linux-x64.tar.gz
(沒有root權限,可以配置目前使用者的環境變量)
vim ~/.bashrc
source ~/.bashrc
驗證是否存在
java -version
接下來安裝Logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.0.0.tar.gz
tar zxvf logstash-7.0.0.tar.gz
cd logstash-7.0.0
啟動:./bin/logstash
退出:Ctrl + c
Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.0.0-linux-x86_64.tar.gz
tar zxvf kibana-7.0.0-linux-x86_64.tar.gz
cd kibana-7.0.0-linux-x86_64
啟動:./bin/kibana
退出:Ctrl + c
配置檔案的修改
Filebeat
cd filebeat-7.0.0-linux-x86_64
vim filebeat.yml
注意:此後的啟動必須指定yml,否則啟動不了
啟動:./filebeat -e -c filebeat.yml
相關參數可以 ./filebeat -help 檢視
Logstash
cd logstash-7.0.0/config/
vim demo.conf
注意:此後的啟動指令 必須制定配置檔案
啟動:./bin/logstash -f config/demo.conf
Elasticsearch
es啟動即可
Kibana
cd kibana-7.0.0-linux-x86_64
vim config/kibana.yml
至此,ELK基本流程所需的配置已經完成。接下來登入web頁面,輸入kibana的指定位址通路。
Web操作
登入kibana位址
因為後面部分是作者第二天開始寫的,公司測試環境的es用的是5.6.4,是以下面開始的kibana截圖全部為5.6.4版本,不過和7.0.0版本的具體操作都一樣,可放心操作。
總結
1.kibana會自動更新資料,可以設定資料的展示量,預設是15分鐘的,重新整理可手動refresh。
2.Logstash的配置檔案,注意位址端口。寫grok的時候,可以先在下面的網站做簡單的測試,https://grokdebug.herokuapp.com/ ,另附上一個grok自帶表達式的網站 https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns ,若還是不可比對出理想資料,可自行定義正規表達式。
3.本次流程未加入實時監控,可以通過kibana,x-pack設定引入。
4.ELK的簡單實作到這裡就完成了,作者也是磕磕碰碰嘗試出來的,如有需要,将會在出幾篇文章分别說一下這些元件以及元件的替換還有grok的自定義正則。