搭建环境
- 系统
- Ubuntu-12.04.5-server-amd64(不建议大家用Ubuntu!坑太多) 环境
- jdk-8u131-linux-x64.tar.gz
- node最新版本
- grunt-cli最新版本(cnpm安装,npm可能被墙!) 软件
- elasticsearch-5.4.1.tar.gz
- kibana-5.4.1-linux-x86_64.tar.gz
- logstash-5.4.1.tar.gzElasticsearch
注:所有软件我都安装在/opt下面了 大家可以自行调整!
搭建过程
- 配置全局需要的目录
Mkdir –p /opt/tmp/data
Mkdir –p /opt/tmp/log
Mkdir –p /opt/backup
- 配置用户
Useradd elk
Groupadd elks
Usermod -a –G elks elk
Usermod -a –G root elk
- JDK配置
Cd /opt/
Tar –zxvf /opt/backup/jdk-8u131-linux-x64.tar.gz
Mv jdk-8u131-linux-x64 jdk
Sudo vi /etc/profile
在底部添加如下内容
export JAVA_HOME=/opt/jdk
export PATH=$PATH:$JAVA_HOME/bin
export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
为解决elasticsearch启动报错
ulimit -SHn 65537
保存后执行以下命令
Source /etc/profile
验证环境
Java -version
Logstash 配置
Cd /opt/
Tar –zxvf /opt/backup/ logstash-5.4.1.tar.gzElasticsearch
Mv logstash-5.4.1* logstash
Cd /opt/logstash/config/
vi logstash.conf
在配置文件中添加如下内容
#start
input {file {path =>["/opt/tmp/Logstash.log"]add_field => {"appName" => "elk"}type =>"elk"}beats {port => 5044}
}
filter{grok { match => {"message" => "msg" }}
}
output {elasticsearch { hosts => ["192.168.152.128:9200"] }stdout { codec => rubydebug }
}
#end
保存
Kibana 配置
Cd /opt/
Tar –zxvf /opt/backup/ kibana-5.4.1-linux-x86_64.tar.gz
Mv kibana-5.4.1* kibana
Cd /opt/kibana/config/
Vi kibana.yml
在配置文件中添加如下内容
server.host: "192.168.152.128"
elasticsearch.url: http://192.168.152.128:9200
#账户密码需要自己看自己的默认是下边的
elasticsearch.username: "elastic"
elasticsearch.password: "changeme"
#end
保存
Elasticsearch 配置
Cd /opt/
Tar –zxvf /opt/backup/ elasticsearch-5.4.1.tar.gz
Mv elasticsearch-5.4.1* elastic
Cd /opt/elastic
vi elasticsearch.yml
在配置文件中添加如下内容
path.data: /opt/tmp/data
path.logs: /opt/tmp/log
network.host: 192.168.152.128
http.port: 9200
为防止Elastic启动报错
http.cors.allow-origin: "/.*/"
http.cors.enabled: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
编辑ELK配置文件
vi jvm.options
#把下边两个改为以下参数
#看自己的内存修改
-Xms512m
-Xmx512m
一大片坑
Chown –R elk.elks /opt/
#或者Chown –R elkselk /opt/
Su elk
Cd /opt/elastic/bin/
./elasticsearch
Cd /opt/kibana/bin/
./kibana -e -c filebeat.yml
Cd /opt/logstash/bin
./logstash –f logstash.conf
#如果没问题的话就可以访问
#http://IP:9200
#http://IP:5601
#首次登陆的时候,需要先配置索引,默认使用的索引是logstash-*,并且是基于时#间的。建议把基于时间的选项取消,然后点击创建。
#完成索引配置后,切换到Discover页面就可以开始进行日志数据的检索
#可惜不可能没问题!!!
坑1 JDk
JDK一定要去官网下载!!!JDK官网
坑2 5.2无法启动bug
报错:
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,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。 解决方案
- 在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面加入以下配置:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
小坑
[WARN ][o.e.b.JNANatives ] unable to install syscall filter:
Java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMPandCONFIG_SECCOMP_FILTERcompiledinatorg.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349) ~[elasticsearch-5.0.0.jar:5.0.0] at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]
- 解决方案
- 重新安装新版本的Linux系统
大坑!!!
ERROR: bootstrap checks failed max file descriptors [4096] for elasticsearch process likely 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
# * 代表用户
#保存 ulimit –a 不生效的话 退出然后重新登陆
大坑!!!
max number of threads [1024] for user [es] likely too low, increase to at least [2048]
- 原因
- 无法创建本地线程问题,用户最大可创建线程数太小 解决方案
- 切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。
vi /etc/security/limits.d/90-nproc.conf
#找到如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048
大坑!!!
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
然后重新启动elasticsearch,即可启动成功。
大坑!!!
Elasticsearch 插件安装
5.X版本没有plugins脚本
所以可以用
./elasticsearch-plugin install x-pack
旧版本:plugins install xxx
新版本安装
#官网放出来的信版本可以只用通过下载rpm包直接进行安装rpm - ivh xxx.rpm