1.背景
日志主要包括系統日志、應用程序日志和安全日志。系統運維和開發人員可以通過日志了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日志可以了解服務器的負荷,性能安全性,從而及時采取措施糾正錯誤。
通常,日志被分散的儲存不同的設備上。如果需要管理數十上百台服務器,必須依次登錄每台機器的傳統方法查閱日志,這樣很繁瑣和效率低下。當務之急是使用集中化的日志管理,開源實時日志分析ELK平台能夠完美的解決上述所提到的問題。
2.工具
ELK由ElasticSearch(ES)、Logstash和Kiabana三個開源工具組成。
ES是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。
Logstash是一個完全開源的工具,可以對日志進行收集、分析、並將其存儲供以后使用。
kibana也是一個開源和免費的工具,他Kibana可以為Logstash和ES提供的日志分析友好的Web界面,可以幫助您匯總、分析和搜索重要數據日志。
可以在ELK官網 https://www.elastic.co/下載最新版本的工具安裝包,Windows環境選擇后綴為zip格式的下載。如遇下載速度慢或下載中途停止,可以采用VPN代理下載或者雲服務器下載。
3.安裝環境
本次ELK平台搭建均在Windows環境(Windows 10)下進行,Linux平台下環境搭建和Windows下基本類似,就不再介紹。
4.安裝過程
4.1安裝配置Java環境
在Oracle官網獲取最新版的Java版本,由於只是運行不是開發,所以也可以只下載JRE。官網:http://www.oracle.com/
安裝過程比較簡單,運行可執行文件一直下一步即可。安裝完成后,配置JAVA_HOME和JRE_HOME,如下圖所示:
在cmd命令窗口中運行java -version命令,如果現實如下結果,表示安裝成功:
4.2安裝ELK
由於Logstash服務依賴ES服務,Kibana服務依賴Logstash和ES,所以ELK的服務啟動順序為:ES->Logstash->Kibana,為了配合服務啟動順序,我們安裝順序和啟動順序保持一致。
解壓三個壓縮包到同一個目錄中,目錄的絕對路徑中最好不要出現中文字符和空格。如下圖(解壓到D盤的ELK目錄下):
4.3安裝ES服務
cmd進入elasticsearch的bin目錄,運行Service install,安裝ES服務,如下圖:
運行 service manager,管理配置ES,點擊Start啟動服務,如下圖:
如果啟動未成功,檢查以下配置是否正常,如圖:
至此,ES服務安裝配置基本完成。
打開瀏覽器,輸入http://localhost:9200/,若出現以下結果,則表示安裝成功,服務啟動:
安裝head插件,在bin目錄下,運行plugin install mobz/elasticsearch-head。安裝完成后,在瀏覽器里輸入:http://localhost:9200/_plugin/head/,出現類似以下結果,表示插件安裝成功:
4.4安裝Logstash服務
在logstash文件夾的bin目錄里新建logstash.conf配置文件,具體內容如下,具體參數可以自定義:
在bin目錄中新建logstash啟動批處理文件run.bat
內容如下:
安裝logstash到windows服務:從nssm官網上下載nssm壓縮包,根據操作系統是32位還是64位提取出壓縮包中的nssm.exe,拷貝到logstash的bin目錄下,在cmd中運行nssm install logstash,出現安裝界面並填寫相應的內容:
在依賴里面根據填寫如下內容(注意:Java是32位的后綴是x86,64位的是x64):
添加依賴的原因是,logstash的輸出配置的是Elasticsearch,如果Elasticsearch沒有啟動,logstash無法正常工作。
最后單擊install service按鈕,執行安裝過程。
4.5安裝Kibana服務
安裝Kibana服務和logstash服務步驟差不多,將nssm拷貝到kibana的bin目錄下,在cmd中運行nssm install kibana,填寫如下內容:
依賴里面配置如下內容:
最后單擊install service按鈕,執行安裝過程。
5.啟動服務
在cmd中運行services.msc打開windows服務,依次啟動如下服務:
Elasticsearch
Logstash
Kibana
在瀏覽器中輸入:http://localhost:5601/,如果出現如下界面,表示服務啟動成功:
單擊“create”按鈕,然后點擊Discover
至此,所有服務安裝完成,平台搭建完成,后續集群的部署還需要在ELK的各個配置文件中進行詳細的配置,安裝配置過程中出現的各種問題和解決方案也會在后面詳細說明。如有疑問:請發郵件至pilihaotian@163.com,歡迎指正交流。