目标
前言
在后台为微服务的情况下,生产环境必定存在多份日志存储在多个服务器中,那么如何通过一个平台集中查看服务器日志便成为一件十分重要的事情,本文就通过笔者在mac开发环境下搭建一套ELK环境,并配合微服务产生的日志用于输出到kibana平台展示给用户。
程序准备
elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.11.tar.gz
logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.11.tar.gz
kibana-centos版本
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.11-linux-x86_64.tar.gz
kibana-mac版本
https://artifacts.elastic.co/downloads/kibana/kibana-5.6.11-darwin-x86_64.tar.gz
搭建过程
1.logstash的搭建
1.1在logstash安装目录下新建conf文件夹,在里面新建配置文件java_log_stash.conf(表示收集的是java程序产生的日志,可随便起名),内容如下
1 | input { |
1.2启动logstash并查看日志是否成功启动
1 | #以自定义配置文件启动logstash |
【Tip】1
2
3
4
5
6#查看logstash配置文件是否正确 -f参数
./bin/logstash -f conf/bxlt-file-logstash.conf
#查看端口号启动情况及PID
lsof -i:9600
#如果需要停止该端口kill掉该Pid即可
kill -9 'pid'
启动成功后查看log输出日志如下:
说明logstash已经准备要把自己收集到的日志输出给es,只是es还没启动。
2.ElasticSearch的搭建
2.1修改配置文件
vim config/elasticsearch.yml
把network.host字段给反注释掉,把地址改为0.0.0.0(官方并没明确说要去改这配置,默认配置应该就可以了,不过实测的时候发现如果不做这修改,elasticsearch访问不了)
1 | # ---------------------------------- Network ----------------------------------- |
2.2后台启动es
1 | nohup ./bin/elasticsearch & |
2.3两种方式验证es是否成功启动
第一种:本地浏览器访问http://localhost:9200/
返回信息如下表示成功1
2
3
4
5
6
7
8
9
10
11
12
13{
"name" : "kIrDvnk",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "a5lgu18GRIyJ8M2bYHkHGQ",
"version" : {
"number" : "5.6.11",
"build_hash" : "bc3eef4",
"build_date" : "2018-08-16T15:25:17.293Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
第二种:查看es启动日志
1 | tail -f logs/elasticsearch.log |
输出以上信息表示也启动成功
此时es中已经获取到了logstash收集的日志,那么就需要把收集到的日志输出到界面了,下面kibana就该登场了。
3.kibana搭建
3.1由于默认kibana访问es的地址就是es的默认配置,所以这一步直接启动kibana即可
1 | nohup ./bin/kibana & |
3.2验证kibana是否成功启动
http://localhost:5601
出现这个画面就表示已经配置成功了。
3.3收集es信息展示到kibana上
es与kibana之间是通过模式匹配来关联日志数据的,所以下面的内容就是有关于模式匹配的学习了。
下面把关联的内容进行截取展示,大家一看应该就明白了:
当成功匹配后点击下面create完成es与kibana的关联
### 3.4打开界面查看
该界面展示出来就说明我们已经成功把elk这条路走通了。剩下的就是关于elk内容的具体配置了,关于这部分内容后面的文章再慢慢介绍。
elk的搭建过程到此结束,后期涉及到多个服务的时候跟单机版的配置过程雷同,无非就是多开几个服务器端口,之间能够访问即可。
参考文献:
用ELK搭建简单的日志收集分析系统:https://blog.csdn.net/lzw_2006/article/details/51280058