本文主要讲述在工程的logback文件中集成skywalking的traceId,以便在日志中打印对应的traceId
文章目录
Logback集成skwalking的traceId前言一、如何集成TraceID二、使用步骤
1.引入库2.修改logback文件3.移动agent插件4.观察结果 总结
前言
skywalking是一个非常优秀的国产APM系统,主要开发人来自华为吴晟团队,2019年入住Apache,成为顶级项目,支持java、.net、NodeJS等探针,数据存储支持H2、ElasticSearch,采用字节码增强技术代码无侵入,粒度相对较粗,性能优越,且支持云原生,目前增长势头强劲,社区活跃,无语言障碍。
一、如何集成TraceID
首先在maven引入apm-toolkit-logback-1.x 插件,该插件目前由skywalking提供。之后再logback中添加tid到pattern中。最后将agent插件中路径activations/apm-toolkit-logback-1.x-activation-8.7.0.jar移动到plugins中,然后再次启动
二、使用步骤 1.引入库由于本人是基于8.7.0进行开发的故版本号选择8.7的版本
2.修改logback文件org.apache.skywalking apm-toolkit-logback-1.x8.7.0
(示例):
3.移动agent插件/apps/logs/app.log /apps/logs/app-%d{yyyy-MM-dd}-%i.log 10 200MB %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %tid %logger{50} - %msg%n
:将agent路径activations/apm-toolkit-logback-1.x-activation-8.7.0.jar移动到plugins中。
4.观察结果:结果如下
2022-01-17 13:50:50.250 [http-nio-9013-exec-1] INFO TID:1baac609bcd549f9bde79acba8c1d34a.33.16423986502360001 o.a.c.core.Containerbase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2022-01-17 13:50:50.250 [http-nio-9013-exec-1] INFO TID:1baac609bcd549f9bde79acba8c1d34a.33.16423986502360001 org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2022-01-17 13:50:50.263 [http-nio-9013-exec-1] INFO TID:1baac609bcd549f9bde79acba8c1d34a.33.16423986502360001 org.springframework.web.servlet.DispatcherServlet - Complete
可以看出打印日志中包含了TID
总结通过先引入skywalking的jar包,然后在 Logback 配置文件中的 pattern 中添加 %tid,就可以在日志行中输出调用链ID。
建议:后续可以通过修改logstash 配置解析文件就可以在es中存储包含traceid的日志记录,之后可通过skywalking连接日志存储ES获取数据,可完成对日志进行查询和链路的关联。
Logback 集成 Skywalking Trace ID 并结合skywalking agent源码进行分析(二)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)