一 方案背景
? ??通常,日志被分散的儲存不同的設備上。如果你管理數十上百臺服務器,你還在使用依次登錄每臺機器的傳統方法查閱日志。這樣是不是感覺很繁瑣和效率低下。開源實時日志分析ELK平臺能夠完美的解決日志收集和日志檢索、分析的問題,ELK就是指ElasticSearch、Logstash和Kiabana三個開源工具。
? ? 因為ELK是可以跨平臺部署,因此非常適用于多平臺部署的應用。
二 環境準備
? ? 1. 安裝JDK1.8環境
? ? 2.?下載ELK軟件包
- logstash:?https://artifacts.elastic.co/downloads/logstash/logstash-5.5.0.zip
- elasticsearch:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip
- kibana:?https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-windows-x86.zip?
? ??分別解壓下載的軟件,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.bat即可啟動。
? ?啟動后瀏覽器訪問?127.0.0.1:9200?,出現以下的json表示成功。
?
?
?
3.配置kibana
Kibana啟動時從文件kibana.yml讀取屬性。默認設置配置Kibana運行localhost:5601
。要更改主機或端口號,或者連接到在其他機器上運行的Elasticsearch,需要更新kibana.yml
文件。
kibana.bat啟動Kibana。
?
四 測試
? ??1.創建Index? ??
? ??用瀏覽器打開http://localhost:5601/??系統會提示創建Index,可以按時間創建Index。在Discover選項卡上你會看到你剛剛在dp.log中輸入的內容。
?2. 檢索日志
快速檢索定位。
?
3.?日志分析
? ??新建Visualize,選擇Line(當然其他視圖都可以)。然后選擇數據源。
?X軸選擇時間,Y軸分別為訪問接口的最大耗時和平均耗時。
?創建Dashboard視圖,可以將相關圖標放在一個視圖,方便分析。
?
?
?