windows下部署ELK詳細教程


1. 什么是ELK?

  ELK是三個開源項目的首字母縮寫,這三個項目分別是:ElasticsearchLogstashKibana。Elasticsearch 是一個搜索和分析引擎。Logstash 是服務器端數據處理管道,能夠同時從多個來源采集數據,轉換數據,然后將數據發送到諸如 Elasticsearch 等“存儲庫Kibana 則可以讓用戶在 Elasticsearch 中使用圖形和圖表對數據進行可視化。

2. 為什么需要使用ELK?

  ELK常用於日志收集和分析。日志主要包括系統日志、應用程序日志和安全日志。運維和開發人員可以通過日志了解服務器運行過程中發生的錯誤及錯誤產生的原因。定期分析日志可以了解服務器的運行情況、性能、安全性等。每台服務器或應用程序都會產生日志,如果每次都登錄這些服務器查看日志並分析會耗費大量時間,而且效率低下,這時我們就需要思考如何將日志匯總起來統一查看。日志集中管理之后又會產生新的問題,日志量太大,日志統計和檢索又成為新的問題,如何能實現高性能的檢索統計呢?ELK能完美解決我們的問題。

  • Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。
  • Logstash是一個完全開源的工具,他可以對你的日志進行收集、分析,並將其存儲供以后使用。
  • kibana 也是一個開源和免費的工具,它可以為 Logstash 和 Elasticsearch 提供的日志分析友好的 Web 界面,可以匯總、分析和搜索重要數據日志。

3. windows系統下如何使用ELK?

  • 下載ELK
  • 安裝JDK
  • 啟動ELK
  • 將ELK注冊到windows服務

 

  第一步:下載ELK

    Elasticsearch:https://www.elastic.co/cn/elasticsearch/

    Logstash:https://www.elastic.co/cn/logstash/

    Kibana:https://www.elastic.co/cn/kibana

    下載后解壓,注意:解壓目錄中不要有中文,如下:

  第二步:下載安裝JDK

    由於Logstash的運行依賴於Java運行環境,所以必須安裝java環境,官網下載,雙擊根據向導安裝即可。

    安裝成功后配置系統環境變量,如下:

    

查看是否安裝成功:

    

  第三步:啟動ELK

    由於Logstash服務依賴Elasticsearch,Kibana服務依賴Logstash和Elasticsearch,所以服務啟動順序如下:Elasticsearch -> Logstash -> Kibana

    3.1 啟動Elasticsearch服務

    cmd進入elasticsearch目錄,運行以下命令,啟動ES服務,如下圖:

    bin\elasticsearch

    

      看到這些內容說明ES已經啟動成功,這時我們可以在瀏覽器中訪問:http://localhost:9200/,出現以下內容說明啟動成功了。

    

    3.2 啟動Logstash服務

  3.2.1 配置Logstash服務

  在logstash文件夾的bin目錄里新建logstash.conf配置文件,參數內容根據自己需求自定義,我這邊需要從kafka中獲取日志數據,所以配置如下:

  

 

  3.2.2 啟動服務

  cmd進入logstash下的bin目錄,執行以下命令啟動服務:

  logstash -f logstash.conf

   

   看到以上輸出內容說明服務啟動成功,這時我們可以在瀏覽器中訪問:http://localhost:9600/,出現以下內容說明啟動成功了。

   

 3.3 啟動Kibana服務

  cmd進入Kibana下的bin目錄,執行以下命令:

  kibana

  

       

  看到以上輸出內容說明服務啟動成功,這時我們可以在瀏覽器中訪問:http://localhost:5601/,出現以下內容說明啟動成功了。

  

  至此,ELK在windows平台算是啟動完成了。但是都是通過命令直接啟動,如果電腦重啟了我們還得將三個服務使用命令重啟一次,太麻煩,這時我們會想到能否將三個服務加入到windows服務中,讓其隨着系統重啟而自動重啟呢?接下來我再簡單說明下如何將三個服務注冊到windows服務中。

 

   第四步:將ELK注冊到windows服務

    4.1 安裝配置elasticsearch服務

   cd進入elasticsearch下bin目錄,執行如下服務安裝、配置命令:

  elasticsearch-service install    -- 安裝ES
  elasticsearch-service manager    --配置ES
  elasticsearch-service remove    --卸載ES

      

  注意:如果服務啟動失敗,是因為JDK版本問題,使用ES自帶的JDK即可。解決方案如下:

  打開bin目錄下的elasticsearch-env.bat文件,找到如下代碼:(從這段代碼中可以看到ES會先找JAVA_HOME環境變量,如果沒配置就使用ES自帶的jdk。)

  if defined JAVA_HOME (
    set JAVA="%JAVA_HOME%\bin\java.exe"
    set JAVA_TYPE=JAVA_HOME
  ) else (
    set JAVA="%ES_HOME%\jdk\bin\java.exe"
    set JAVA_HOME="%ES_HOME%\jdk"
    set JAVA_TYPE=bundled jdk
  )

  將上面的代碼修改為以下代碼:

  set JAVA="%ES_HOME%\jdk\bin\java.exe"
  set JAVA_HOME="%ES_HOME%\jdk"
  set JAVA_TYPE=bundled jdk

  修改完成后,卸載原來的服務,重新注冊服務即可。

 

  4.2 安裝logstash服務

  創建服務啟動批處理文件,logstashstart.bat,內容如下:

  

   這時我們需要nssm工具(一款注冊windows服務的工具),從官網下載后將nssm.exe放到logstash下bin目錄里,cmd進入目錄執行以下命令:

  nssm install logstash

  

   在依賴項中添加ES服務。因為logstash的輸出配置的是Elasticsearch,如果Elasticsearch沒有啟動,logstash無法正常工作。添加依賴項如下,最后點擊"install service"即可。

  

 

   4.3 安裝Kibana服務

   安裝kibana服務和logstash差不多,將nssm.exe放到kibana下bin目錄里,cmd進入目錄執行以下命令:

  nssm install kibana

  

 

     最后,打開windows服務,將以上三個服務啟動即可。

  至此,windows下安裝部署ELK就全部完成了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM