隨着項目越來越龐大,日志的數量也隨之增多,游戲上線后的日志量肯定更多了,所以對日志的收集、存儲、查詢就非常重要了,開源界第一日志分析系統ELK必不可少。
ELK系統由Elasticsearch(分布式存儲搜索服務器)、Logstash(日志收集服務器)和Kibana(Elasticsearch前端展示工具)三個開源工具組成。
ELK工作原理展示圖:
如上圖所示,Logstash收集AppServer產生的Log,並存放到Elasticsearch集群中,而Kibana則從ES集群中查詢數據,最后通過Browser(瀏覽器)展示查詢結果。
下圖是博主自己建立ELK系統的計划用時與實際用時對比圖,大家可以參考下:
接下來,我們先學習ELK三個工具的部署安裝,並試驗你的第一個例子。
一、elasticsearch 部署安裝
1、官網下載ZIP
2、解壓
3、進bin目錄:G:\elasticsearch-5.6.3\elasticsearch-5.6.3\bin,shift+右鍵 --》 “此處打開命令行”,輸入:elasticsearch
4、報錯:elasticsearch missing `server' JVM at `C:\Program Files (x86)\Java\jre1.8.0\bin\server\jvm.dll'.
解決辦法:jdk1.8.0\jre\bin\server 整個文件夾,復制到 jre1.8.0\bin 里面
5、繼續執行第3步,輸入:elasticsearch
6、報錯:
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
解決辦法:G:\elasticsearch-5.6.3\elasticsearch-5.6.3\config\jvm.options,修改jvm.options文件的22,23行,

啟動ES成功,打開地址:http://localhost:9200/
二、logstash 部署安裝
1、下載ZIP
2、解壓
3、找到 G:\ELK\logstash-5.6.3\config\jvm.options,修改其中JVM的內存配置為512m,6、7行
4、進行最簡單的管道測試,進入 G:\ELK\logstash-5.6.3\bin 目錄,shift+右鍵 "此處打開命令行" 輸入:logstash -e 'input { stdin { } } output { stdout {} }'
5、可以看到Pipeline main started,此時命令行已經准備好你的輸入了,我們輸入“hello world”
6、至此,我們確認logstash安裝部署成功。(你也可以試試執行命令: logstash -e '',看看會輸出什么)
三、Kibana部署安裝
1、下載ZIP
2、解壓
3、進入G:\ELK\kibana-5.6.3-windows-x86\bin 目錄,shift+右鍵 "此處打開命令行" ,運行kibana.bat,結果如下圖:
注意:Kibana是基於Elastcisearch的前端顯示工具,運行前要確認Elasticsearch服務已經開啟,否則將會報錯。
4、訪問http://localhost:5601/,會看到:
5、至此,Kibana已經成功安裝部署。