微服务链路追踪SkyWalking的介绍和部署

news2025/1/12 17:42:43

skywalking和链路追踪

SkyWalking介绍

首先我们要明白一点,在微服务的架构中,为什么要做链路追踪?解决问题的痛点在哪里?其实无外乎是如下几个问题:

  • 如何将整个调用链路串起来,并能够快速定位问题?
  • 如何梳理清楚各个微服务之间的依赖关系?
  • 如何针对各个微服务接口进行性能分折?
  • 如何跟踪整个业务流程的调用处理顺序?

SkyWalking是一个开源的应用性能监控系统,它主要用于跟踪、监测和优化分布式系统和微服务架构的性能。它提供了分布式系统的全链路追踪、指标采集和可视化等功能,可以帮助开发人员及运维人员在实时和历史数据中快速定位和解决性能问题。SkyWalking支持多种语言,包括Java、.NET、PHP、Node.js等,也支持多种协议,如HTTP、gRPC、Dubbo等。另外,SkyWalking还整合了告警、灰度发布、服务依赖分析等功能,为企业级分布式系统的监控和管理提供了全面的解决方案。

它还可以与其他应用程序性能监控工具,如 Grafana 和 Elasticsearch 集成,从而提供更加强大的监控和分析能力。

官网地址:skywalking.apache.org/
中文文档地址:https://skyapm.github.io/document-cn-translation-of-skywalking/

市面上链路追踪框架对比

常见的链路追踪框架有如下四种:

  • Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。
  • Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。
  • SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。
  • CAT是大众点评开源的基于编码和配置的调用链分析,应用监控分析,日志采集,监控报警等一系列的监控平台工具。

优缺点对比:
在这里插入图片描述

性能对比

网上有人对skywalking,zipkin,pinpoint对系统性能影响进行了测试,整体下来,skywalking的探针对吞吐量的影响最小,zipkin的吞吐量居中。pinpoint的探针对吞吐量的影响较为明显。

Skywalking的功能特性

  1. 多种监控手段,可以通过语言探针和service mesh获得监控的数据;
  2. 支持多种语言自动探针,包括 Java,.NET Core 和 Node.JS;
  3. 轻量高效,无需大数据平台和大量的服务器资源;
  4. 模块化,UI、存储、集群管理都有多种机制可选;
  5. 支持告警;
  6. 优秀的可视化解决方案。

skywalking搭建和部署

skywalking分为如下几个部分:

  • skywalking agent和业务系统绑定在一起,负责收集各种监控数据。
  • skywalking oapservice是负责处理监控数据的,比如接受skywalking agent的监控数据,并存储在数据库中;接受skywalking webapp的前端请求,从数据库查询数据,并返回数据给前端。Skywalking oapservice通常以集群的形式存在。
  • skywalking webapp,前端界面,用于展示数据。

1. 下载 SkyWalking

官网比较难下载 所以我这边给大家提供了下载链接,大家可以通过该链接下载。

https://download.csdn.net/download/wu2374633583/87894610

2. 目录结构介绍

解压以后就是这样:
在这里插入图片描述
在这里插入图片描述

3. 搭建SkyWalking OAP 服务

启动脚本bin/startup.sh

在这里插入图片描述

日志信息存储在logs目录

在这里插入图片描述

启动成功后会有两个服务,如下:

  • skywalking-oap-server:暴露11800 和 12800 两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/applicaiton.yml
  • skywalking-web-ui:服务会占用 8080 端口, 修改端口可以修改webapp/webapp.yml

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
server.port:SkyWalking UI服务端口,默认是8080;
collector.ribbon.listOfServers:SkyWalking OAP服务地址数组,SkyWalking UI界面的数据是通过请求SkyWalking OAP服务来获得;

访问:http://192.168.164.128:8080/ 得到如下界面:

在这里插入图片描述

4. SkyWalking中的应用名称

服务(Service) :表示对请求提供相同行为的一系列或一组工作负载,在使用Agent时,可以定义服务的名字;
服务实例(Service Instance) :上述的一组工作负载中的每一个工作负载称为一个实例, 一个服务实例实际就是操作系统上的一个真实进程;
端点(Endpoint) :对于特定服务所接收的请求路径, 如HTTP的URI路径和gRPC服务的类名 + 方法签名。

下一篇我会为大家介绍SkyWalking如何接入到微服务中,同时如何在微服务中使用。希望大家多多关注!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/667442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

供应链管理是干什么的,企业为什么要用供应链管理?

供应链管理的核心是:需求、生产、供应等方面的管理。没有对需求的管理,供应链管理就没有存在的价值,需求管理主要是产品生命周期管理,订单及预测管理,尽管预测永远是错误的,但这并不排除你可以做出一个相对…

C语言学习笔记:单链表

✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 目录 单链表…

深度学习-网络模型的可视化工具总结

强烈感谢公众号:尤而小屋 提供的文章思路 神经网络可视化难点在哪里? 神经网络可视化的难点在于以下几个方面: 复杂性:神经网络的结构通常非常复杂,包含大量的神经元和连接。对于大规模网络,准确地可视化每…

基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)

前言:本文为手把手教学飞控核心知识点之一的姿态解算——MPU6050 姿态解算(飞控专栏第2篇)。项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与一阶低通滤波器…

五大自动化测试的Python框架详解

