1. 程式人生 > >ELK安裝流程和ELK安裝遇到的所有坑

ELK安裝流程和ELK安裝遇到的所有坑

安裝filebeat

1.解壓tar -zxvf filebeat-5.2.2-linux-x86_64.tar.gz

2. 修改filebeat.yml裡的配置內容,一個輸入,一個輸出。

3. 修改如下:
input:(第二個紅框改成自己日誌源)

這裡寫圖片描述

output:(輸出到Elasticsearch output和Logstash output)
我們要輸出到Logstash output,所以把Elasticsearch output註釋掉。
用哪個開啟哪個,把另一個註釋掉(同時開啟沒試過)
如圖:
這裡寫圖片描述

4. 啟動:./filebeat -e -c filebeat.yml -d “Publish”

檢視filebeat程序
ps -ef |grep filebeat

注意事項:

在每次啟動filebeat之前,要刪除data下的re開頭的檔案

logstash安裝

1.解壓logstash,tar -zxvf logstash-5.2.2.tar.gz

2.進入資料夾,並建立conf檔案,建立一個conf資料夾,在conf目錄下自定義一個.conf的配置(例如test.conf)

3.beat-to-es.conf檔案,裡面有兩個外掛,一個input,一個ouput
  input裡面寫beats外掛,定製logstash埠為5044,和 filebeat進行輪詢匹配
  output裡面寫輸出到控制檯,以json格式輸出到螢幕(測試用,能顯示出來)

這裡寫圖片描述

顯示:

這裡寫圖片描述

還可以輸出到Elasticsearch外掛,是將filebeat傳過來的 日誌輸出到hosts裡定義的主機上,並且指定index索引名。 (隨便起的索引名測試用,具體學習input和output裡面怎麼寫,挺複雜的)

這裡寫圖片描述

4.啟動測試命令(進入logstash資料夾下)
./bin/logstash -f /home/elk/logstash-5.2.2/conf/beat_to_es.conf

小結:

  檢視的的話,就裝kibana好了,在頁面裡面的輸入框輸入test_system_log,如果下面的按鈕文字不是unable to fetch mapping xxxx,就說明日誌收整合功了,點create按鈕就建立好了

安裝Elasticsearch

1. tar -zxvf elasticsearch-5.2.2
2. 啟動elasticsearch
  進入到elasticsearch/bin目錄下,執行./elasticsearch
  檢查elasticsearch是否啟動:執行curl http://localhost:9200/?pretty
  驗證Elasticsearch啟動成功:在瀏覽器輸入:192.168.121.160.9200,顯示如下
這裡寫圖片描述

出現的問題:

問題1:

[2018-04-12T21:13:16,702][WARN ][o.e.b.BootstrapChecks ] [JDMXwnY] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決辦法:

切換到root使用者,vi /etc/sysctl.conf ,新增配置(檔案最後面):vm.max_map_count=655360
新增完成後並執行命令:sysctl -p

問題2:

在同一個節點啟動多個elasticsearch時報failed to obtain node locks錯誤
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/home/elk/elasticsearch-5.2.2/data/elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?

解決辦法:

在elasticsearch.yml中設定如node.max_local_storage_nodes: 3
node.max_local_storage_nodes的數值大於1即可。

問題3:

[2018-04-12T21:13:16,702][WARN ][o.e.b.BootstrapChecks ] [JDMXwnY] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決辦法:

切換到root使用者,vi /etc/sysctl.conf ,新增配置(檔案最後面):vm.max_map_count=655360
新增完成後並執行命令:sysctl -p

問題4:

ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

解決辦法:

切換到root使用者,vi /etc/security/limits.conf
新增配置(elk是使用者名稱):elk hard nofile 65536
elk soft nofile 65536
然後重啟!!!!重啟!!!!
登入elk使用者,執行ulimit -Hn 顯示 65536。就解決了

安裝kibana

1.解壓kibana
tar -zxvf kibana-5.2.2-linux-x86_64.tar.gz
2.啟動kibana
進入kibana/bin
./kibana
啟動之後,在window頁面無法訪問頁面,將kibana.yml中的server.host: “localhost”改為server.host: “0.0.0.0”,重啟後生效,注意必須要重啟
配置檔案位於kibana/config/
日誌檔案位於kibana/log/kibana/
預設連線的是本機elasticsearch,可在配置檔案中修改 elasticsearch.url: “http://10.0.10.40:9200

在啟動就ok了,命令:./kibana(看見紅框這樣就ok了)
這裡寫圖片描述

出現的問題:

啟動之後,在window頁面無法訪問頁面,將kibana.yml中的server.host: “localhost”改為server.host: “0.0.0.0”,重啟後生效,注意必須要重啟

log [14:48:30.947] [warning][admin][elasticsearch] Unable to revive connection: http://localhost:9200/
log [14:48:30.948] [warning][admin][elasticsearch] No living connections
log [14:48:30.952] [info][status][plugin:[email protected]] Status changed from uninitialized to green- Ready

解決辦法:

在config/kibana.yml裡面新增如下:
elasticsearch_url: “http://192.168.1.104:9200