参考:
链路追踪( Skyworking )_skywalking-CSDN博客
企业级监控项目Skywalking详细介绍,来看看呀-CSDN博客
SkyWalking 极简入门 | Apache SkyWalking
使用 SkyWalking 监控 ClickHouse Server | Apache SkyWalking
https://zhuanlan.zhihu.com/p/361579294
1.概述
SkyWalking是一个可观测性分析平台(Observability Analysis Platform简称OAP)和应用性能管理系统(Application Performance Management简称APM),专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计,国产开源APM组件,2017年加入Apache孵化器。
提供分布式追踪、告警、服务遥测分析和可视化一体化解决方案,支持 SpringBoot、SpringCloud、dubbo 集成,代码无侵入,通信方式采用 GRPC,性能较好,实现方式是 Java 探针,支持告警,支持JVM监控,支持全局调用统计等等,功能较完善。
SkyWalking为服务(service),服务实例(service instance),以及端点(endpoint)提供了可观测能力。服务对外提供的HTTP接口就是一个端点,服务部署的节点就是实例。
服务(service):表示对请求提供相同行为的一组工作负载。
服务实例(Service Instance):上述的一组工作负载中的每一个工作负载称为一个实例。
端点(Endpoint):对于特定服务所接收的请求路径,如 HTTP 的 URI 路径和 gRPC 服务的类名 + 方法签名。
2.特性
监控手段丰富;
多语言自动探针,包括 Java,.NET Core 和 Node.JS;
优秀的可视化方案;
分布式链路跟踪和上下文传播;
轻量高效。无需大数据平台,和大量的服务器资源。
支持告警,但不支持告警通知;
3.功能说明
在线服务样例:http://34.92.247.5/marketplace
账号:skywalking
密码:skywalking
3.1.服务监控
展示服务请求量、吞吐量、请求成功率、平均响应时间、消息队列消费数量、消息队列消费时长等。
3.2.实例监控
展示实例请求量、吞吐量、请求成功率、平均响应时间、jvmCPU、jvm内存、YGC/OGC、GC次数/时间等。
3.3.端点监控
展示端点请求量、请求成功率、平均响应时间、消息队列消费量。
3.4.数据库监控
展示数据库的QPS、TPS、请求量、请求成功率、慢查询等时序曲线。支持MySQL/MariaDB、PostgreSQL、DynamoDB、Redis、ES、MongoDB、ClickHouse。
3.5.服务拓扑
展示服务间调用关系图,服务状态。
3.6.链路追踪
展示整个链路调用情况,支持各节点耗时、情况详细查看。
3.7.性能剖析
针对端点对象提供性能监控,提供对监控数据的分析结果。可以查看请求成功率、响应耗时,线程调用栈性能分析。
3.8.日志监控及关联
支持运行日志上传Skywalking端,进行日志相关管理,并且可以将日志和相关服务节点关联起来。
3.9.告警管理
支持对指定参数设置阈值,当超过阈值时,就会触发告警,及时通知开发人员。但Skywalking并没有提供告警通知的功能(发短信、发邮件等方式),只提供了一个webhook(网络钩子),开发者可以通过webhook自定义通知接口,然后再自己实现告警通知的方式。
3.10.数据持久化
支持内存、mysql、es等。
4.架构图
上部分 Agent :负责从应用中收集链路信息Tracing,发送给 SkyWalking OAP 服务器。
下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。
左部分 SkyWalking UI :负责提供控台,查看链路等等。