一 方案背景
通常,日志被分散的儲存不同的設備上。如果你管理數十上百台服務器,你還在使用依次登錄每台機器的傳統方法查閱日志。這樣是不是感覺很繁瑣和效率低下。
開源實時日志分析
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默認端口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視圖,可以將相關圖標放在一個視圖,方便分析。
