快速学习-skywalking概述
https://blog.csdn.net/weixin_42528266/article/details/107840900
快速学习-skywalking入门
https://cwl-java.blog.csdn.net/article/details/107840978
快速学习-实用插件
https://blog.csdn.net/weixin_42528266/article/details/107841576
视频
https://www.bilibili.com/video/BV1ZJ411s7Mn?p=1
1.是什么?
1.1.什么是APM系统?
APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本。
APM系统是可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题.(辅助我们分析性能、快速定位问题的系统.)
1.2.什么是分布式链路追踪?
就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如,各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等
1.3.什么是OpenTracing
OpenTracing是一种分布式系统链路跟踪的设计原则、规范、标准
OpenTracing 的数据模型,主要有以下三个:
Trace:一个完整请求链路
Span:一次调用过程(需要有开始时间和结束时间)
SpanContext:Trace 的全局上下文信息,如里面有traceId
1.4.主流的开源APM产品
1.4.1SkyWalking
SkyWalking是apache基金会下面的一个开源APM项目,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链路以及指标,Skywalking APM会感应用间关系和服务间关系,并进行相应的指标统计。
Skywalking是一个可观测性分析平台(Observability Analysis Platform简称OAP)和应用性能管理系统(Application Performance Management简称APM)提供分布式链路追踪、服务网格(Service Mesh)遥测分析、度量(Metric)聚合和可视化一体化解决方案.
Skywalking提供Tracing和Metrics数据的获取和聚合。
Metric主要用来进行数据的统计,比如HTTP请求数的计算。Tracing主要包含了某一次请求的链路数据.
整体架构包含如下三个组成部分:
1.探针(agent)负责进行数据的收集,包含了Tracing和Metrics的数据,agent会被安装到服务所在的服务器上,以方便数据的获取。
2.可观测性分析平台OAP(Observability Analysis Platform),接收探针发送的数据,并在内存中使用分析引擎(Analysis Core)进行数据的整合运算,然后将数据存储到对应的存储介质上,比如Elasticsearch、MySQL数据库、H2数据库等。同时OAP还使用查询引擎(Query Core)提供HTTP查询接口。
3.Skywalking提供单独的UI进行数据的查看,此时UI会调用OAP提供的接口,获取对应的数据然后进行展示。
PinPoint
Pinpoint是由一个韩国团队实现并开源,针对Java编写的大规模分布式系统设计,通过JavaAgent的机制做字节代码植入,实现加入traceid和获取性能数据的目的,对应用代码零侵入。
官方网站:
https://github.com/naver/pinpoint
Zipkin
Zipkin是由Twitter开源,是分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。Zipkin基于Google的Dapper论文实现,主要完成数据的收集、存储、搜索与界面展示。
官方网站:
https://zipkin.io/
CAT
CAT是由大众点评开源的项目,基于Java开发的实时应用监控平台,包括实时应用监控,业务监控,可以提供十几张报表展示。
官方网站:
https://github.com/dianping/cat
2.RocketBot的怎么用?
2.1仪表盘
仪表盘页面分为两大块:
服务仪表盘,展示服务的调用情况
数据库仪表盘,展示数据库的响应时间等数据
选中服务仪表盘,有四个维度的统计数据可以进行查看:
全局,查看全局接口的调用,包括全局响应时长的百分比,最慢的端点,服务的吞吐量等
服务,显示服务的响应时长、SLA、吞吐量等信息
端点,显示端点的响应时长、SLA、吞吐量等信息
实例,显示实例的响应时长、SLA、吞吐量等信息,还可以查看实例的JVM的GC信息、CPU信息、
2.2拓扑图
Skywalking提供拓扑图,直观的查看服务之间的调用关系
2.3 追踪
在Skywalking中,每一次用户发起一条请求,就可以视为一条追踪数据,每条追踪数据携带有一个traceId值。追踪数据在追踪页面中可以进行查询:
2.4 告警
Skywalking中的告警功能相对比较简单,在达到告警阈值之后会生成一条告警记录,在告警页面上进行