链接追踪系列-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中也可以搜索到:

相关推荐
phltxy1 天前
Spring Cloud 分布式服务部署实战:从 0 到 1 实现微服务上线
spring·spring cloud·微服务
KK溜了溜了2 天前
SpingCloudAlibaba搭建项目
spring cloud
java1234_小锋2 天前
谈谈Ribbon和Feign区别?
后端·spring cloud·ribbon
budingxiaomoli3 天前
多机部署,负载均衡-LoadBalancer
运维·spring cloud·负载均衡
phltxy3 天前
告别繁琐URL!Spring Cloud OpenFeign 优雅实现微服务远程调用
spring·spring cloud·微服务
budingxiaomoli4 天前
SpringCloud概述
java·spring cloud·微服务
空中海5 天前
第五篇:网关篇 — Spring Cloud Gateway
spring cloud
北风toto5 天前
Spring Boot / Spring Cloud 配置文件加密详解:使用 jasypt-spring-boot 实现 ENC() 加密
spring boot·后端·spring cloud
phltxy5 天前
Spring Cloud 服务注册与发现:Eureka 从原理到实战
java·spring cloud·eureka
phltxy5 天前
微服务多机部署与负载均衡实战:从手写轮询到 Spring Cloud LoadBalancer 落地
spring cloud·微服务·负载均衡