链接追踪系列-09.spring cloud项目整合elk显示业务日志

准备工作:

参看本系列之前篇:服务器安装elastic search + 本机docker启动的kibana-tencent + 使用本机安装的logstash。。。

本微服务实现的logstash配置如下:

  • 使用腾讯云redis

  • 启动本机mysql

  • 启动本机docker

    启动nacos,微服务依赖它作为服务注册发现和配置中心

    启动kibana-tencent准备查看业务日志数据

  • 启动本机zipkin server

    链路追踪,可参看 试验zipkin初步 篇

    不启动zipkin server也不影响功能

  • 启动gateway+auth

    auth的日志配置如下:其中一部分,整合logstash的,gateway微服务类似。

    调用接口测试:

    控制台和日志文件都在logback-spring.xml中有相应配置,所以日志也输出到console+日志文件中了

    查看kibana: 可以看到traceId,业务message内容,模块等等信息。。。

    最后一步:把traceId 输出到接口请求响应头中,这样就可依据traceId去kibana中查找链路日志,排查问题

    问题来了:代码中如何获取traceid值呢?

在IgnoreUrlsRemoveJwtFilter类中:流量拦截的入口,直接流入Tracer实例:


FYI: 在sleuth官方reference.pdf给出的示例中,是通过单独写一个filter,给请求链中加一道traceId请求头。

测试:

对应在kibana中也可以搜索到:

相关推荐
Rain的Java大神之路6 天前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
需要8266 天前
MySQL 索引 B+ 树与“查询为什么变慢了
java·spring boot·spring·spring cloud·tomcat
需要8266 天前
Arthas 一个命令排查线上问题
java·jvm·spring·spring cloud
苏渡苇7 天前
Spring Insight 里如何把 Span 画成瀑布时间线
后端·spring·spring cloud·springboot·监控·apm
叶总没有会7 天前
Nacos—注册中心
spring cloud·微服务
苏渡苇8 天前
Spring Insight 里如何把 Span 收成一条链路
spring boot·spring·spring cloud·系统监控·apm
叶总没有会9 天前
微服务--分布式基础
java·spring·spring cloud·微服务
孙启超9 天前
【AI开发之Rust】第 7 课:错误处理 —— panic、Result 与 `?`
人工智能·分布式·后端·爬虫·spring cloud·架构·rust
行百里er10 天前
Spring Insight 里如何把 Span 收成一条链路
spring boot·spring cloud·监控
砍材农夫11 天前
spring|spring web|拦截器、过滤器、aop
java·spring boot·spring·spring cloud