服务链路追踪配置mysql_基于 SkyWalking 实现服务链路追踪

本文介绍了Apache SkyWalking作为一款观测平台,用于分布式系统的性能监控。详细讲解了SkyWalking的架构组成部分,包括探针、平台后端、存储和用户界面。重点阐述了如何在CentOS7上配置SkyWalking服务,包括下载、解压、启动服务以及开放相关端口。同时,文章展示了如何将SkyWalking与Spring Cloud项目整合,实现服务链路追踪,包括配置agent、启动服务和查看追踪信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SkyWalking是一个开源的观测平台,用于从服务和云原生等基础设施中收集、分析、聚合以及可视化数据。SkyWalking 提供了一种简便的方式来清晰地观测分布式系统,甚至可以观测横跨不同云的系统。SkyWalking 更像是一种现代的应用程序性能监控(Application Performance Monitoring,即APM)工具,专为云原生,基于容器以及分布式系统而设计

SkyWalking 在逻辑上分为四部分:探针、平台后端、存储和用户界面。其架构图如下:

20191231014259801214.png

探针:基于不同的来源探针可能是不一样的,但作用都是收集数据,将数据格式化为 SkyWalking 适用的格式。例如在Java中则是做字节码植入,无侵入式的收集,并通过 HTTP 或者 gRPC 方式发送数据到平台后端

平台后端:是一个支持集群模式运行的后台,用于数据聚合、数据分析以及驱动数据流从探针到用户界面的流程。平台后端还提供了各种可插拔的能力,如不同来源数据(如来自 Zipkin)格式化,不同存储系统以及集群管理。你甚至还可以使用观测分析语言来进行自定义聚合分析。

存储:是开放式的,可以选择一个既有的存储系统,如 ElasticSearch、H2 或 MySQL 集群(Sharding-Sphere 管理),也可以选择自己实现一个存储系统。

用户界面:也就是SkyWalking的可视化界面,UI非常炫酷且强大,同样它也是可定制以匹配你已存在的后端的

SkyWalking 为观察和监控分布式系统提供了许多不同场景下的解决方案。例如为Java、C#及Node.js提供语言自动探针,无侵入式的收集。同时也为一些编译型语言C++、GO等提供了手动打点 SDK(目前还未支持)。除此之外,还可以使用服务网格基础探针来收集数据,以帮助了解整个分布式系统。

在SkyWalking中也存在服务、服务实例及端点概念,因为SkyWalking就是提供了这些概念的观测能力:

服务(Service):表示对请求提供相同行为的一系列或一组工作负载。在使用打点代理或 SDK 的时候,你可以定义服务的名字。如果不定义的话,SkyWalking 将会使用你在平台上定义的名字,如 Istio。

服务实例(Service Instance):上述的一组工作负载中的每一个工作负载称为一个实例。就像 Kubernetes 中的 pods 一样,服务实例未必就是操作系统上的一个进程。但当你在使用打点代理的时候, 一个服务实例实际就是操作系统上的一个真实进程。

端点(Endpoint):对于特定服务所接收的请求路径,如 HTTP 的 URI 路径和 gRPC 服务的类名 + 方法签名

综上,SkyWalking 优势如下:

多种监控手段,语言探针和服务网格(Service Mesh)

模块化,UI、存储、集群管理多种机制可选

支持告警

优秀的可视化方案

更多内容可以参考官方文档:

搭建 SkyWalking 服务 - Linux

对SkyWalking有一个大致的了解后,本小节我们来在CentOS7上搭建 SkyWalking 服务。首先我们需要获取到SkyWalking的下载地址,官方下载地址如下:

这里我选择当前最新的6.6.0版本的二进制包:

20191231014300210410.png

复制下载地址到服务器上进行下载并解压,具体步骤如下:

为了深入理解如何在Skywalking配置MySQL作为后端存储,并实现基于grpc的链路追踪,您可以参考以下详细步骤和配置。首先,确保您已经下载了Skywalking,并且准备了MySQL数据库。《Apache Skywalking安装与配置指南》一书将为您的实践之旅提供必要的帮助。 参考资源链接:[Apache Skywalking安装与配置指南](https://wenku.youkuaiyun.com/doc/6edyutegzo?spm=1055.2569.3001.10343) 1. **配置Skywalking以使用MySQL**: - 找到Skywalking配置文件`application.yml`,通常位于`config`目录下。 - 修改`storage`部分,配置MySQL的连接信息,例如: ```yaml storage: mysql: properties: jdbcUrl: jdbc:mysql://localhost:3306/skywalking?useUnicode=true&characterEncoding=utf8&useSSL=false dataSource.user: skywalking dataSource.password: skywalking dataSource.cachePrepStmts: true dataSource.prepStmtCacheSize: 250 dataSource.prepStmtCacheSqlLimit: 2048 dataSource.useServerPrepStmts: true ``` - 此配置将会指导Skywalking如何连接到MySQL数据库,并使用相应的表和数据结构。 2. **配置grpc插件**: - Skywalking使用grpc进行链路数据的报告,因此需要配置相应的插件。 - 修改`agent.config`文件,设置grpc的服务器地址和端口,确保与服务端OAP Server的地址和端口一致: ```conf plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:***.*.*.*} plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800} ``` - 此配置是agent向OAP Server报告数据的关键。 3. **启动Skywalking服务端**: - 使用提供的启动脚本启动Skywalking OAP Server和UI。 - 确认服务端可以成功启动,并且agent配置正确。 4. **监控微服务并进行链路追踪**: - 部署已集成Skywalking Java Agent的微服务应用。 - 观察Skywalking UI,验证是否可以正确显示服务间调用链路和性能指标。 通过以上步骤,您可以成功配置Skywalking以使用MySQL作为存储后端,并实现基于grpc的链路追踪功能。《Apache Skywalking安装与配置指南》将为您提供额外的实践指导和故障排除技巧。在此基础上,您还可以探索Skywalking的其他高级功能,如服务网格监控、性能指标监控和自定义仪表盘,以全面提升您对微服务架构的监控和管理能力。 参考资源链接:[Apache Skywalking安装与配置指南](https://wenku.youkuaiyun.com/doc/6edyutegzo?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值