基於logstash+elasticsearch+kibana的日誌收集分析方案(Windows)
一 方案背景
通常,日誌被分散的儲存不同的裝置上。如果你管理數十上百臺伺服器,你還在使用依次登入每臺機器的傳統方法查閱日誌。這樣是不是感覺很繁瑣和效率低下。開源實時日誌分析ELK平臺能夠完美的解決日誌收集和日誌檢索、分析的問題,ELK就是指ElasticSearch、Logstash和Kiabana三個開源工具。
因為ELK是可以跨平臺部署,因此非常適用於多平臺部署的應用。
二 環境準備
1. 安裝JDK1.8環境 2. 下載ELK軟體包
分別解壓下載的軟體,elasticsearch,logstash,kibana 可以放在一個統一資料夾下
三 部署
1.配置logstash
在logstash資料夾的下bin目錄建立配置檔案logstash.conf ,內容如下:
input {
# 以檔案作為來源
file {
# 日誌檔案路徑
path => "F:\test\dp.log"
}
}
filter {
#定義資料的格式,正則解析日誌(根據實際需要對日誌日誌過濾、收集)
grok {
match => { "message" => "%{IPV4:clientIP}|%{GREEDYDATA:request}|%{NUMBER:duration}"}
}
#根據需要對資料的型別轉換
mutate { convert => { "duration" => "integer" }}
}
# 定義輸出
output {
elasticsearch {
hosts => ["localhost:9200"] #Elasticsearch 預設埠
}
}
在bin目錄下建立run.bat,寫入一下指令碼:
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檢視,可以將相關圖示放在一個檢視,方便分析。