Logstash+Elasticsearch+Kibana 聯合使用搭建日誌分析系統(Windows系統)
最近在做日誌分析這塊兒,要使用 Logstash+Elasticsearch+Kibana 實現日誌的匯入、過濾及視覺化管理,官方文件寫的不夠詳細,網上的文章大多要麼是針對Linux系統的用法,要麼就是抄襲別人的配置大都沒法執行。費了很大勁才搞定了這仨東西,寫一篇用法心得,廢話不多說,進入主題。
首先,你的電腦上要裝Java 的JDK環境,要使用 Logstash+Elasticsearch+Kibana,需要下載這三個軟體和一些必要的外掛,列表如下 :
一、 Elasticsearch配置
將下載下來的Elasticsearch 解壓,進入到config目錄下,修改elasticsearch.yml 檔案,寫入以下程式碼:
discovery.zen.ping.multicast.enabled: false #關閉廣播,如果區域網有機器開9300 埠,服務會啟 動不了
network.host: 192.168.1.91 #指定主機地址,其實是可選的,但是最好指定因為後面跟 kibana整合的時候會報http連接出錯(直觀體現好像是
監聽了:::9200而不是0.0.0.0:9200)
http.cors.allow-origin: "/.*/"
http.cors.enabled: true
這樣就添加了9200埠的elasticsearch監聽,為後面Logstash估準備。
二、Logstash 配置
Logstash 核心命令是 Input--->Filter--->Output,既可以在dos視窗中輸入配置資訊,也可以將配置資訊儲存在.conf檔案中,本文使用配置檔案載入方式。
將下載下來的Logstash壓縮包解壓,然後在bin目錄中新建 stdin.conf 檔案,其中配置程式碼如下 :
input {
stdin{}
}
output {
elasticsearch {
host => "192.168.1.91"
}
}
這段程式碼的作用是將控制檯中輸入的資訊發給elasticsearch
三、Kibana 配置
將下載下來的Kibana壓縮檔案解壓,同樣的進入到config檔案中修改kibana.yml檔案:
port: 7873
host: "192.168.1.91"
elasticsearch_url: "http://192.168.1.91:9200"
要做的配置已經基本完成,下面開始執行這些環境:
1、CMD進入到Elasticsearc的bin目錄下,執行以下命令: elasticsearch
2、CMD進入到Elasticsearc的bin目錄下,執行以下命令: logstash -f stdin.conf ,看到Logstash startup completed 代表Logstash已經啟動,在下面輸入 : where there is a will there is a way按回車。
3、CMD進入到Kibana的bin目錄下(也可以在bin目錄下按著Shift+滑鼠右鍵 選擇“在此處開啟命令視窗”),執行以下命令: kibana
4、瀏覽器中輸入 http://localhost:7873 即可看到你輸入的資訊啦:
PS:
1、最後一步我已在網頁上配置過相關mapping,故直接打開了結果,你可以按照網頁上的提示進行配置,祝你成功~~~
2、關於Curl外掛,它可以在DOS端將elasticsearch的結果顯示出來。用法為:將下載下來的Curl.exe程式放到logstash的bin目錄下,在執行完上述第二步logstash -f stdin.conf的命令並輸入資訊後,cmd進入 到logstash的bin目錄下,執行curl "http://192.168.1.91:9200/_search?pretty" 同樣可看到結果。