從零開始——Elk-6.3安裝

                                                                         零開始——Elk-6.3安裝

       最近發現elk的版本更新的太快了,發現以前的5點多版本,有的老舊了,所以就更新一下elk版本,順便也學習一下。接下來我們來安裝一下elk的6.3版本。

ElasticSearch安裝

   ElasticSearch是一個用Java開發的基於Lucene的搜索服務器。它可以提供一個分佈式多用戶能力的全文搜索引擎,基於RESTfulweb接口。現階段它主要爲Apache許可條款下的開放源碼發佈,也是當前流行的企業級搜索引擎。Elasticsearch設計主要用於雲計算中,ElasticSearch實時搜索,穩定,可靠,快速,安裝使用方便的優點,很好的解決大數據查詢緩慢問題。

ElasticSearch是基於java來開發的,所以我們好安裝java包。

 

[root@node2 ~]# yum install  -y *jdk  log4j*  安裝java環境
[root@node2 ~]# cd /usr/local/src/
[root@node2 src]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz


[root@node2 ~]# java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)  ###可以看到已經安裝java的最新版本了。


[root@node2 src]# tar -xf elasticsearch-6.3.0.tar.gz   ##解壓
[root@node2 src]# cd elasticsearch-6.3.0
[root@node2 elasticsearch-6.3.0]# ls
bin  config  head  lib  LICENSE.txt  logs  modules  NOTICE.txt  plugins  README.textile 
[root@node2 config]# ls
elasticsearch.keystore  elasticsearch.yml  jvm.options  log4j2.properties  role_mapping.yml  roles.yml  users  users_roles


[root@node2 elasticsearch-5.6.3]# vim config/elasticsearch.yml  ###修改下面兩項
network.host: 172.25.0.30    ###爲本地ip,監聽主機
discovery.zen.minimum_master_nodes: 1   ###表示集羣的節點的數量我這裏只有一臺,所以修改爲1 
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: false  ###關閉舉例

##x-pack默認會啓用:xpack.security.enabledxpack.monitoring.enabledxpack.graph.enabledxpack.watcher.enabledxpack.reporting.enabled 在配置文件裏面設置false即可,開始使用head插件的話需要停掉security服務,但是停掉security服務的話對我們的權限管理也受到很大的影響。


注意如果需要配置集羣的話

添加以下配置:

#discovery.zen.ping.unicast.hosts: ["172.25.0.30", "172.25.0.33"]
discovery.zen.minimum_master_nodes: 1



[root@node2 bin]# su – www
[www@node2 ~]$ cd /usr/local/src/elasticsearch-6.3.0/
[root@node2 ~]# yum install -y log4j*
[root@node2 ~]# chown  www:www  -R  /usr/local/src/elasticsearch-6.3.0/
[www@node2 bin]$ ./elasticsearch
[root@node2 src]# cat /etc/sysctl.conf 
vm.max_map_count=655360
[root@node2 src]# cat /etc/security/limits.conf 
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
[root@node2 ~]# sysctl -p
vm.max_map_count = 655360


 

[www@node2 bin]$ ./elasticsearch


[root@node2 ~]# netstat -ntpl   ###查看一下服務,可以看到elasticsearch已經起來了
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp6       0      0 172.25.0.30:9200        :::*                    LISTEN      1650/java           
tcp6       0      0 172.25.0.30:9300        :::*                    LISTEN      1650/java


再訪問以下我們9200端口,也已經成功了,可以看到信息了。       

