1、前言
在快速搭建完各个组件之后,我们将这几个组件串起来搭建一个简单的ELK日志收集系统。本案例以收集一个springboot的web项目日志作为demo来演示ELK的应用场景。
2、ELK流程调试
2.1、启动Elasticstarch并验证
通过curl命令去验证
[root@test-l27-14-70 ~]# curl http://localhost:9200
{
"name" : "RVNfQjd",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "myUulbUOROS2gqnQcZA-bA",
"version" : {
"number" : "6.2.3",
"build_hash" : "c59ff00",
"build_date" : "2018-03-13T10:06:29.741383Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
You have new mail in /var/spool/mail/root
[root@test-l27-14-70 ~]#
2.2、启动kibana并验证
nohup ./kibana &
2.3、配置我们web项目的日志输出路径并启动
我们配置了springboot项目的日志输出路径并启动
#log配置
logging.path=/usr/local/logs
logging.level.org=INFO
logging.level.com=INFO
[root@test-l27-14-70 logs]# pwd
/usr/local/logs
[root@test-l27-14-70 logs]# ll
total 128
-rw-r--r-- 1 root root 98310 Aug 12 14:39 spring.log
[root@test-l27-14-70 logs]#
我们启动了web项目,并能看到日志记录存放到了指定的/usr/local/logs目录之下
2.4、书写logstash启动配置并启动对日志文件的监听
首先,我们logstash的监听问题是/usr/local/log/目录下的日志文件
其次,我们要把监听到的日志信息写到我们已经准备好的elasticsearch机器上去
明白以上两点,我们来书写logstash的启动配置 web-elk.conf
#输入
input{
file{
path => "/usr/local/logs/*.log"
}
}
#过滤器
filter{}
#输出
output{
elasticsearch{
hosts=>["127.0.0.1:9200"]
index => "rc-admin-business-log" #要输入的elasticsearch的索引,没有会自建
}
#并打印到控制台
stdout{codec => rubydebug}
}
有了以上启动文件,我们再来启动我们的logstash,键入命令:./logstash -f ./web-elk.conf
我们可以看到logstash的控制台已经打印出部分日志,剩下的我们就去kibana上看看有没有进elasticsearch呢!
最终,我们可以在kibana上正常查询到我们的项目日志。这样一套简单的ELK就搭建完成了。