链接追踪系列-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中也可以搜索到:
在这里插入图片描述

上一篇:【车载开发系列】GIT教程---如何下载代码库


下一篇:【学习笔记】无人机(UAV)在3GPP系统中的增强支持(三)-机上无线电接入节点无人机