skywalking 简单操作文档

1.1. 基础概念

1.1.1. 概述

SkyWalking是 apache基金会下面的一个开源 APM项目,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链路以及指标,Skywalking APM会感知应用间关系和服务间关系,并进行相应的指标统计。Skywalking支持链路追踪和监控应用组件基本涵盖主流框架和容器,如国产 RPC Dubbo和 motan等,国际化的 spring boot,spring cloud。

下面是 Skywalking的几大特点:多语言自动探针,Java,.NET Core和 Node.JS。多种监控手段,语言探针和 service mesh。轻量高效。不需要额外搭建大数据平台。模块化架构。UI、存储、集群管理多种机制可选。支持告警。优秀的可视化效果。

Skywalking 提供 Tracing(跟踪)和 Metrics(指标)数据的获取和聚合。Metric的特点是,它是可累加的:他们具有原子性,每个都是一个逻辑计量单元,或者一个时间段内的柱状图。例如:队列的当前深度可以被定义为一个计量单元,在写入或读取时被更新统计;输入 HTTP请求的数量可以被定义为一个计数器,用于简单累加;请求的执行时间可以被定义为一个柱状图,在指定时间片上更新和统计汇总。Tracing的大特点就是,它在单次请求的范围内,处理信息。任何的数据、元数据信息都被绑定到系统中的单个事务上。例如:一次调用远程服务的 RPC执行过程;一次实际的 SQL查询语句;一次 HTTP请求的业务性 ID。总结,Metric主要用来进行数据的统计,比如 HTTP请求数的计算。Tracing主要包含了某一次请求的链路数据。

1.1.2. 优势

Skywalking相比较其他的分布式链路监控工具,具有以下特点:社区相当活跃。Skywalking已经进入 apache孵化,目前的 start数已经超过 11K,新版本6.5.0已经发布。开发者是国人,可以直接和项目发起人交流进行问题的解决。Skywalking支持 Java,.NET Core和 Node.JS语言。相对于其他平台:比如 Pinpoint支持Java和PHP,具有较大的优势。探针无倾入性。对比 CAT具有倾入性的探针,优势较大。不修改原有项目一行代码就可以进行集成。探针性能优秀。有网友对 Pinpoint和 Skywalking进行过测试,由于 Pinpoint收集的数据过多,所以对性能损耗较大,而 Skywalking探针性能十分出色。支持组件较多。特别是对 Rpc框架的支持,这是其他框架所不具备的。Skywalking对 Dubbo、gRpc等有原生的支持,甚至连小众的 motan和 sofarpc都支持。

1.1.3. 主要概念

使用如下案例来进行 Skywalking主要概念的介绍,Skywalking主要概念包含:

  • 服务(service)
  • 端点(endpoint)
  • 实例(instance)

上图中,我们编写了用户服务,这是一个 web项目,在生产中部署了两个节点:192.168.1.100和192.168.1.101。用户服务就是 Skywalking的服务(Service),用户服务其实就是一个独立的应用(Application),在 6.0之后的 Skywalking将应用更名为服务(Service)。用户服务对外提供的 HTTP接口/usr/queryAll就是一个端点,端点就是对外提供的接口。192.168.1.100和 192.168.1.101这两个相同服务部署的节点就是实例,实例指同一服务可以部署多个。

1.1.4. 开发需要注意的问题

框架支持接入skywalking 作为链路监控,同时对于服务器资源不足的客户,也可以生成自定义的traceId(当然这种自定义的模块除了 能把日志串联起来,其他功能是没有的)

1、使用skywalking

增加配置luna.framework.starter.apm.skywalking.enable=true

2、使用自定义traceid

增加配置luna.framework.starter.apm.luna-trace.enable=true

skywalking和自定义的traceId只能使用一个,默认开启的是skywalking,且两个只能有一个enable为true。一旦开启了自定义的traceId,skywalking的功能将失效。

1.2. 管理页面使用

Skywalking的管理页面主要用于监控整个系统的状态,当出现问题时,可以快速的了解系统当前的情况,问题可能的原因。

1.2.1. 服务监控

Skywalking可以监控服务的状态,当系统出现问题时,可以从一些关键参数,如延迟、请求成功率来快速定位问题出现的服务。

服务监控管理页面可以看到服务请求的整体状态:

1.2.2. 链路监控

链路监控处可以看到请求的具体耗时,请求的整体链路,可以快速帮助我们定位问题。

关于请求的链路有四种视图,列表、树结构、表格和 统计,可以清晰的看到整个请求链路的状态

1.2.3. 实例监控

实例监控可以监控到具体的实例,也可以看到JVM占用的情况,当请求变慢等特殊情况出现时,可以通过分析实例JVM数据,辅助定位问题原因。

1.2.4. 端点监控

端点监控和上面的监控情况一致,可以帮助我们定位系统变慢等问题的原因。

如下,可以看到各个端点的一些数据:

1.2.5. 拓扑图

1.2.6. 告警

相关推荐
烛之武1 天前
Skywalking服务链路追踪与Jemeter压力测试
压力测试·skywalking
鬼先生_sir2 天前
Spring Cloud 微服务监控实战:SkyWalking + Prometheus+Grafana 全栈解决方案
运维·spring cloud·grafana·prometheus·skywalking
dgvri7 天前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
rOuN STAT8 天前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
危笑ioi8 天前
helm部署skywalking链路追踪 java
java·开发语言·skywalking
MmeD UCIZ9 天前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
专注API从业者9 天前
淘宝 API 调用链路追踪实战:基于 SkyWalking/Pinpoint 的全链路监控搭建
大数据·开发语言·数据库·skywalking
MMMMMMMMMMemory10 天前
记录skywalking预警如何处理401问题
skywalking
SoulRoar.10 天前
Armbian离线安装ES+SkyWalking并注册系统服务
大数据·elasticsearch·skywalking
@土豆11 天前
Java JVM参数环境变量详解及SkyWalking Agent集成技术文档
java·jvm·skywalking