天天看點

Windows下ELK環境搭建(單機多節點叢集部署)

  

1.背景

日志主要包括系統日志、應用程式日志和安全日志。系統運維和開發人員可以通過日志了解伺服器軟硬體資訊、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日志可以了解伺服器的負荷,性能安全性,進而及時采取措施糾正錯誤。

通常,日志被分散的儲存不同的裝置上。如果需要管理數十上百台伺服器,必須依次登入每台機器的傳統方法查閱日志,這樣很繁瑣和效率低下。當務之急是使用集中化的日志管理,開源實時日志分析ELK平台能夠完美的解決上述所提到的問題。

2.需要安裝的工具

ELK由ElasticSearch(ES)、Logstash和Kiabana三個開源工具組成。

ES是個開源分布式搜尋引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多資料源,自動搜尋負載等,最重要的是近實時搜尋。

Logstash是一個完全開源的工具,可以對日志進行收集、分析、并将其存儲供以後使用。

kibana也是一個開源和免費的工具,他Kibana可以為Logstash和ES提供的日志分析友好的Web界面,可以幫助您彙總、分析和搜尋重要資料日志

下載下傳位址:https://www.elastic.co/downloads 

Windows下ELK環境搭建(單機多節點叢集部署)

 ELK是基于java的開源,是以需要安裝jdk,配置環境變量

安裝過程比較簡單,運作可執行檔案一直下一步即可。安裝完成後,配置JAVA_HOME和JRE_HOME,如下圖所示:

Windows下ELK環境搭建(單機多節點叢集部署)

在cmd指令視窗中運作java -version指令,如果現實如下結果,表示安裝成功:

Windows下ELK環境搭建(單機多節點叢集部署)

Logstash服務依賴與ES服務,Kibana服務依賴Logstash和ES,是以ELK的服務啟動順序為:ES->Logstash->Kibana,為了配合服務啟動順序,我們安裝順序和啟動順序保持一緻。

解壓三個壓縮包到同一個目錄中,目錄的絕對路徑中最好不要出現中文字元和空格,解壓目錄如下:

Windows下ELK環境搭建(單機多節點叢集部署)

3.安裝

然後依次安裝,在es的bin目錄下執行service install指令安裝就好了,預設端口是9200。

Windows下ELK環境搭建(單機多節點叢集部署)

安裝成功之後浏覽器直接通路: http://localhost:9200/  若出現以下結果,則表示安裝成功,服務啟動::

Windows下ELK環境搭建(單機多節點叢集部署)

接下來我們安裝head插件,在bin目錄下,運作plugin install mobz/elasticsearch-head。安裝完成後,在浏覽器裡輸入:http://localhost:9200/_plugin/head/,出現類似以下結果,表示插件安裝成功:(預設情況下是單節點的,下圖是我配置的單機多節點,模拟叢集部署的環境)

Windows下ELK環境搭建(單機多節點叢集部署)

接下來安裝 logstash服務,我們需要借助 nssm 來安裝,具體nssm 是什麼東西,請看官網解釋:

nssm is a service helper which doesn't suck. srvany and other service helper programs suck because they don't handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died. nssm monitors the running service and will restart it if it dies. With nssm you know that if a service says it's running, it really is. Alternatively, if your application is well-behaved you can configure nssm to absolve all responsibility for restarting it and let Windows take care of recovery actions.

具體就不翻譯了,應該都能看得懂。

從官網下載下傳nssm.exe之後 拷貝到logstash的bin目錄下,然後在bin目錄下建立logstash.conf配置檔案,具體内容如下,具體參數可以自定義:

我的定義如下:

Windows下ELK環境搭建(單機多節點叢集部署)

具體參數什麼意思請參考官網文檔解釋。

然後再建立 run.bat檔案,内容如下:

Windows下ELK環境搭建(單機多節點叢集部署)

然後運作指令:nssm install logstash 安裝:

Windows下ELK環境搭建(單機多節點叢集部署)

在依賴裡面根據填寫如下内容(注意:Java是32位的字尾是x86,64位的是x64):

Windows下ELK環境搭建(單機多節點叢集部署)

添加依賴的原因是,logstash的輸出配置的是Elasticsearch,如果Elasticsearch沒有啟動,logstash無法正常工作。

