当前位置: 首页 > news >正文

SkyWalking分布式链路追踪学习

为什么要用分布式链路追踪

实际生产中,面对几十个、甚至成百上千个的微服务实例,如果一旦某个实例发生宕机,如果不能快速定位、提交预警,对实际生产造成的损失无疑是巨大的。所以,要对微服务进行监控、预警,对微服务的调用链路进行监控,迅速定位问题

分布式链路追踪框架

在这里插入图片描述

Skywalking分布式链路追踪

在这里插入图片描述
SkyWalking下载

SkyWalking官网

elasticsearch下载

SkyWalking在GitHub的仓库

SkyWalking安装使用 Windows使用教程、Centos 7使用教程

SkyWalking 搭建及简单使用

分布式服务调用链路追踪——Skywalking

apache-skywalking-apm-6.6.0版本适合入门,一般可以直接点击进行启动,不需要进行其他配置,分布式链路追踪跨服务请求对请求工具有一定要求,如果是原生HttpConnection可能无法正常被skywalking追踪,可以将skywalking通过自身的配置注册到微服务注册中心

skywalking安装

1.下载skywalking6.6,这个版本适合入门
在这里插入图片描述

2.解压apache-skywalking-apm-6.6.0.tar.gz
修改这个文件夹下的文件webapp.yml文件默认端口,默认为8080
在这里插入图片描述

3.改为18120

server:port: 18120collector:path: /graphqlribbon:ReadTimeout: 10000# Point to all backend's restHost:restPort, split by ,listOfServers: 127.0.0.1:12800

4.返回bin目录,直接点startup.bat启动
在这里插入图片描述

注意没有配置MySQL、es等,不能持久化存储
MySQL数据存储需要将connector-java-5.1.49.jar包放在oap-libs目录下即可

启动idea部署探针

只使用springboot项目就行,在启动时配置一下启动参数就可以部署探针,不用专门去打jar包运行,如果是已经打了jar包的,给jar包指定启动参数就行了
编辑配置
在这里插入图片描述

-javaagent:E:\Z00Packages\DevelopTools\Others\apache\skywalking\apache-skywalking-apm-6.6.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=service-admin
-Dskywalking.collector.backend_service=localhost:11800

-javaagent:用于指定探针路径
-Dskywalking.agent.service_name:用于重写 agent/config/agent.config 配置文件中的服务名,名称是自定义的
-Dskywalking.collector.backend_service:用于重写 agent/config/agent.config 配置文件中的服务地址,端口是grpc默认端口11800
按照这个方法对项目进行部署,然后启动项目,项目的探针就部署好了,这个时候可以去看项目拓扑图

运行jar方式部署探针

将上面部署的参数给jvm赋值一下就行了

jar -jar 参数 jar包

链路请求追踪截图

仪表盘
在这里插入图片描述

拓扑图
在这里插入图片描述

追踪
在这里插入图片描述

告警
在这里插入图片描述

获取skywalking的traceid

引入依赖

 <!-- https://mvnrepository.com/artifact/org.apache.skywalking/apm-toolkit-trace --><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-trace</artifactId><version>6.5.0</version></dependency>

使用TraceContext获取traceId

import org.apache.skywalking.apm.toolkit.trace.TraceContext;
String traceId = TraceContext.traceId();  

使请求可以在skywalking可以查询

ActiveSpan.tag("test", test);
ActiveSpan.tag("username", username);
http://www.lryc.cn/news/176768.html

相关文章:

  • git revert 撤销之前的提交
  • rk3568环境配置和推理报错: RKNN_ERR_MALLOC_FAIL
  • 网络工程师基础笔记(一)
  • Postman应用——Headers请求头设置
  • 人人都是项目经理-项目管理概述(一)
  • 浅谈基于物联网的医院消防安全管理
  • 户用储能争斗:华宝新能“稳”、正浩科技“快”、安克创新“急”
  • 【面试篇】集合相关高频面试题
  • RT Preempt linux学习笔记
  • JavaScript 基础第四天笔记
  • Unity 2021.x及以下全版本Crack
  • 基于知识蒸馏的夜间低照度图像增强及目标检测
  • 4、ARM异常处理
  • 【Element-UI】CUD(增删改)及form 表单验证(附源码)
  • 2024年高新技术企业认定标准
  • 励磁工作原理
  • 【JAVA】获取当前项目的classpath路径
  • Sulfo CY3-DBCO蛋白质标记实验-星戈瑞
  • 【不规范bug注意】2023.9.26
  • it端到端运维监控
  • Vue3根组件设置Transition失效的问题
  • 2023-2024年最新大数据学习路线
  • Cocos Creator3.8 实战问题(三)去除scrollview背景色和label 对齐方式设置无效问题
  • 以太坊代币标准ERC20、ERC165、ERC721
  • spring cloud gateway谓词工厂 Predicate Factory
  • 美丽塔O(n)解法单调栈
  • ​的PDF文件压缩软件PDF Squeezer mac中文版​软件特点
  • JS Ajax 封装
  • 观测云产品更新 | 优化日志数据转发、索引绑定、基础设施自定义等
  • trio ValueEvent