mysql持久化 SkyWalking完结—告警
对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如:
1.如何串联整个调用链路,快速定位问题?
2.如何缕清各个微服务之间的依赖关系
SkyWalking—前言 对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如: 1.如何串联整个调用链路,快速定位问题? 2.如何缕清各个微服务之间的依赖关系? 3.如何进行各个微服务接口的性能分析? 4.如何跟踪整个业务流程的调用处理顺序? 作用 : 快速定位问题 介绍SkyWalkingmp4 SkyWalking是一个国产开源框架,是一款优秀的**APM(Application Performance Management)**工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等 非侵入性的 优于其他链路框架 主要功能特性 1、多种监控手段,可以通过语言探针和service mesh获得监控的数据; 2、支持多种语言自动探针,包括Java,.NET Core和Node.JS; 3、轻量高效,无需大数据平台和大量的服务器资源; 4、模块化,UI、存储、集群管理都有多种机制可选; 5、支持告警; 6、优秀的可视化解决方案; SkyWalking—服务端搭建 下载地址 解压 修改一下webapp中webapp.yml中的端口 8868 (本来是8080 为了防止冲突) 启动 bin/startup.bat 启动成功后会启动两个服务,一个是skywalking-oap-server,一个是skywalking-web-ui : 8868 skywalking-oap-serva;服务启动后会暴露11800和12800两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800 访问 localhost:8868 SkyWalking—接入多个微服务 Skywalking跨多个微服务跟踪mysql持久化,只需要每个微服务启动时添加javaagent参数即可。 gateway模块 gateway模块 alibaba-order-seata 和 alibaba-stock-seata 两个添加javaagent参数
参数描述 javaagent -配置 skywalking-agent.jar 的地址,需要修改 service_name -配置 需要监控的服务名,需要修改 javaagent -skywalking收集器服务的地址,照抄 nacos seata先启动 然后启动项目 alibaba-order-seata 和 alibaba-stock-seata 和gateway 此处有一个bug看不到gateway服务的 去到 D:\apache-skywalking-apm-bin8.5.0\agent\optional-plugins 把 apm-spring-cloud-gateway-2.1.x-plugin-8.5.0.jar复制到 D:\apache-skywalking-apm-bin8.5.0\agent\plugins当中 重启 SkyWalking—使用mysql持久化 默认使用的H2数据库存储 服务启动 关闭SkyWalking再启动服务没了 基于mysql的持久化 修改 config/application.yml 创建数据库swtest(不用创建表) 然后把mysql的依赖复制到 D:\apache-skywalking-apm-bin8.5.0\oap-libs 下 重启 skywalking 发现数据库swtest多了很多表 这个时候服务启动访问 关闭SkyWalking再启动服务 数据还在 SkyWalking—自定义链路追踪 如果我们希望对项目中的业务方法,实现链路追踪,方便我们排查问题,可以使用如下的代码引入依赖 order-nacos模块
service层 方法中加上@Trace 我们还可以为追踪链路增加其他额外的信息,比如记录参数和返回信息。实现方式:在(service层)方法上增加@Tag或者@Tags。 必须要有@Trace 后 @Tag才有用
查看 SkyWalking—性能剖析 SkyWalking—日志 springboot默认实现的日志框架是logback,这里也就拿logback举例 1.order-nacos模块引入依赖
2.在项目中resources目录下创建logback-spring.xml文件 主要就是在日志的输出格式中添加[%tid] 这个就是调用链路的id。
3.测试,重启微服务后调用接口,就会在控制台的日志中看到调用链路tid 刚开始服务启动时,没有调用接口,也就肯定没有链路追踪id,然后调用接口后就会在日志中有显示了 在SkyWalking的追踪菜单中,如果链路很多,我们就可以通过这个TID来进行搜索 但现在日志菜单中还没有任何内容,如果想要服务的日志同步到SkyWalking中,并在日志菜单中显示就还需要在logback-spring.xml文件中添加配置 grpc-log
重启访问 现在日志菜单中就会有我们为微服务打印的日志了 注意:如果SkyWalking的服务端不是部署在本地,也就是SkyWalking没有和微服务部署在同一台服务器中的话,需要修改agent\config\agent.config文件,在结尾添加以下配置,主要就是修改SkyWalking服务的ip和端口
以上配置时默认配置信息,agent与oap在本地的可以不配 SkyWalking完结—告警 这个自己去了解吧~ 完结撒花 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |