SkyWalking简述
分布式链路追踪系统
随着系统设计变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络,这种复杂的分布式网络的维护与追踪非常困难。
为了解决这些问题,分布式链路追踪应运而生。
Google Dapper
针对这个问题,现今业界分布式链路追踪的理论基础主要来自于 Google 的一篇论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》
SkyWalking
面对这样的问题,国内目前大多数采用华为开源给Apache的SkyWalking工具来解决这样的链路追踪问题,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。
其核心功能要点如下:
- 指标分析:服务,实例,端点指标分析
- 问题分析:在运行时分析代码,找到问题的根本原因
- 服务拓扑:提供服务的拓扑图分析
- 依赖分析:服务实例和端点依赖性分析
- 服务检测:检测慢速的服务和端点
- 性能优化:根据服务监控的结果提供性能优化的思路
- 链路追踪:分布式跟踪和上下文传播
- 数据库监控:数据库访问指标监控统计,检测慢速数据库访问语句(包括SQL语句)
- 服务告警:服务告警功能
运行SkyWalking需要配合java的agent一起执行
可以通过webhook来实现邮件报警等多个方便运维的监控功能