windows环境下ELK平台搭建
生活随笔
收集整理的這篇文章主要介紹了
windows环境下ELK平台搭建
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景
-
日志系統主要包括系統日志,應用程序日志和安全日志。系統運維和開發人員可以通過日志了解服務器的軟件,硬件信息,檢查配置過程中的錯誤以及錯誤發生的原因。通常分析日志可以了解服務器的負荷,性能安全性,從而及時采取措施糾正錯誤。
-
難點一:通常日志被分散在不同設備上,如果你管理數十臺上百臺服務器,你開在使用一次登錄每一臺機器的傳統方法查詢日志,效率明顯低下。我們應該使用集中化的日志管理,例如:開源的syslog,將所有服務器上的日志收集匯總。
-
難點二:集中化管理后,日志系統的統計檢索又成為一件比較麻煩的事情,一般我們使用grep, awk, wc等linux命令能實現檢索和統計,但是對于要求更高的查詢,排序和統計等要求和龐大的機器數量依然使用這樣的方法難免會有點力不從心。
-
解決方法:開源實時的日志分析ELK平臺能夠王梅的解決我們上述的問題,ELK由ElasticSearch,Logstash和Kibana三個開源工具組成,官網:https://www.elastic.co/cn/products/
- Elasticsearch是一個開源分布式搜索引擎,他的特點是:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格的接口,多數據源,自動搜索負載等。
- Logstash是一個完全開源的工具,他可以對你的日志進行收集,過濾,并將其存儲以后使用(比如,搜索)
- Kibana也是一個開源和免費的工具,Kibana可以為Logstash和ElasticSearch提供日志分析友好的Web界面,可以幫助匯總,分析,和搜索重要數據日志。
-
以下ELK工作原理圖:
安裝環境
- Windows10
- ElasticSearch:7.3.2
- Logstash:7.3.2
- Kibana:7.3.2
- JDK:1.8
- NSSM:2.24
安裝配置Java環境
- 在Oracle官網獲取最新版本的JAVA版本,運行按提示下一步就可以完成,安裝后配置環境變量如圖:
- CMD窗口下運行java -version命令,如果如下結果表示安裝成功:
安裝ELK
- 由于Logstash服務依賴ES服務,Kibana服務依賴LogStash和ES,所以ELK服務啟動順序為:ES—LogStash—Kibana,為了配合服務啟動順序,我們安裝順序也按啟動順序,首先準備所需要軟件,如下地址:
- elasticsearch國內鏡像
- kibana國內鏡像
- logstash國內鏡像
- NSSM下載地址
- 三個軟件盡量用同一個版本的,否則可能出現不兼容的情況
Elasticsearch安裝
- 下載解壓,進入bin目錄下,直接雙擊執行elasticsearch.bat,可以看到如下
- 我們測試一下是否啟動成功:
- 安裝ElasticSearch-head插件,此處直接在Chrom瀏覽器中搜索ElasticSearch-head插件安裝即可。
- 如下效果,輸入localhost:9200,點擊鏈接,就可以通過插件瀏覽es中現有的數據,并且支持查詢操作:
- 以上啟動方式是直接通過bat腳本,我們現在利用nssm軟件對ES進行管理,將ES添加到系統進程中進行啟動更加方便,如下流程:
- 下載nssm,加壓縮得到如下:
- 找到自己系統對應的win32,或者win64系統,將里面nssm.ext復制到ElasticSearch的bin目錄中
- CMD到es的bin目錄下,執行nssm install elasticsearch,回車后會彈出一個安裝設置界面:
- 如上圖所示,填好對應的目錄地址,applicationPath:選es的bin目錄下 elasticsearch.bat文件,startup directory會自動填充,點擊install service提示安裝成功
- 在CMD中輸入services.msc打開windows服務管理界面找到elasticsearch,右鍵啟動,按上步驟測試即可。
Logstash安裝
- 先來一個常規非nssm方式的安裝,下載解壓,進入到logstash,將config目錄下logstash-sample.conf 文件負責到bin目錄,并且修改如下,重命名logstash.conf 首先來一個最簡單配置:
- 配置如上input指定日志來源是為空設置,表示日志來自控制臺,output配置日志輸出位置,指定位es地址,允許多個
- CMD到logstash的bin目錄下執行啟動命令:logstash -f stdin.conf
- 當看到如上日志,表示已經成功啟動并且連接到es,我們在控制臺上輸入任意字符,多試幾次,日志推送到es中有一定延遲,接著到es-head中查看
- 在elasticsearch中會自動創建一個內容分配,用來存儲logstash推送過來的信息,如下圖所示:
- 我們可以通過基本查詢來查詢到我們剛才在控制臺輸入的信息。
- 接著我們來指定文件的形式來指定輸入參數,畢竟我們實際運行的時候一定是讀取日志文件中的內容,我們修改剛才復制到bin目錄中的logstash.config文件如下:
- 如上圖所示,file指定了是文件輸入類型,path指定文件地址,是數組類型可以指定多個,此處我們用一個springboot項目的json日志格式來進行測試。
- 再次啟動,并啟動springboot項目,多次請求,再次查詢ES。
- 以上是通過bat腳本直接運行,接著我們還是用nssm的方式來進行配置,還是和剛才一樣的流程
- 將nssm.exe文件拷貝到logstash的bin目錄下,在bin目錄下創建run.bat并且編輯填入如下信息:
- cmd到bin目錄下,執行 nssm install logstash,選擇剛才創建的run.bat,點擊install service,提示安裝成功。
安裝kibana服務
- 下載解壓,這次直接用nssm的方式
- 還是將nssm目錄下對應本系統的nssm.exe復制到kibana的bin目錄下
- cmd到kibana的bin目錄下,執行nssm install kibana,選擇bin目錄下kibana.bat,點擊install service 完成安裝
啟動項目
- CMD找那個運行services.msc,打開windiws服務,依次啟動如下服務:
- Elasticsearch
- Logstash
- Kibana
- 在瀏覽器中輸入http://localhost:5601/,可以看到如下界面:
- 上截圖界面來配置一個對應es中分配的查詢,點擊左側的index patterns,選擇es中的分片,我們可以得到如下查詢界面:
- 如上圖所示,我們將日志文件中的信息通過kibana來進行查詢。
- 至此,所有服務安裝完成,平臺搭建完成,本次只是一個單機,單節點的測試項目,后續的機去部署需要每個軟件進行集群配置安裝。
總結
以上是生活随笔為你收集整理的windows环境下ELK平台搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络编程-HTTPS协议的实现原理
- 下一篇: java 操作日志设计_日志系统新贵 L