ELK:(ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成),Elasticsearch用于存储日志信息,Logstash用于收集日志,Kibana用于图形化展示。
上一节我们介绍了如何使用docker-compose搭建ELK日志分析系统。传送门:传说中的ELK日志分析系统,手把手教你
本节我们介绍SpringBoot项目如何接入ELK日志分析系统。
新建springboot项目
- POM.xml(引入logstash,此处springboot项目使用logback作为日志框架)
net.logstash.logback logstash-logback-encoder 6.1
- logback-spring.xml(修改logback配置文件)
192.168.85.128:4560...... ......
168.85.128:4560对应我们刚刚搭建的Logstash地址。
- 配置Kiabana
- 访问http://192.168.85.128:5601/
- Kibana管理界面点击左侧Management,点击 Kinaba Index Patterns
- 在Index pattern里输入我们在logstash配置文件logstash-kiki.conf里output.index指定的值kiki-logstash-*,点击下一步,注意,这里需要检查elasticsearch中是否有匹配数据。
所以,需要按上面的步骤创建springboot项目并启动,否则无法点击Next Step。 - 点击Next Step,在下拉框里选择@timestamp
- 点击 Create index patterns
- 创建测试Controller
这个是我的测试,大家可以随便写,返回个hello word即可。
package com.sxdx.sso.resource.one.controller;import lombok.extern.slf4j.Slf4j;import org.springframework.security.access.prepost.PreAuthorize;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.security.Principal;import java.util.HashMap;import java.util.Map;@Slf4j@RestControllerpublic class OneController { @GetMapping("/user") public Principal user(Principal principal) { log.info("获取当前登录人信息"); return principal; }}
验证
使用postman访问 localhost:8002/one/user。查看是否搜集到了日志数据。
可以看到已经获取到了日志数据。这样我们就可以直接使用ELK汇总分析日志了。
座右铭:学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。