ELK简介
Elasticsearch
Elasticsearch(简称 ES)是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana
Kibana也是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
ELK下载
官网地址:https://www.elastic.co/cn/products
直达下载地址:https://www.elastic.co/downloads/past-releases
选择适配的版本,一开始选择了目前最新的稳定版本,但接下来遇到了许多的坑,主要还是不熟悉的原因吧。
所以个人建议上手先选择如下版本进行搭配:
elasticsearch-2.4.6.zip
logstash-5.6.1.tar.gz
kibana-4.6.6-linux-x86_64.tar.gz
ELK安装及配置
先将以上三个包解压到某文件夹下,如下:
unzip elasticsearch-2.4.6.zip
tar -zxvf logstash-5.6.1.tar.gz
tar -zxvf kibana-4.6.6-linux-x86_64.tar.gz
先来配置elasticsearch
进入elasticsearch目录下,先来安装一个插件
./bin/plugin install mobz/elasticsearch-head
修改 config/elasticsearch.yml,因为我这是在华为云环境上,需要将默认IP配置改成内外地址,外网才可通过弹性IP进行访问。
然后启动
./bin/elasticsearch &
看看日志,没有明显异常后,访问下http://IP:9200端口地址,可以看到如下信息:
如果你是在Linux上使用root进行启动,会提醒Error,你得创建一个新的用户,并把目录下文件的执行权限给这个用户,然后使用这个新建的用户进行启动哦。
访问:http://IP:9200/_plugin/head/ 可以看到如下信息:
好了elasticsearch先到这里,不用管了。再来配置Logstash
进入/logstash-5.6.1/config,修改logstash.yml
在该配置文件的同级目录下,新建一个logback_to_es.conf配置文件,内容如下:
然后启动
./bin/logstash -f config/logback_to_es.conf &
看到如上信息,证明应该没啥问题了。
然后访问:http:IP:9600端口,应该可以看到如下信息:
好了,最后来配置下kibana:
修改/kibana-4.6.6-linux-x86_64/config/kibana.yml文件
其他默认就好了。
然后启动
./bin/kibana &
现在可以来访问下了:
进入http://IP:5601,首次需要设置一下索引,看我之前logback_to_es.conf中index=applog,所以这里写applog,然后点击create就好了。
自此,ELK的三个组件就配置完毕了!!!还算不复杂吧,不过我第一次折腾的够呛的,所以把这写东西好好记录下。
ELK使用效果
进入discover菜单,现在还没有任何的日志对吧
进入你自己的应用,我用的Spring boot,日志用的slf4j+logback框架输出:
Maven添加如下依赖:
net.logstash.logback
logstash-logback-encoder
4.11
logback.xml的配置文件内容如下:
然后编写该测试函数,并运行下试试看哦:
好啦,再去elk里面看看吧:
深入使用后续再研究,本章节完结!
作者:七色花
2017年10月24日