一、ELK是什麼?
ELK是由Elasticsearch、Logstash、Kibana這3個軟體的首字母縮寫。
Elasticsearch是一個分散式搜尋分析引擎,穩定、可水平擴充套件、易於管理是它的主要設計初衷,需要依賴java執行環境,所以要確保你本地已經安裝了jdk。
ealsticsearch只是後端提供各種api,那麼怎麼直觀的使用它呢?elasticsearch-head將是一款專門針對於elasticsearch的客戶端工具,要使用elasticsearch-head需確保安裝了node.js.
Logstash是一個靈活的資料收集、加工和傳輸的管道軟體。
Kibana是一個資料視覺化平臺,可以通過將資料轉化為酷炫而強大的影像而實現與資料的互動將三者的收集加工,儲存分析和可視轉化整合在一起就形成了 ELK 。
ELK的大致工作順序:應用程式產生log日誌》Logstash收集日誌》Logstash整理輸出到Elasticsearch》通過Kibana展示。
各個安裝包地址:
jdk:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html
node.js:https://nodejs.org/en/
Elasticsearch:https://www.elastic.co/cn/downloads/elasticsearch
elasticsearch-head:https://pan.baidu.com/s/1uUaZ4-jONtwuAMTVydOk7w 提取碼:kqt6 git下載:https://github.com/mobz/elasticsearch-head
Logstash:https://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-windows-x86_64.zip
Kibana:https://artifacts.elastic.co/downloads/kibana/kibana-7.10.2-windows-x86_64.zip
下面我們安裝順序就安裝Elasticsearch、Logstash、Kibana的順序。
二、安裝JDK,並驗證(如果之前安裝了JDK直接跳過)
雙擊JDK安裝包安裝,並設定了環境變數,如下圖:
JAVA_HOME 和 PATH新增:";%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;"
驗證:cmd模式輸入“Java --version”,如下:
三、安裝node.js
雙擊安裝包直接安裝,安裝完成後驗證,cmd下輸入 node -v。
四、安裝Elasticsearch
解壓zip壓縮檔案,在D盤跟目錄建立一個新的資料夾,命名“ELK”,把解壓後的“elasticsearch-7.12.0-windows-x86_64”資料夾拷貝到下面。
開啟“D:\elk\elasticsearch-7.12.0-windows-x86_64\config”下面的“elasticsearch.yml”檔案,在最下面新增以下程式碼並儲存。
http.cors.enabled: true http.cors.allow-origin: "*"
cmd模式進入“D:\elk\elasticsearch-7.12.0-windows-x86_64\bin”目錄,執行“elasticsearch.bat”。
執行成功後在瀏覽器輸入“http://127.0.0.1:9200/”,出現以下介面說明elasticsearch啟動成功
五、安裝elasticsearch-head
我下載的是網盤壓縮檔案,先解壓,把解壓後的“elasticsearch-head-master”資料夾拷貝到“D:\elk”下面一份。
cmd模式下進入“D:\elk\elasticsearch-head-master”目錄,執行以下命令:
npm install -g grunt-cli
npm install
配置檔案是:elasticsearch-head/Gruntfile.js,裡面可以修改伺服器監聽地址和埠資訊。
安裝完成後執行“npm run start”啟動,瀏覽器開啟“http://127.0.0.1:9100/”,出現以下介面說明啟動成功。
六、安裝Logstash
將加壓後的“logstash-7.12.0”資料夾拷貝到“D:\elk”下面一份。
cmd進入“D:\elk\logstash-7.12.0\bin”目錄下,建立一個“logstash.conf”檔案,並寫入以下配置。
input { file { type => "nginx_access" path => "D:/WWW/log/crm6/*.log" start_position => "beginning" } } output { elasticsearch { hosts => ["127.0.0.1:9200"] index => "access-%{+YYYY.MM.dd}" } stdout { codec => json_lines } }
儲存後在cmd下執行“logstash.bat -f ../config/logstash.conf”命令。
啟動完成後,瀏覽器開啟“http://127.0.0.1:9600/”,出現以下介面成功
七、安裝kibana
將加壓後的“kibana-7.10.2-windows-x86_64”資料夾拷貝到“D:\elk”下面一份。
cmd進入“D:\elk\kibana-7.10.2-windows-x86_64\bin”目錄,執行“kibana.bat”
執行成功後,瀏覽器開啟“http://127.0.0.1:5601”,出現kibana圖形介面。依次點選下面三個按鈕,匯入上面logstash配置檔案裡設定的日誌資訊。
點選 “Index Patterns”後進入下面介面,然後點選右上的“Create index pattern”按鈕。
建立成功後點選discover,頁面展現獲取的資料。
如果沒有資料,根據上面“logstash”配置檔案,找到抓取日誌的目錄,在裡面建立一個log日誌檔案,隨便出入幾行內容,logstash視窗會實時抓取你輸入的內容,並輸出到elasticsearch。
輸入“lisi”測試,出現以下結果。ELK環境框架搭架完成。