SpringCloud集成SkyWalking链路追踪并收集日志

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用微信支付,扫码加群。由于维护成本问题得不到解决,可能将停止线上维护。

点击这里预览

抖音体验版

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》
https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html

有需求代码永远写不完,而方法才是破解之道,抖音有实战视频课程,某马某千等培训都是2万左右,甚至广东有本科院校单单一年就得3万4年就12万学费,而且还没有包括吃饭的钱。所以很划算了。另外博客左侧有源码阅读专栏,对于求职有很大帮助,当然对于工作也是有指导意义等。在大城市求职,你面试来回一趟多多少少都在12块左右,而且一般不会一次性就通过,还得面试几家。而如果你对源码以及微服务等有深度认识,这无疑给你的面试添砖加瓦更上一层楼。

最后再送一句:最好是学会了,而不是学废了!!

目录

前言

安装skywalking服务端

启动skywalking服务端

配置SkyWalking日志收集

下载配置Java agent

启动服务查看效果


前言

skywalking是一个国产开源框架,是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker k8s Mesos)架构而设计,它是一款优秀的APM(Application Performance Managerment)工具。包括了分布式追踪、性能指标分析、应用和服务依赖等

SkyWalking 的核心是数据分析和度量结果的存储平台,通过 HTTP 或 gRPC 方式向 SkyWalking Collecter 提交分析和度量数据,SkyWalking Collecter 对数据进行分析和聚合,存储到 Elasticsearch、H2、MySQL、TiDB 等其一即可,最后我们可以通过 SkyWalking UI 的可视化界面对最终的结果进行查看。

APM 与 SkyWalking
APM(Application Performance Management),即应用性能管理系统。对应用程序单点性能与整个分布式应用进行监控,记录每一个环节程序执行状况,通过图表与报表的西施让运维人员随时掌握系统的运行状况。

特点:

实现强大的链路跟踪
相比 Zipkin,拥有更友好、更详细的监控项
能自动生成可视化图表

SkyWalking 服务端与 Java Agent

  • JDK 8
  • skywalking-apm:9.0.0
  • skywalking-java-agent:9.0.0

安装skywalking服务端

进入skywalking下载页面,按照以下截图进行不同版本的下载

下载成功后进行解压,解压后如下所示

重点关注以下文件夹

bin:包括用于后端服务和前端UI的启动shell脚本和cmd脚本
config:后端服务的配置文件,主要关注application.yml、log4j.xml、alarm-settings.yml
oap-libs:后端服务所需要的所有依赖
webapp:前端应用以及配置文件,webapp.yml默认端口8080,新版为application.yml

启动skywalking服务端

进入bin文件夹,双击webappService.bat启动skywalking服务的后端与前端

启动成功后如下所示

访问在浏览器输入localhost:8080,进入控制台页面

首先需要查看前端服务运行的端口,进入webapp文件夹,查看前端配置文件webapp.yml/application.yml,发现前端服务的运行端口号是通过变量SW_SERVER_PORT设置的,其默认端口号为8080。如果冲突了就修改一下重新启动。

端口占用:

  • 11800:gRPC 端口,数据收集服务。
  • 12800:HTTP 端口,数据收集服务。
  • 8080:SkyWalking UI,用于展示数据。

注意:启动后是空空的没有数据

配置SkyWalking日志收集

pom 中依赖 SkyWalking 的 logback 插件包

<!-- skywalking链路追踪 -->
<!-- 如果想在项目代码中获取链路TraceId,则需要引入此依赖 -->
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.12.0</version>
</dependency>
<!-- skywalking logback日志插件 -->
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.12.0</version>
</dependency>

添加/修改 logback.xml,启用 SkyWalking 提供的 appender

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
	<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
		<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
			<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} -%msg%n</Pattern>
		</layout>
	</encoder>
</appender>

<appender name="grpc" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
	<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
		<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
			<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
		</layout>
	</encoder>
</appender>

<root level="INFO">
	<appender-ref ref="stdout"/>
	<appender-ref ref="grpc"/>
</root>

下载配置Java agent

skywalking使用java agent将客户端植入到微服务中,当项目启动时,会自动与skywalking服务端建立连接。

下面我们进入官网下载页面

下载成功后进行解压,解压后如下所示

重点关注以下文件

  • config:客户端的配置
  • logs:日志
  • skywalking-agent.jar:skywalking的客户端

DEA开发环境下配置Java agent

每个服务应用的 Edit Run/Debug Configurations ,添加如下add VM options

-javaagent:D:\software\skywalking\skywalking-agent\skywalking-agent.jar 
-Dskywalking.agent.service_name=eureka-server 
-Dskywalking.collector.backend_service=localhost:11800

其中:
-Dskywalking.agent.service_name:用于重写 agent/config/agent.config 配置文件中的服务名
-Dskywalking.collector.backend_service:用于重写 agent/config/agent.config 配置文件中的服务地址

启动服务查看效果

集成初步效果,刷新一下

后面具体再说说

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Skywalking链路追踪是一种用于监测和追踪分布式系统中请求路径的方法。它能够帮助开发人员了解系统中的微服务之间的调用关系,以及发现潜在的性能瓶颈和故障点。 当前主流的分布式链路追踪系统中,Skywalking是其中一个非常受欢迎的开源系统。它提供了丰富的功能和灵活的配置选项,使得开发人员能够轻松地集成和使用它来进行链路追踪Skywalking的基本知识包括了服务监控的三个要素,即请求的入口、请求的出口以及请求的耗时。通过监控这些要素,我们可以获得对分布式系统中请求的全局视图,并且可以跟踪请求路径中的每个节点。 要使用Skywalking进行链路追踪,我们首先需要在系统中部署Skywalking oap服务,并将其注册到nacos上。只要至少保持一个Skywalking oap服务在运行,就能够进行链路追踪。通过配置Skywalking agent,我们可以在各个微服务中埋点,从而捕获和发送调用链数据到Skywalking oap服务。 总结起来,Skywalking链路追踪是一种用于监测和追踪分布式系统中请求路径的方法,它能够帮助开发人员了解系统中的微服务之间的调用关系,以及发现潜在的性能瓶颈和故障点。Skywalking是当前非常受欢迎的开源链路追踪系统,通过部署Skywalking oap服务和在各个微服务中埋点,我们可以实现对分布式系统中请求的全局视图和详细追踪数据的收集。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [全网最全的Skywalking链路追踪](https://blog.csdn.net/scmagic/article/details/123429815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [链路追踪SkyWalking](https://blog.csdn.net/qq_41910252/article/details/122746979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡布奇诺-海晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值