環境:
OS:Centos 6.6
elasticsearch-5.6.3.tar.gz
jdk-8u151-linux-x64.tar.gz
kibana-5.6.3-linux-x86_64.tar.gz
logstash-5.6.3.tar.gz
node-v6.11.4-linux-x64.tar.xz
一、準備環境:
1、建立使用者,并給安裝目錄設定權限
<code>[root@1inux ~]# groupadd elk</code>
<code>[root@1inux ~]# useradd -g elk elk</code>
<code>[root@1inux ~]# mkdir /elk</code>
<code>[root@1inux ~]# chown -R elk:elk /elk</code>
修改系統某些參數值:【如不修改啟動時會報錯】
<code>[root@1inux ~]# vim /etc/security/limits.conf </code><code>//添加一下内容</code>
<code>---------------------------</code>
<code>* soft nofile </code><code>65536</code>
<code>* hard nofile </code><code>65536</code>
<code>* soft nproc </code><code>2048</code>
<code>* hard nproc </code><code>4096</code>
<code>----------------------------</code>
<code>[root@bogon elk]# vim /etc/security/limits.d/</code><code>90</code><code>-nproc.conf </code><code>//添加如下内容</code>
<code>* soft nproc </code><code>2048</code>
<code>[root@1inux ~]# vim /etc/sysctl.conf </code><code>// 添加以下内容</code>
<code>------------------</code>
<code>fs.file-</code><code>max</code><code>=</code><code>65536</code>
<code>vm.max_map_count=</code><code>655360</code>
<code>----------------------</code>
<code>[root@1inux ~]# sysctl -p </code><code>// 檢視vm.max_map_count 值是否修改成功</code>
<code>修改程序數:</code>
<code>[root@1inux ~]# ulimit -u </code><code>2048</code>
安裝Java
[root@1inux elk]# mkdir /usr/local/Java
[root@1inux elk]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/Java
添加環境變量:
[root@1inux jdk1.8.0_151]# vim /etc/profile
添加如下:
<code>export JAVA_HOME=/usr/local/Java/jdk1.8.0_151</code>
<code>export PATH=$PATH:$JAVA_HOME/bin</code>
<code>exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPAT</code>
重新加載
[root@1inux jdk1.8.0_151]# source /etc/profile
檢視是否安裝成功:
<code>[root@1inux jdk1</code><code>.8.</code><code>0_151]# java -version</code>
<code>java version "</code><code>1.8.</code><code>0_151"</code>
<code>Java(TM) SE Runtime Environment (build </code><code>1.8.</code><code>0_151-b12)</code>
<code>Java HotSpot(TM) </code><code>64</code><code>-Bit Server VM (build </code><code>25.151</code><code>-b12, mixed mode)</code>
二:安裝ELK
1、安裝elasticsearch
<code># tar -zxvf elasticsearch-5.6.3.tar.gz</code>
<code>修改配置檔案:</code>
<code>vim ./elasticsearch-5.6.3/config/elasticsearch.yml</code>
<code>//設定監聽IP及監聽端口:</code>
<code>network.host: 0.0.0.0 // 設定監聽IP</code>
<code>http.port: 9200 //設定監聽端口</code>
注:elasticsearch不能使用root使用者啟動
啟動elasticsearch //第一次啟動有點慢:
<code>[elk@1inux root]$ cd /elk/elasticsearch-5.6.3/bin</code>
<code>[elk@1inux bin]$ ./elasticsearch</code>
<code>然後檢視端口:</code>
<code>[root@1inux ~]# ss -tnl | grep 9200</code>
<code>LISTEN 0 128 ::ffff:192.168.159.130:9200 :::* </code>
<code>[root@1inux ~]#</code>
1.1安裝部署head
編輯elasticsearch配置檔案做如下修改:
<code># vim /elk/elasticsearch-5.6.3/config/elasticsearch.yml</code>
<code>node.name: node-1inux //修改叢集名字</code>
<code>cluster.name: my-1inux //修改節點名字</code>
<code>//增加新的參數,這樣head插件可以通路es</code>
<code>http.cors.enabled: true</code>
<code>http.cors.allow-origin: </code><code>"*"</code>
1)安裝git
<code>[root@</code><code>1</code><code>inux /]# yum -y install git</code>
下載下傳代碼:
<code>[root@</code><code>1</code><code>inux elk]# git clone git://github.com/mobz/elasticsearch-head.git</code>
修改head目錄權限:
<code>[root@1inux elk]# chown -R elk:elk elasticsearch-head</code>
2)下載下傳安裝node
<a href="https://nodejs.org/en/download/" target="_blank">https://nodejs.org/en/download/</a>
然後下載下傳xz進行解壓
<code># yum -y install xz</code>
<code>[root@1inux elk]# xz -d node-v6.11.4-linux-x64.tar.xz</code>
<code>[root@1inux elk]# tar -xvf node-v6.11.4-linux-x64.tar</code>
添加node的環境變量
<code>[root@</code><code>1</code><code>inux node-v</code><code>6.11</code><code>.</code><code>4</code><code>-linux-x</code><code>64</code><code>]# vim /etc/profile</code>
<code>添加如下:</code>
<code>export NODE_HOME=/elk/node-v</code><code>6.11</code><code>.</code><code>4</code><code>-linux-x</code><code>64</code>
<code>export PATH=$PATH:$NODE_HOME/bin</code>
<code>重新加載</code>
<code>[root@</code><code>1</code><code>inux node-v</code><code>6.11</code><code>.</code><code>4</code><code>-linux-x</code><code>64</code><code>]# source /etc/profile</code>
檢視是否生效:
<code>[root@1inux node-v6.11.4-linux-x64]# echo $NODE_HOME</code>
<code>/elk/node-v6.11.4-linux-x64</code>
<code>[root@1inux node-v6.11.4-linux-x64]# node -v</code>
<code>v6.11.4</code>
<code>[root@1inux node-v6.11.4-linux-x64]# npm -v</code>
<code>3.10.10</code>
<code>切換國内鏡像源:</code>
<code>npm config </code><code>set</code> <code>registry https:</code><code>//registry.npm.taobao.org</code>
<code>npm config </code><code>set</code> <code>disturl https:</code><code>//npm.taobao.org/dist</code>
3)安裝grunt
<code>[root@1inux node_modules]# npm install -g grunt</code>
<code>[root@1inux node-v6.11.4-linux-x64]# npm install grunt-cli -g</code>
<code>[root@1inux node-v6</code><code>.11.4</code><code>-linux-x64]# grunt -version</code>
<code>grunt-cli v1</code><code>.2.0</code>
修改伺服器監聽位址
<code>[root@1inux elk]# vim /elk/elasticsearch-head/Gruntfile.js</code>
<code>hostname: '*',</code>
<a href="https://s4.51cto.com/oss/201710/26/b6856438dccecb866b7961551b3b77da.png-wh_500x0-wm_3-wmp_4-s_2069812016.png" target="_blank"></a>
修改連結位址:
<code>[root@1inux elk]# vim /elk/elasticsearch-head/_site/app.js </code>
<code>this</code><code>.base_uri = </code><code>this</code><code>.config.base_uri || </code><code>this</code><code>.prefs.get(</code><code>"app-base_uri"</code><code>) || "</code>
<code>修改為:</code>
<code>this</code><code>.base_uri = </code><code>this</code><code>.config.base_uri || </code><code>this</code><code>.prefs.get(</code><code>"app-base_uri"</code><code>) || </code><code>"http://192.168.159.130:9200"</code><code>;</code>
運作head
<code>在head目錄中執行</code>
<code>[root@1inux elasticsearch-head]# npm install</code>
<code>啟動:</code>
<code>[root@1inux elasticsearch-head]# grunt server</code>
2、安裝kibana
[root@1inux elk]# tar -zxvf kibana-5.6.3-linux-x86_64.tar.gz
<code>解壓後編輯配置檔案;</code>
<code>[root@</code><code>1</code><code>inux bin]# vim ../config/kibana.yml //修改為 elasticsearch 的通路位址及端口如下</code>
<code>#server.host: </code><code>"localhost"</code>
<code>server.host: </code><code>"192.168.159.130"</code>
<code>#elasticsearch.url: </code><code>"http://localhost:9200"</code>
<code>elasticsearch.url: "</code>
然後儲存啟動如下;
<code>[root@1inux bin]# ./kibana</code>
<code> </code><code>log</code> <code>[15:45:26.952] [info][status][plugin:[email protected]] Status changed from uninitialized to green - Ready</code>
<code> </code><code>log</code> <code>[15:45:27.067] [info][status][plugin:[email protected]] Status changed from uninitialized to yellow - Waiting for Elasticsearch</code>
<code> </code><code>log</code> <code>[15:45:27.118] [info][status][plugin:[email protected]] Status changed from uninitialized to green - Ready</code>
<code> </code><code>log</code> <code>[15:45:27.136] [info][status][plugin:[email protected]] Status changed from uninitialized to green - Ready</code>
<code> </code><code>log</code> <code>[15:45:27.566] [info][status][plugin:[email protected]] Status changed from uninitialized to green - Ready</code>
<code> </code><code>log</code> <code>[15:45:27.697] [info][listening] Server running at http://localhost:5601</code>
<code> </code><code>log</code> <code>[15:45:27.699] [info][status][ui settings] Status changed from uninitialized to yellow - Elasticsearch plugin is yellow</code>
3、安裝 logstash-5.6.3.tar.gz
<code>[root@</code><code>1</code><code>inux elk]# tar -zxvf logstash</code><code>-5.6</code><code>.</code><code>3</code><code>.tar.gz</code>
<code>解壓後編輯配置檔案,然後就可以使用了</code>
編寫檔案
<code>編輯檔案 # vim /config/test.conf </code>
<code>input {</code>
<code> </code><code>file {</code>
<code> </code><code>type => </code><code>"nginx_log"</code>
<code> </code><code>path => </code><code>"/var/log/nginx/access.log"</code>
<code> </code><code>start_position => </code><code>"beginning"</code>
<code> </code><code>}</code>
<code>}</code>
<code>output {</code>
<code> </code><code>elasticsearch {</code>
<code> </code><code>hosts => </code><code>"192.168.159.130"</code>
<code> </code><code>index => </code><code>"1inux"</code>
<code> </code><code>}</code>
<code> </code><code>stdout{codec => rubydebug}</code>
<code>root@1inux bin]# ./logstash -f ../config/test.conf</code>
<a href="https://s4.51cto.com/oss/201710/26/9b7593a9fc94bf83b79322db8284d2d2.png-wh_500x0-wm_3-wmp_4-s_4003986616.png" target="_blank"></a>
<a href="https://s1.51cto.com/oss/201710/26/2766b0401eb7b47255df7dab59c75c04.png-wh_500x0-wm_3-wmp_4-s_2486083621.png" target="_blank"></a>
報錯:
1、
<code>[root@bogon elk]# ./elasticsearch-</code><code>5.6.3</code><code>/bin/elasticsearch</code>
<code>[</code><code>2017</code><code>-</code><code>10</code><code>-25T06:</code><code>29</code><code>:</code><code>04</code><code>,</code><code>996</code><code>][WARN ][o</code><code>.</code><code>e</code><code>.</code><code>b</code><code>.</code><code>ElasticsearchUncaughtExceptionHandler] [] uncaught exception </code><code>in</code> <code>thread [main]</code>
<code>org</code><code>.</code><code>elasticsearch</code><code>.</code><code>bootstrap</code><code>.</code><code>StartupException: java</code><code>.</code><code>lang</code><code>.</code><code>RuntimeException: can </code><code>not</code> <code>run elasticsearch </code><code>as</code> <code>root</code>
解決方案:使用elk使用者啟動
問題二、
<code>ERROR: [4] bootstrap checks failed</code>
<code>[1]: max file descriptors [4096] </code><code>for</code> <code>elasticsearch process </code><code>is</code> <code>too low, increase to at least [65536]</code>
<code>[2]: max number of threads [1024] </code><code>for</code> <code>user [elk] </code><code>is</code> <code>too low, increase to at least [2048]</code>
<code>[3]: max </code><code>virtual</code> <code>memory areas vm.max_map_count [65530] </code><code>is</code> <code>too low, increase to at least [262144]</code>
<code>參考上面系統修改</code>
問題三、
<code>編輯elasticsearch配置檔案</code>
<code>[</code><code>4</code><code>]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk</code>
<code>在 bootstrap.memory_lock 下面 添加:</code>
<code>bootstrap.system_call_filter: false</code>
本文轉自 1inux 51CTO部落格,原文連結:http://blog.51cto.com/1inux/1976229