[root@node2 ~]# curl 172.25.0.30:9200
{
  "name" : "XjOLC6R",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "45286kMyRMqEsjgH04lQCg",
  "version" : {
    "number" : "6.3.0,
    "build_hash" : "1a2f265",
    "build_date" : "2017-10-06T20:33:39.012Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}


 

添加head插件

 

1、  創建存放這個插件的目錄:

 

#mkdir head
#cd head
#git clone git://github.com/mobz/elasticsearch-head.git
#cd elasticsearch-head
#npm install
#npm install -g grunt-cli
#grunt server

 

2、  監聽端口爲localhost,可以修改配置文件: 

[root@node2 head]# cd elasticsearch-head/
[root@node2 elasticsearch-head]# vim Gruntfile.js
做如下修改:
   server: {
            options: {
                 port: 9100,
                 hostname: '0.0.0.0',     #####添加這句。
                 base: '.',
                      keepalive: true
                             }
                    }
              }

3、  修改es配置文件添加如下: 

[root@node2 config]# vim elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"

####然後重啓es服務

     4、啓動head插件,然後訪問webip與端口即可:

[root@node2 elasticsearch-head]#grunt server

訪問head模塊

http://172.25.0.30:9100/

image.png

Kibana安裝 

1、下載kibana並且修改配置文件

[root@node2 src]#
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-linux-x86_64.tar.gz

[root@node2 config]# vim kibana.yml
elasticsearch.url: "http://172.25.0.30:9200"
server.host: "172.25.0.30"
xpack.security.enabled: true
elasticsearch.username: "elastic"
elasticsearch.password: "changeme"

這裏的密碼我沒用改,所以直接用es的默認密碼就可以了

啓動kibana 登錄即可:

http://172.25.0.30:5601

 

2.png

Logstash安裝

部署logstash

1、  安裝java環境,配置java_home:

[root@node2 src]#
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.0.tar.gz


2、  解壓logstash 安裝啓動即可:

[root@node2 test]# tar zxvf logstash-6.3.0.tar.gz

3、  啓動輸出hello world:

[root@node2 logstash-6.3.0]# bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}' 
 
hello world 啓動後,這個是直接輸入的
{
    "@timestamp" => 2016-12-05T14:09:56.746Z,
      "@version" => "1",
          "host" => "node2",
       "message" => "hello world"
}

-e

-f logstash.conf 表示執行某個文件命令。也可以-f /etc/logstash/  表示中logstash目錄下的所有*.conf文件。

-l /var/log/logstash.log 表示日誌文件輸入的位置。

--pipeline-workers -w   表示CPU個數。

 

備註:codec=rubydebug是上面的輸出形式,要是直接stdout{}的話就是直接輸出。

  

4、  supervisor管理logstash

 

[root@node2 ~]# wget https://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gz
 
#yum install python-setuptools


如果腳本直接不了就按裝這個

[root@node2 supervisor-3.3.1]# python setup.py install

5、  生成啓動腳本:

[root@node2 supervisor-3.3.1]# vim /etc/init.d/supervisord 
#! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PROGNAME=supervisord
DAEMON=/usr/bin/$PROGNAME
CONFIG=/etc/$PROGNAME.conf
PIDFILE=/tmp/$PROGNAME.pid
DESC="supervisord daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
start()
{
        echo -n "Starting $DESC: $PROGNAME"
        $DAEMON -c $CONFIG
        echo "..."
}
stop()
{
        echo -n "Stopping $DESC: $PROGNAME"
        supervisor_pid=$(cat $PIDFILE)
        kill -15 $supervisor_pid
        echo "..."
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        start
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
        exit 1
        ;;
esac
exit 0


 

6、  生成配置文件並且啓動:

#echo_supervisord_conf > /etc/supervisord.conf


#vim /etc/supervisord.conf

[program:logstash]
command=/usr/local/src/logstash-6.3.0/bin/logstash -f /etc/logstash-6.3.0/etc/logstash_indexer.conf -w 4 -l /var/log/logstash/agent.log
user=www   ##啓動的用戶
directory=/usr/local/src/logstash-6.3.0/bin/logstash                
stdout_logfile=/var/log/sup.log               
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT


7、  然後啓動supervisord:

#service supervisord start
[root@node2 supervisor-3.3.1]# ps -ef | grep supervisor
root     14581     1  0 10:11 ?        00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf


##然後啓動logstash就已經監聽文件,後臺運行了。

[root@node2 ~]# supervisorctl start logstash

到這裏,elk的基本安裝與管理就完成,接下來,我們就可以愉快的玩耍了。

總結

    每天學習一點,更新一下新知識。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章