Spring Cloud 系列之 Sleuth 链路追踪(三)
本篇文章为系列文章,未读前几集的同学请猛戳这里:
本篇文章讲解 Sleuth 如何使用 Elasticsearch、Logstash、Kibana 分析追踪数据。
1|0使用 ELK 分析追踪数据
点击链接观看:ELK 环境准备视频(获取更多请关注公众号「哈喽沃德先生」)
ELK 是 elastic 公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是 Elasticsearch、Logstash 和 Kibana。
- Elasticsearch 简称 ES:实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。
- Logstash:具有实时传输能力的数据收集引擎,将各种各样的数据进行收集、解析,并发送给 ES。使用 Ruby 语言编写。
- Kibana:为 Elasticsearch 提供了分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度表格、图形。
- Beats:一组轻量级采集程序的统称,使用 Go 语言编写。以下是 elastic 官方支持的 5 种 beats,事实上,伟大的开源力量早已创造出大大小小几十甚至上百种 beats,只有你没想到的,没有 beats 做不到的:
- Filebeat:进行文件和目录采集,主要用于收集日志数据。
- Winlogbeat:专门针对 Windows 的 event log 进行的数据采集。
- Metricbeat:进行指标采集,指标可以是系统的,也可以是众多中间件产品的,主要用于监控系统和软件的性能。
- Packetbeat:通过网络抓包、协议分析,对一些请求响应式的系统通信进行监控和数据收集,可以收集到很多常规方式无法收集到的信息。
- Heartbeat:系统间连通性检测,比如 icmp,tcp,http 等系统的连通性监控。
1|1环境准备
之前的课程中我们已经学习过 ELK 的详细使用,这里不再过多赘述,直接开启使用即可。
文中使用的 ELK 版本统一为 7.5.2。
- 本文使用的
Elasticsearch
集群地址为:192.168.10.101:9200
192.168.10.102:9200
192.168.10.103:9200
- 本文使用的
Logstash
的地址为:192.168.10.101:9250
- 本文使用的
Kibana
的地址为:192.168.10.101:5601
Logstash 运行时指定的配置文件 log-to-es.conf 内容如下:
1|2添加依赖
在需要进行链路追踪的项目中(服务网关、商品服务、订单服务)添加 logstash-logback-encoder
依赖。
1|3日志配置
在需要进行链路追踪的项目中(服务网关、商品服务、订单服务)添加 logstash 输出 JSON 格式数据
。
logback.xml
1|4查看索引库
重启项目后,访问:http://192.168.10.101:9100 可以看到已经创建好了 applog
索引库。
1|5测试
访问:http://localhost:9000/order-service/order/1 查看索引库结果如下:
访问:http://192.168.10.101:5601/ Kibana 首页。
添加 applog 索引库。
不使用时间过滤器。
搜索 gateway 结果如下:
至此 Sleuth 链路追踪所有的知识点就讲解结束了。
所有内容皆为个人总结或转载别人的文章,只为学习技术。 若您觉得文章有用,欢迎点赞分享! 若无意对您的文章造成侵权,请您留言,博主看到后会及时处理,谢谢。