ELK是指Elasticsearch + Logstash + Kibaba三個組件的組合。本文講解一個基於日誌文件的ELK平臺的搭建過程,有關ELK的原理以及更多其餘信息,會在接下來的文章中繼續研究。
在這個系統中,Elasticsearch主要充當一個全文檢索和分析引擎,Logstash是一款分佈式日誌收集系統,Kibana能夠爲這個平臺提供可視化的Web界面html
目前官網最新版本爲5.6.3 官網地址 https://www.elastic.co/cn/downloadslinux
Elasticsearch-5.6.3
Logstash-5.6.3
Kibana-5.6.3
JDK-1.8.0_65 vim
Elasticsearch是個開源分佈式搜索引擎,它的特色有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。瀏覽器
Logstash是一個徹底開源的工具,他能夠對你的日誌進行收集、過濾,並將其存儲供之後使用(如,搜索)。安全
Kibana 也是一個開源和免費的工具,它Kibana能夠爲 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,能夠幫助您彙總、分析和搜索重要數據日誌。ruby
1.ElasticSearch安裝,官網連接:https://www.elastic.co/downloads/elasticsearch,截止目前最新版本5.6.3服務器
(1) 下載最新包:restful
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gzelasticsearch
(2) 解壓縮:分佈式
tar -xzvf elasticsearch-5.6.3.tar.gz
(3) 將文件夾移到 /user/local目錄下
mv elasticsearch-5.6.3 /usr/local
(4)進入到elasticsearch的安裝目錄的config下
cd /usr/local/elasticsearch-5.6.3/config
(5)修改配置:
vim elasticsearch.yml
path.data,path.logs修改成本身本機的data路徑,這裏的路徑須要自定義,而且設置用戶權限(前提要先建好用戶組和用戶,這一步能夠到後面在作)
chown -R elsearch:elsearch data/es/
chown -R elsearch:elsearch logs/es/
network.host修改成安裝服務器地址個人ip地址是192.168.42.128
http.port爲http訪問端口,默認是9200
(6)啓動ElasticSearch:
./bin/elasticsearch
發現報錯,說不能使用root啓動,因爲考慮到安全性,全部只能新建用戶來啓動
建立elseaerch用戶組及用戶:
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
更改elasticsearch文件夾及內部文件的所屬用戶及組爲elsearch:elsearch:
chown -R elsearch:elsearch elasticsearch-5.6.3
切換用戶elsearch:
su elsearch
啓動elasticsearch:./bin/elasticsearch
啓動過程當中有可能報以下錯誤:
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536],
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048],
max number of threads [1024] for user [lish] likely too low, increase to at least [2048],
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
具體解決方案----->Elasticsearch5.0 安裝問題集錦
最後再次切換elsearch用戶啓動
在瀏覽器中打開 http://192.168.42.128:9200
2. Logstash的安裝
(1) 下載最新包:
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.tar.gz
(2)解壓
tar -xzvf logstash-5.6.3.tar.gz
(3)將文件夾移動到 /usr/local下
mv logstash-5.6.3 /usr/local
解壓後是沒有logstash的配置文件的,須要手動建立,下圖的logstash.conf就是我手動建立的,爲了測試,只是配置了簡單的標準輸入和標準輸出,內容以下:
touch /etc/logstash.conf
input { stdin { } } output { stdout { codec => rubydebug {} } }
(4)啓動logstash
./bin/logstash -f /usr/local/logstash-5.6.3/etc/logstash.conf
3.ElasticSearch和Logstash集成
修改logstash.conf文件
vim /usr/local/logstash-5.6.3/etc/logstash.conf
input { stdin { } } output { elasticsearch { hosts => "192.168.42.128:9200" index => "logstash-test" } stdout { codec => rubydebug {} } }
在output中添加elasticsearch,hosts改爲elasticsearch中配置的服務器ip地址。
在瀏覽器中輸入 http://192.168.42.128:9200/logstash-test/_search
message信息是我後來輸入的2條信息。每次都這樣查看數據有點麻煩,就須要用到可視化工具kibana了
5.kibana安裝
(1)下載
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-linux-x86_64.tar.gz
(2)解壓
tar -xzvf kibana-5.6.3-linux-x86_64.tar.gz
(3)移動
mv kibana-5.6.3-linux-x86_64 /usr/local
(4)進入kibana的解壓目錄的config目錄下,編輯kibana.yml,server.port:5601放開,server.host修改成kibana的安裝服務器,配置elasticsearch的路徑端口
(5)啓動kibana
./bin/kibana
在瀏覽器中輸入 http://192.168.42.128:5601
點擊create
輸入關鍵字搜索,以下圖
至此elk的環境搭建完成了...