最後單擊install service按鈕,執行安裝過程。

最後安裝kibana,步驟和上面的步驟一樣,依賴裡面配置如下内容:

Windows下ELK環境搭建(單機多節點叢集部署)

 4.啟動服務

在cmd中運作services.msc打開windows服務,依次啟動如下服務:

Elasticsearch

Logstash

Kibana

在浏覽器中輸入:http://localhost:5601/,如果出現如下界面,表示服務啟動成功:

Windows下ELK環境搭建(單機多節點叢集部署)

單擊“create”按鈕,我的index名字是:.kibana  然後點選Discover

Windows下ELK環境搭建(單機多節點叢集部署)

到此我們的單節點的配置就完了,在生産環境一般都是多節點叢集化部署,再加loadbalance處理。

我們也可以在單機做多節點部署,模仿叢集環境,配置也比較簡單把 es的目錄拷貝三份

Windows下ELK環境搭建(單機多節點叢集部署)

 然後分别修改config/elasticsearch.yml 檔案中的下面參數:

 cluster.name: elasticsearch  叢集名稱,4個節點的叢集名稱一樣才能識别到是屬于同一個叢集(前提是要在同一個網段,單機本身就是同一網段的)

 node.name: followNode1 節點名稱,叢集中各個節點的名稱,我的分别是 followNode1,followNode2,followNode3,主節點叫:masterNode

 transport.tcp.port: 9301  tcp通信端口,預設主節點是:9300,我的幾個從節點分别是: 9301,9302,9303

 http.port: 9201  http通信端口,預設主節點是:9200,我的幾個從節點分别是: 9201,9202,9203

注意我是直接拷貝的三份,是以service的名字也是一樣的,我們需要手動修改一下

Windows下ELK環境搭建(單機多節點叢集部署)

修改service_id參數,這就是安裝到windows服務的名稱,不能重複,是以我們依次改為backup1,backup2,backup3 ,名字可以自己随便起,但是最好起的有點意義

叫backup是因為他作為備份接節點存在。我們知道在叢集化的管理中有master/slave的概念,也就是主/從節點,主要是為了雙機備份,防止單節點當機,幾乎所有的叢集化

都有這樣的功能。比如solr,HBase,Cassandra,Hadoop等等。當master節點挂掉之後,其他的slave節點會自動重新選舉出一個master節點,這個選舉在ES叢集中已經

實作,不像solr等其他的需要借助于zookeeper。

我們在建立節點的時候可以在配置檔案elasticsearch.yml 中指定目前節點是否為主節點:

node.master: false 是否為主節點

node.data: true  是否作為資料節點

更多參數指令園子裡已經有朋友整理的很詳細了請參考: http://www.cnblogs.com/hanyouchun/p/5163183.html

修改好配置之後我們依次安裝各個節點的服務,裝好之後如下:

Windows下ELK環境搭建(單機多節點叢集部署)

然後重新開機 elasticsearch-service-x64 服務,此時他作為master節點存在,重新開機之後才能識别到新的slave節點的存在,需要注意的是:

 elasticsearch-service-x64 服務和 logstash,kibana有依賴,它停止之後這兩個服務也就停止了,需要重新啟動。

 等服務重新啟動完成之後在浏覽器輸入任何一個slave節點,都會顯示在一個叢集中:

Windows下ELK環境搭建(單機多節點叢集部署)

ES提供了非常易用的Reful風格的api,非常易用,目前是非常活躍的開源搜尋工具。

它支援多種類型的簡單查詢和複合查詢,自己動手實踐一下就知道他有多好用了:

Windows下ELK環境搭建(單機多節點叢集部署)
Windows下ELK環境搭建(單機多節點叢集部署)

學習位址:http://www.learnes.net/

歡迎關注微信公衆平台聯系我:上帝派來改造世界的人

Windows下ELK環境搭建(單機多節點叢集部署)

如果您覺得本文對你有用,不妨幫忙點個贊,或者在評論裡給我一句贊美,小小成就都是今後繼續為大家編寫優質文章的動力!

歡迎您持續關注我的部落格:)

作者:Ken Wang

出處:http://www.cnblogs.com/Wolfmanlq/

版權所有,歡迎保留原文連結進行轉載:)

上一篇: KeyValue Config

繼續閱讀