1. 程式人生 > >基於logstash+elasticsearch+kibana的日誌收集分析方案(Windows)

基於logstash+elasticsearch+kibana的日誌收集分析方案(Windows)

一 方案背景

    通常,日誌被分散的儲存不同的裝置上。如果你管理數十上百臺伺服器,你還在使用依次登入每臺機器的傳統方法查閱日誌。這樣是不是感覺很繁瑣和效率低下。開源實時日誌分析ELK平臺能夠完美的解決日誌收集和日誌檢索、分析的問題,ELK就是指ElasticSearch、Logstash和Kiabana三個開源工具。

    因為ELK是可以跨平臺部署,因此非常適用於多平臺部署的應用。

二 環境準備

    1. 安裝JDK1.8環境     2. 下載ELK軟體包

    分別解壓下載的軟體,elasticsearch,logstash,kibana 可以放在一個統一資料夾下

三 部署

    1.配置logstash

在logstash資料夾的下bin目錄建立配置檔案logstash.conf ,內容如下:

  1. input {
  2. # 以檔案作為來源
  3. file {
  4. # 日誌檔案路徑
  5. path => "F:\test\dp.log"
  6. }
  7. }
  8. filter {
  9. #定義資料的格式,正則解析日誌(根據實際需要對日誌日誌過濾、收集)
  10. grok {
  11.     match => { "message" => "%{IPV4:clientIP}|%{GREEDYDATA:request}|%{NUMBER:duration}"}
  12. }
  13. #根據需要對資料的型別轉換
  14. mutate { convert => { "duration" => "integer" }}
  15. }
  16. # 定義輸出
  17. output {
  18. elasticsearch {
  19. hosts => ["localhost:9200"] #Elasticsearch 預設埠
  20. }
  21. }  

在bin目錄下建立run.bat,寫入一下指令碼:

  1. logstash.bat -f logstash.conf

執行run.bat啟動logstash。

2. 配置Elasticsearch 

 Elasticsearch預設埠9200,執行bin/elasticsearch.bat即可啟動。

   啟動後瀏覽器訪問 127.0.0.1:9200 ,出現以下的json表示成功。

 

3.配置kibana

 Kibana啟動時從檔案kibana.yml讀取屬性。預設設定配置Kibana執行localhost:5601。要更改主機或埠號,或者連線到在其他機器上執行的Elasticsearch,需要更新kibana.yml檔案。

 執行bin/kibana.bat啟動Kibana。

四 測試

    1.建立Index    

    用瀏覽器開啟http://localhost:5601/  系統會提示建立Index,可以按時間建立Index。在Discover選項卡上你會看到你剛剛在dp.log中輸入的內容。

 2. 檢索日誌

快速檢索定位。

3. 日誌分析

    新建Visualize,選擇Line(當然其他檢視都可以)。然後選擇資料來源。

 X軸選擇時間,Y軸分別為訪問介面的最大耗時和平均耗時。

 建立Dashboard檢視,可以將相關圖示放在一個檢視,方便分析。