SpringBoot整合LogstashSpringBoot2.x系列教程
一. ELK简介
ELK是Elastic公司的三个组件,他们三个配合实现日志收集.
- ElasticSearch:用于存储日志信息;
- Logstash:用于收集、处理和转发日志信息;
- Kibana:提供可视化的Web界面.
二. ELK环境安装
有关ELK安装请参考我之前的教程.
- Windows下Logstash安装:
Windows下安装Logstash_一一哥的专栏-CSDN博客
- Windows下ElasticSearch安装:
Day16_02_ES教程之ElasticSearch安装_一一哥的专栏-CSDN博客
- Windows下Kibana安装:
Day16_03_ES教程之Kibana安装教程_大数据_一一哥的专栏-CSDN博客
三. 配置Logstash
1. 创建Logstash.conf配置文件
进入到logstash安装目录下,我的目录为E:ELKlogstash-5.6.8bin目录.
![v2-16a77ba68241e95925c129b70bec48f0_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-16a77ba68241e95925c129b70bec48f0_b.jpg)
在该目录下创建一个Logstash.conf配置文件,文件内容如下:
input
2. 启动logstash
![v2-1ca109b43be533a2ee4b2f8b26183f2b_b.png](http://img-01.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-1ca109b43be533a2ee4b2f8b26183f2b_b.png)
logstash -f logstash.conf
效果如下:
![v2-14b4ae3f310973b4b3389d893aaec167_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-14b4ae3f310973b4b3389d893aaec167_b.jpg)
四. SpringBoot整合Logstash
1. 添加依赖包
<dependencies>
2. 创建logback-spring.xml文件
新建一个logback-spring.xml文件,配置logback日志信息,注意这里配置的destination属性,输出的要和logstash配置的对应上,不然收集不上,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
3. 创建Controller测试类
package
4. 创建入口类
package
5. 完整项目结构
![v2-8fcafc72a942f947f33f35b4ee2bc34c_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-8fcafc72a942f947f33f35b4ee2bc34c_b.jpg)
6. 测试
6.1 在浏览器执行test请求进行测试
![v2-d352905bd8b65bd9caf387f67473063f_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-d352905bd8b65bd9caf387f67473063f_b.jpg)
6.2 kibana中查看索引
打开kibana管理页面,添加刚刚创建的索引,如图所示:
![v2-1d003e64a3019ef274e799ba7a3f0509_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-1d003e64a3019ef274e799ba7a3f0509_b.jpg)
接下来在浏览器多次访问刚刚在项目中输出日志的方法,查询控制台,如下所示.
![v2-a161b5594c8850dc6f5b5d65c199b501_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-a161b5594c8850dc6f5b5d65c199b501_b.jpg)
然后在进入kibana查看,不光是日志内容,还有自定义的属性也显示出来了.
![v2-ff356eb312e7af3fcbdd5a6f1d424a4f_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=19d39f55-252f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-ff356eb312e7af3fcbdd5a6f1d424a4f_b.jpg)
至此,我们在SpringBoot中整合ELK实现了日志收集.