參考來自:Windows環境下ELK平台的搭建
另一篇博文:2017.7.18 linux下ELK環境搭建
0 版本說明
因為ELK從5.0開始只支持jdk 1.8,但是項目中使用的是JDK 1.7,所以采用的是5.0前的最新版本。
1 Elasticsearch : 2.4.4 2 Logstash:2.4.1 3 kibana:4.6.4
操作環境:(windows 2003上操作過,提示kibana不支持該系統)
1 下載和解壓
下載地址:https://www.elastic.co/downloads
其中nssm是用來注冊windows服務的。
解壓三個壓縮包到同一個目錄中,目錄的絕對路徑中最好不要出現中文字符和空格,解壓目錄如下:
2 安裝Elasticsearch服務
2.1 修改配置文件elasticsearch.yaml
為了能通過瀏覽器訪問elasticsearch,需要修改配置文件elasticsearch.yaml的host和port。
2.2 cmd至elasticsearch的bin目錄,執行Service install
2.3 bin目錄下運行service manager,進行配置
2.4 訪問localhost:9200 來驗證
訪問localhost:9200,出現如下頁面則安裝並啟動服務成功。
2.5 安裝head插件
仍然在bin目錄下,執行plugin install mobz/elasticsearch-head。
訪問localhost:9200/_plugin/head/,出現如下頁面,表示安裝head插件成功。這里已經有一些建好的索引了。
3 安裝Logstash服務
3.1 在bin目錄下,新建配置文件logstash.conf和run.bat
3.2 logstash.conf
簡單的配置如下:input和output為必填,filter可以根據需求來寫或者不寫。因為這里處理的數據為json,所以在codec里設置了json。
更詳細的配置參看官網。
1 input{ 2 file{ 3 path => "E:/lyh/software/ELK/sample/data/accounts.json" 4 start_position => "beginning" 5 type => "testdata" 6 codec => json{ 7 charset => "UTF-8" 8 } 9 } 10 } 11 12 filter{ 13 } 14 15 output{ 16 elasticsearch{ 17 hosts => "localhost:9200" 18 index => "logstash-%{type}" 19 } 20 }
3.3 run.bat
1 logstash.bat agent -f logstash.conf
3.4 通過nssm安裝logstash服務
根據操作系統的位數是32還是64,取出對應的nssm.exe,放入logstash的bin目錄下。
在cmd中運行nssm install logstash。
在跳出來的窗口中配置application和dependences頁。
4 安裝kibana服務
4.1 通過nssm安裝logstash服務
根據操作系統的位數是32還是64,取出對應的nssm.exe,放入kibana的bin目錄下。
在cmd中運行nssm install kibana。
在彈出的窗口中配置application和dependences頁。
4.2 查看ELK服務是否成功啟動
在cmd中運行services.msc,打開windows服務,查看是否已經成功安裝並啟動。如果沒有啟動,在這里直接啟動也一樣。
4.3 訪問localhost:5601 來驗證
訪問localhost:5601,出現如下畫面則成功:
5 使用ELK處理數據
上面訪問localhost:5601的時候,可以看到有一個提示:unable to fetch mapping,do you have indices matching the pattern?
而訪問localhost:9200的時候,也可以看到索引里沒有剛剛logstash.conf配置里的:logstash-testdata。
ps:只要重啟elasticsearch服務,就會一起啟動其他兩個服務。
刷新頁面后可以看到elasticsearch中已經有了新的索引和數據:
這個時候再去kibana中創建對應的索引,就可以查看相應的數據了。此時的提示已經不見,變成了create。
點擊創建后,訪問kibana的discover頁,就可以看到數據了。
經過一些處理后,可以看到一些更直觀的畫面信息。