ELK单节点搭建

好久不见. 提交于 2019-12-24 20:13:36

准备好一台虚拟机

一、系统配置

  1. 首先关闭防火墙
    chkconfig iptables off – 永久关闭防火墙
    service iptables stop – 暂时关闭防火墙,重启虚拟机后防火墙重新启动
  2. 配置系统环境,打开 vim /etc/security/limits.conf 添加如下
    *soft nofile 65536
    *hard nofile 131072
    *soft nproc 2048
    *hard nproc 4096 
    

二、配置 JDK

  1. ES要求JDK版本至少1.8,因为Linux中有自带的jdk环境,需要手动去除
    yum remove java* -y
  2. 解压jdk安装包 tar -xvf jdk-8u131-linux-x64.tar.gz
  3. 解压后的jdk包改名 mv jdk1.8.0_131/ jdk1.8
  4. 进入 /etc/profile 文件中 vim /etc/profile
    • 在最后一行添加
    export JAVA_HOME=/home/software/jdk1.8
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    • 保存退出 :wq
  5. 重新生效:source /etc/profile
  6. 测试环境是否成功 java -version

三、搭建ElasticSearch

  1. 解压安装包:tar -xf elasticsearch-5.5.2.tar.gz
  2. 改名:mv elasticsearch-5.5.2.tar.gz elasticsearch
  3. elasticsearch.yml,在es根目录config文件夹 vim elasticsearch.yml
    节点所在的集群名称默认elasticsearch,添加配置文件
    	cluster.name: elasticsearch
    	node.name :es01
    	bootstrap.memory_lock:false 
    	bootstrap.system_call_filter:false 
    	network.host:自己的ip
    	http.port:9200
    	http.cors.enabled:true
    	http.cors.allow-origin: "*"
    
  4. es禁止使用root用户,需要另行添加一个用户单独操作elasticsearch.
    • 添加一个具有操作es权限的用es
    groupadd es
    useradd es -g es -p es
    • 添加es用户的权限可以操作/home/software/elasticsearch文件夹
    chown -R es:es /home/software/elasticsearch
  5. elasticsearch出于安全考虑,不允许root用户来操作启动,所以需要添加一个具有操作权限的es用户,centOS 6.5对于除了root以外的线程上限1024,es要求至少4096
    打开vim /etc/security/limits.d/90-nproc.conf
    	*          soft    nproc     4096
    	root       soft    nproc     unlimited
    
  6. es要求vm.max_map_count的key对应的内存占用值是200M,默认65M
    vim /etc/sysctl.conf 最后一行添加vm.max_map_count = 655360
  7. sysctl -p 查看是否配置成功
  8. 以上都配置完成后切换到es 账户 su es
    • 启动elasticsearch /home/software/elasticsearch/bin/elasticsearch
    • 进入网页输入 ip:端口号

四、搭建node

  1. 安装node因为head插件是用node.js开发的,所以需要此环境
  2. 解压 node 安装包 tar -xvf node-v8.12.0-linux-x64.tar.xz
  3. 改名:mv node-v8.12.0-linux-x64/ node
  4. 配置环境变量,进入 /etc/profile 文件中 vim /etc/profile
    在最后一行添加
    export NODE_HOME=/home/software/node
    export PATH=$NODE_HOME/bin:$PATH
    export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH
    
  5. 测试是否安装成功
    node -v 如果出现版本号则安装成功
  6. 进入根目录下的bin目录,执行npm命令
    npm install -g grunt-cli
    检查是否成功
    npm -v
    grunt -version 如果 没有出现 grunt版本号,则运行npm install -g grunt 再次运行grunt -version

五、搭建elastic-search-head可视化界面

  1. 解压unzip elasticsearch-head-master.zip
  2. 打开Gruntfile.js vim /home/software/elasticsearch-head/Gruntfile.js

    一要注意不要少了逗号
  3. 运行 grunt server

    原因是因为当前工程(head工程中没有grunt的本地文件)
    则运行 npm install grunt(将grunt安装到当前目录)
  4. 再次运行grunt server 出现下图,就是缺少grunt支持部件

    在elastic-search-head根目录挨个执行
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm install -g grunt-cli (安装全局grunt-cli)
    cnpm install grunt-contrib-clean
    cnpm install grunt-contrib-watch
    cnpm install grunt-contrib-connect
    cnpm install grunt-contrib-copy
    cnpm install grunt-contrib-jasmine
    cnpm install grunt-contrib-concat
    如果其中某个报红,报红的在执行一遍
  5. 启动 grunt server
  6. 去网页输入 ip:端口

六、搭建Kibana

  1. 解压 tar -xvf kibana-6.4.3-linux-x86_64.tar.gz
  2. 改名 mv kibana-6.4.3-linux-x86_64 kibana
  3. 打开kibana.Yml vim kibana/config/kibana.yml
   server.port: 5601	#监听端口
   server.host: "0.0.0.0"	#监听IP
   elasticsearch.hosts:"http://192.168.30.133:9200"	#集群es地址
   kibana.index: ".kibana"	#默认索引
  1. 启动kibana /home/software/kibana/bin/kibana
  2. 进入页面输入 ip:端口

七、logstash安装使用

  1. 解压 tar -xvf logstash-6.4.3.tar.gz
  2. 改名 mv logstash-6.4.3/ logstash
  3. 打开conf目录下的logstash.config vim logstash.conf

    这个配置文件是根据自己需求来定的
    input 指定输入源
    filter 可以对input输入的内容进行过滤或处理
    output 指定处理过的日志输出到哪里,可以是ES或者是HDFS等等,可以同时配置多个,webhdfs主要配置解释
    一般情况下都会结合ElasticSearch使用
  4. 启动命令
    ./logstash -f ../config/logstash.conf --config.reload.automatic
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!