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

你有真正了解过国产开源框架APM工具——SkyWalking技术有多牛吗

SkyWalking技术

SkyWalking是国内一个开源并提交到Apache孵化器的产品,是用于收集、分析、聚合、可视化来自不同服务和本地基础服务的数据的可视化的平台。SkyWalking提供了一个可以对分布式系统甚至是跨云服务有清晰了解的简单方法。SkyWalking符合OpenTracing规范,同时提供更加现代化、炫酷的UI,可以更加直观地监控应用。SkyWalking的官方架构如下图所示。

整个系统分为三部分。

  • Agent:采集Tracing(调用链数据)和Metrics(指标)信息并上报。

  • OAP:收集Tracing和Metrics信息通过Analysis Core模块将数据放入持久化容器中(内存数据库H2、MySQL等),并进行二次统计和监控告警。

  • Webapp:前后端分离,前端负责呈现,并将查询请求封装为GraphQL提交给后端;后端通过Ribbon做负载均衡转发给OAP集群,再将查询结果渲染展示。

SkyWalking符合OpenTracing规范,调用链采集数据格式如下。

SkyWalking接入介绍

Idea本地启动:

使用jar方式启动:

SkyWalking的TraceID与日志组件(Log4j、Logback、ELK等)的集成:

SkyWalking的页面展示,以及整体服务调用情况统计DashBoard,如下图所示。

调用链详细信息展示,如下图所示。

监 控 系 统 按 照 原 理 和 作 用 大 致 可 以 分 为 三 类 :度 量 类(Metrics)、日志类(Log)、调用链类(Tracing)。对于不同的监控对象和监控数据类型,需要采用对应的技术栈和监控手段。对于Spring Boot微服务架构,除了开发框架自带的生产就绪组件能够支持服务的健康状态指标查询,我们还需要引入第三方ELK框架作为日志监控组件,与Zipkin和SkyWalking等组件共同实现调用链监控。

相关文章:

  • R语言奇异值分解
  • Python的一些Pythnoic【我自己没读完,待看待再次整理】
  • 【代码随想录】栈与队列专栏(java版本)
  • tsconfig 配置文件各字段详解
  • java毕业设计能源控制系统mybatis+源码+调试部署+系统+数据库+lw
  • 数据分析-numpy1
  • 汇率价格统一,当前购买Fabfilter价格更便宜了
  • BP神经网络需要训练的参数,bp神经网络建模步骤
  • 【Game Of AutoTest】3、游戏自动化测试的框架设计
  • 【操作系统】第五章 IO
  • 互联网大厂高频面试专题 500 道:并发编程 /Spring/MyBatis(附答案解析)
  • javaweb医院门诊管理系统
  • Python从入门到高手的80行代码
  • 回顾大一|我们要做的是提前准备,而不是提前焦虑
  • Docker - 编译安装nginx镜像
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • echarts花样作死的坑
  • gulp 教程
  • HTTP那些事
  • Java面向对象及其三大特征
  • Meteor的表单提交:Form
  • Next.js之基础概念(二)
  • spring-boot List转Page
  • 彻底搞懂浏览器Event-loop
  • 大整数乘法-表格法
  • 动态规划入门(以爬楼梯为例)
  • 关于字符编码你应该知道的事情
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 老板让我十分钟上手nx-admin
  • 前端临床手札——文件上传
  • 区块链共识机制优缺点对比都是什么
  • 什么是Javascript函数节流?
  • 实习面试笔记
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • #pragma pack(1)
  • (145)光线追踪距离场柔和阴影
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (3)(3.5) 遥测无线电区域条例
  • (done) 两个矩阵 “相似” 是什么意思?
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)树状数组
  • 、写入Shellcode到注册表上线
  • .net Signalr 使用笔记
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .Net 知识杂记
  • .NET程序员迈向卓越的必由之路
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)