这几天搭建ELK 5.3版本遇到了很多坑,网上好多的教程都是2版本的搭建,在安装插件的时候遇到了好多问题
ELK 包括:
elasticsearch
:
是一个基于Lucene的搜索服务器。日志分布式存储/搜索工具,原声支持集群。不仅仅是存储文档,还可以索引每个文档的内容被搜索。可以对文档进行索引、搜索、排序、过滤。
logstash
:
是一个接收,处理,转发日志的工具。
可以从本地磁盘,网络服务(自己监听端口,接受用户日志),消息队列中收集各种各样的日志,然后进行过滤分析,并将日志输出到Elasticsearch中。
kibana
:
开源的数据分析与可视化平台。它简单、基于浏览器的接口使你能快速创建和分享实时展现Elasticsearch查询变化的动态仪表盘。
对Elasticsearch中存储的日志进行展示,还可以生成炫丽的仪表盘。
我的环境是:
搭建:
1,搭建java环境(jdk8以上):安装rpm包,配置环境,vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_92/
export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
查看是否配置完成:java -version
2,下载三个软件的压缩包,去官网下载,随便解压到什么位置。
修改配置文件:vim /config/elasticsearch.yml
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-origin: "*"
3,启动
elasticsearch:到elasticsearch目录下执行bin/elasticsearch
遇到的问题:1)
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
(2),
Java
HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12):默认分配jvm空间大小为2g,修改jvm空间分配,改成512M
4,安装head:
修改
elasticsearch/config/elasticsearch.yml
添加
http.cors.enabled
:
true
http.cors.allow-origin
:
"*"
https://github.com/mobz/elasticsearch-head 下载zip在随便一个文件夹下解压
安装
nodejs
cd /你的路径/elasticsearch-head
npm install -g grunt-cli
npm install
grunt server 启动
5,配置logstash:
在
Logstash
的目录下执行./bin/logstash -e 'input { stdin { } } output { stdout {} }'
命令,启动Logstash
。
启动完成后,直接在控制台中输入
HelloWorld
,然后回车,将会在控制台中打印出刚才输入的Helloworld
。
在
Logstash
的目录下,通过
vim logstash-test.conf
命令,创建
Logstash
的配置文件。配置文件内容如下。
input { stdin { } }
output {
elasticsearch {
hosts => ["本机IP:9200"]
user => elastic
password => changeme
}
stdout { codec => rubydebug }
}
在
Logstash
目录下,执行./bin/logstash -f logstash-test.conf
命令,Logstash
将会按照配置文件中的配置进行服务启动。
6,配置Kibana:
Kibana
的配置文件位于解压后的conf
目录下,执行vim kibana.yml
命令进行配置文件的修改。
server.host: "本机IP"
elasticsearch.url: "http://本机IP:9200"
在
Kibana
目录下,执行./bin/kibana
命令,启动服务。