Windows系統搭建ELK日誌收集伺服器

  • 2021 年 4 月 16 日
  • 筆記

一、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://www.oracle.com/java/technologies/javase-jdk16-downloads.html

node.js://nodejs.org/en/

Elasticsearch://www.elastic.co/cn/downloads/elasticsearch

elasticsearch-head://pan.baidu.com/s/1uUaZ4-jONtwuAMTVydOk7w  提取碼:kqt6  git下載://github.com/mobz/elasticsearch-head

Logstash://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-windows-x86_64.zip

Kibana://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」。

 

 

 執行成功後在瀏覽器輸入「//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」啟動,瀏覽器打開「//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」命令。

 

 

 啟動完成後,瀏覽器打開「//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」

 

 

 執行成功後,瀏覽器打開「//127.0.0.1:5601」,出現kibana圖形介面。依次點擊下面三個按鈕,導入上面logstash配置文件里設置的日誌資訊。

 

 

 點擊 「Index Patterns」後進入下面介面,然後點擊右上的「Create index pattern」按鈕。

 

 

 

 

 

 

 

 

 

 

 創建成功後點擊discover,頁面展現獲取的數據。

 

 

 

 

 

 如果沒有數據,根據上面「logstash」配置文件,找到抓取日誌的目錄,在裡面創建一個log日誌文件,隨便出入幾行內容,logstash窗口會實時抓取你輸入的內容,並輸出到elasticsearch。

 

 

 輸入「lisi」測試,出現以下結果。ELK環境框架搭架完成。