1. 程式人生 > >ELK學習記錄二 :elasticsearch、logstash及kibana的安裝與配置

ELK學習記錄二 :elasticsearch、logstash及kibana的安裝與配置

jre_home 支持 number yml num des 安裝包 soft filters

註意事項:

1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0、kibana-6.0.0-linux-x86_64、logstash-6.0.0.tar

2.Elasticsearch5.x版本必須基於jdk1.8,安裝環境必須使用jdk1.8

3.本人使用linux操作系統的centos6.5版本作為測試環境,其他環境命令有差異,請註意

4.本教程適合完全離線安裝

5.ELK及jdk安裝包下載路徑:https://pan.baidu.com/s/1KAPtSt4b2kbv0u2WbQElQw 密碼:087c

一、在服務器系統上準備好安裝包

技術分享圖片

可通過xshell上傳安裝包到服務器:

技術分享圖片

二、安裝jdk1.8

2.1 創建安裝目錄:

sudo mkdir /usr/lib/jvm

2.2 解壓jdk壓縮包

tar jdk-8u151-linux-x64.tar.gz -C /usr/local/jvm/

2.3 配置環境變量

進入配置文件:vim ~/.bashrc,在文檔最後追加一下內容

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
export JRE_HOME=/usr/lib/jvm/jdk1.8.0_151/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

技術分享圖片

然後按esc鍵,輸入:wq,保存退出, 由於安裝路徑不同,路徑需要作相應更改。

2.4 將環境變量刷新到緩存

刷新到緩存source ~/.bashrc,然後執行java -version查看是否配置成功。

技術分享圖片

三、安裝Logstash

3.1 新建elk文件夾

技術分享圖片

3.2解壓logstash到elk文件夾中

sudo tar xvzf installPackage/logstash-6.0.0.tar.gz -C elk/

技術分享圖片

3.3創建Logstash測試啟動配置文件

在logstash文件夾的config文件夾下面創建test.conf文件,並輸入一下內容: #輸入

#輸入
input{}
#過濾 filter{} #輸出 output{}

技術分享圖片

3.4切換到root用戶啟動Logstash

./bin/logstash -f config/test.conf

可能會報錯:

技術分享圖片

我們發現在root用戶的bashrc文件中沒有我們配置好的jdk,重新在root用戶下配置一下jdk環境變量,並重新啟動Logstash:

技術分享圖片

上圖表示啟動成功。

四、安裝elasticsearch

4.1 解壓elasticsearch到elk文件夾中

tar xvzf installPackage/logstash-6.0.0.tar.gz -C elk/

技術分享圖片

4.2. 修改ES配置文件:

vim config/elasticsearch.yml

(elasticsearch.yml中的配置冒號前沒有空格,冒號後一個空格,不然有可能報錯)

技術分享圖片

4.3 啟動elasticsearch

啟動elasticsearch必須使用非root且沒有sudo權限的用戶啟動,所以這裏要新建一個普通用戶並切換用戶啟動

技術分享圖片

專門為es創建個賬號,然後再將這個文件夾切換到新建的這個用戶下,然後用這個用戶啟動。
創建用戶組和用戶命令如下

groupadd elasticsearch
useradd elasticsearch -g elasticsearch -p elasticsearch

賬號創建完了,更改elasticsearch文件夾及內部文件的所屬用戶及組為elsearch:elsearch
輸入命令:

chown -R elasticsearch: /usr/local/elk/elasticsearch-6.0.0/

切換到elasticsearch文件夾下面:

技術分享圖片

使用elasticsearch用戶啟動 ./bin/elasticsearch

4.4 啟動遇到的問題

主要下面四個錯誤:

技術分享圖片

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

切換到root用戶,編輯limits.conf 添加類似如下內容

vi /etc/security/limits.conf

添加如下內容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

[2]: max number of threads [1024] for user [elasticsearch] is too low, increase to at least [4096]

切換到root用戶,編輯90-nproc.conf 修改類似如下內容

*          soft    nproc     4096

[3]max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

切換到root用戶修改配置sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

並執行命令:

sysctl –p

[4]: ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

問題原因:因為Centos6不支持SecComp,而ES默認bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗後直接導致ES不能啟動。

解決方法:在elasticsearch.yml中配置bootstrap.system_call_filter為false,註意要在Memory下面:

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

技術分享圖片

修改完錯誤之後切換到elasticsearch用戶重新啟動:

技術分享圖片

發現啟動成功。

4.5 啟動成功驗證

執行:curl 192.168.209.131:9200,結果如下圖則啟動成功

技術分享圖片

或者在瀏覽器方訪問192.168.209.131:9200

技術分享圖片

五、安裝kibana

5.1 解壓kibana到elk文件夾中

直接切換為root用戶操作:

tar xvzf installPackage/kibana-6.0.0-linux-x86_64.tar.gz -C elk/

技術分享圖片

5.2 修改kibana配置文件

vim config/kibana.yml

修改配置:

server.host: "localhost"
elasticsearch.url: "http://localhost:9200"

其中,localhost以實際ip地址為準

技術分享圖片

5.3 啟動kibana

./bin/kibana

技術分享圖片

5.4 啟動驗證

瀏覽器訪問192.168.209.131:5601

技術分享圖片

表示啟動成功。

到此ELK安裝完成!

ELK學習記錄二 :elasticsearch、logstash及kibana的安裝與配置