目录 1.Robot Framework 2.Pytest 3.UnitTest/PyUnit 4.Behave 5.Lettuce 结语 在此为大家准备了五种Python类型的自动化测试框架,以供比较和讨论。 1.Robot Framework 作为最重要的Python测试框架之一,Robot Framework主要被用在测试驱动(test-…

【序列dp】最长上升子序列(二)

文章目录 最长上升子序列-序列dp1016 最大上升子序列和1010. 拦截导弹187. 导弹防御系统272.最长公共上升子序列n^3 TLE优化 最长上升子序列-序列dp 什么是序列相关的 DP ?序列相关 DP,顾名思义,就是将动态规划算法用于数组或者字符串上&…

前端项目工程化搭建

ESLint 在开发过程中,需要遵循一些规范,可以使用下面的工具来配置不同项目需要遵循的规范,来帮助我们检查错误、约束开发过程。 ESLint 配置 使用 Taro CLI 创建的项目,会自动生成 .eslintrc 文件。只需要在这个文件的 rules 配…

web渗透

首先这道题目与ctf还是有点关系的,首先看一下题目: 通过浏览器访问http://靶机服务器IP/1,对该页面进行渗透测试, 找到flag格式:flag{Xxxx123},括号中的内容作为flag值并提交;&…

关于深度学习训练的工程技巧

前置基础 不同精度数据类型的动态范围 FP16的动态范围(6x10-8 ~ 65504) FP32的动态范围(1.4x10-45 ~ 1.7x1038) 可以看出Fp32的动态范围远大于fp16; 其中BF16的取值范围: BF16(BFloat16)的取值范围也是按照IEEE 754标准定义的,…

破解时间序列:移动平均法的综合指南

目录 前言一、时间序列介绍1-1、时间序列定义1-2、时间序列特性1-3、时间序列作用 二、统计学方法2-1、移动平均法介绍2-1-1、基本原理、计算过程2-1-2、移动平均法分类2-1-3、简单移动平均法2-1-4、加权移动平均法2-1-5、指数移动平均法(Exponential Moving Averag…

C# 反射(Reflection)总结

目录 什么是反射? 为什么使用反射? 反射机制的优缺点 如何使用反射? 一,Type访问元数据 获取/修改类中公有成员(属性PropertyI和字段Field等) 调用类中的公有构造函数Constructor 调用类中的公有方…

【软件工程】软件工程期末考试复习题

填空题(每空1分,共25分) 软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。可行性研究&…

【UE 从零开始制作坦克】10-炮弹溅射伤害

目录 一、解决炮弹穿过坦克炮塔问题 二、炮弹溅射伤害 效果 一、解决炮弹穿过坦克炮塔问题 打开“PHYS_West_Tank_M1A1Abrams”这个物理资产 造成这种现象的原因是,炮弹只会与如下紫色区域产生碰撞事件 选中坦克炮塔的骨骼 添加盒体外形 缩放盒体外形使其包裹住…

数据库原理之数据库事物

文章目录 一、事物介绍1.1 事物的目的是保证数据的一致性1.2 事物的ACID A、I、D是为了实现 C1.3 什么是本地事物(Local Transactions) 二、数据库系统如何实现ACID2.1 影响深远的ARIES理论2.2 本地事物如何实现原子性和持久性 A、D2.2.1 实现原子性和持久性的Commit Logging方…

基于高精度三维机器视觉的汽车曲轴无序抓取系统应用

Part.1 行业背景 汽车产业的高速发展,对零部件自动化生产提出了更高要求。随着汽车销量的水涨船高,传统的手工生产模式已经难以满足大批量生产的需求,自动化生产是必然趋势。 曲轴是汽车发动机的关键组件之一,生产过程复杂&#…

【MySQL】如何速通MySQL(4)

📌前言:本篇博客介绍如何速通MySQL的第四篇,主要介绍Mysql中主要的基础的入门,学习MySQL之前要先安装好MySQL,如果还没有安装的小伙伴可以看看博主前面的博客,里面有详细的安装教程。或者看一下下面这个链接…

Linux(centos )防火墙常见操作

1、查看防火墙当前状态 systemctl status firewalld 2、开启防火墙 systemctl start firewalld 3、关闭防火墙 systemctl stop firewalld.service 4、如果报错:-bash: firewall-cmd: command not found,可能是没有安装 firewall。安装命令&#xff1a…

处理错误 Xcode 编译找不到文件 libarclite_iphonesimulator.a

处理错误 Xcode 编译找不到文件 libarclite_iphonesimulator.a 视频 https://youtu.be/ZBMFs2PwkB4 错误描述 Error (Xcode): File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.aEr…

双非硕士-美国联培-马普所博士后-985系主任的逆袭之路

本科和硕士都是双非学校,博士期间曾有美国联合培养经历,毕业后到德国马普所从事博士后研究。现任985高校特聘教授、博/硕士生导师,系主任。知识人网小编特刊介绍李志明博士的逆袭之路。 随着国内就业压力的增大,高校招聘教师也呈现…

element 设置 table中的按钮权限

子组件 <template><!-- 二次封装表格&#xff0c; 仅支持单选 :style"{ height: height }"--><div class"self_table"><el-table:data"tableData"style"width: 100%"v-loading"loading"stripeselecti…