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

相关推荐
.生产的驴7 分钟前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
一元咖啡9 小时前
SpringCloud Gateway转发请求到同一个服务的不同端口
spring·spring cloud·gateway
天天扭码9 小时前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
跳跳的向阳花10 小时前
03-03、SpringCloud第三章,负载均衡Ribbon和Feign
spring cloud·ribbon·负载均衡
天天扭码1 天前
五天SpringCloud计划——DAY1之mybatis-plus的使用
java·spring cloud·mybatis
luckywuxn1 天前
Spring Cloud Alibaba、Spring Cloud 与 Spring Boot各版本的对应关系
spring boot·spring·spring cloud
Karoku0661 天前
【企业级分布式系统】ELK-企业级日志分析系统
运维·数据库·redis·mysql·elk·缓存
wclass-zhengge2 天前
SpringCloud篇(服务网关 - GateWay)
spring boot·spring cloud·gateway
一名技术极客2 天前
徒手从零搭建一套ELK日志平台
elk