分布式追踪与监控:Skywalking介绍(一)

一、APM介绍

APM(Application Performance Management)应用性能管理,通过各种探针采集并上报数据,收集关键指标,同时搭配数据展示以实现对应用程序性能管理和故障管理的系统化解决方案。

目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking,这里主要介绍 SkyWalking ,它是一款优秀的国产 APM 工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。

Zabbix、Premetheus、open-falcon等监控系统主要关注服务器硬件指标与系统服务运行状态等,而APM系统则更重视程序内部执行过程指标和服务之间链路调用情况的监控,APM更有利于深入代码找到请求响应"慢"的根本问题,与Zabbix之类的监控是互补关系。

二、分布式链路追踪

常见的微服务的框架,4 个实例,2 个 MySQL、1 个 Redis。实际上它有两次完全不同的请求进来:有一次的一个请求会访问 Redis,再去访问 MySQL;另外一个可能走到另外的服务上,然后直接去 MySQL。整个分布式追踪的目的是什么?是为了让我们最终在页面上、UI上、和数据上能够复现这个过程。我们要拿到整个完整的链路,包括精确的响应时间,访问的方法、访问的 circle,访问的 Redis 的 key等,这些是我们在做分布式追踪的时候需要展现的一个完整的信息。

三、Apache Skywalking(Incubator)简介

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

Apache Skywalking(Incubator)专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。Apache Skywalking(Incubator)通过加载 探针-非侵入式 的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语言。另外社区还发展出了一个叫OpenTracing的组织,旨在推进调用链监控的一些规范和标准工作。

Skywalking支持从6个可视化维度剖析分布式系统的运行情况。

  • 总览视图(Global view)是应用和组件的全局视图,其中包括组件和应用数量,应用的告警波动,慢服务列表以及应用吞吐量;
  • 拓扑图(topology view)从应用依赖关系出发,展现整个应用的拓扑关系;
  • 应用视图从单个应用的角度,展现应用的上下游关系,TopN的服务和服务器,JVM的相关信息以及对应的主机信息。
  • 服务视图关注单个服务入口的运行情况以及此服务的上下游依赖关系,依赖度,帮助用户针对单个服务的优化和监控;
  • 追踪(trace)展现了调用的单次请求经过的所有埋点以及每个埋点的执行时长;
  • 告警视图(alarm)根据配置阈值针对应用、服务器、服务进行实时告警。
相关推荐
KaiwuDB1 天前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
泡海椒2 天前
深度解析JQuick-SQL AST到逻辑计划转换机制|分布式SQL原理
数据库·分布式·sql
泡海椒2 天前
深度解析JQuick-SQL SQL解析与AST生成机制|分布式SQL原理
数据库·分布式·sql
2603_954708312 天前
微能网协调控制箱的架构优势对能源管理的影响?
大数据·人工智能·分布式·安全·架构
方方洛2 天前
ray教程-14-RayTune与超参搜索
人工智能·分布式·机器学习
深圳市恒星物联科技有限公司2 天前
排水管网监测分层分布式架构:感知-传输-平台-应用详解
分布式·架构
chunyublog2 天前
FinalShell 远程连接 Hadoop 三节点集群教程
大数据·hadoop·分布式
泡海椒2 天前
深度解析JQuick-SQL 逻辑计划到物理计划生成机制|分布式SQL原理
数据库·分布式·sql
磁场转动100万匹2 天前
Spark Core 核心原理:从 RDD 到分布式计算
大数据·分布式·spark
ZhengEnCi2 天前
内存装不下怎么取 Top 100:外部排序与分布式 Top-K 的实测取舍
分布式·算法·排序算法