什么是Skywalking

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

Skywalking提供分布式链路追踪、服务网格(Service Mesh)遥测分析、度量(Metric)聚合和可视化一体解决方案。下面是几大特点:

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

Skywaiking的主要概念

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

  • 服务(Service)
  • 端点(Endpoint)
  • 实例(Instance)
    在这里插入图片描述
    如上图所示,客户端通过接口/usr/query/all访问写的SpringBoot的服务,其实SpringBoot被部署在两个服务器上。接口/usr/query/all就是端点,SpringBoot项目就是服务,部署在两个服务上,就是两个实例
    在这里插入图片描述

Skywalking环境搭建(单机版)

前提及版本

skywalking版本:6.5.0

安装步骤

解压

对压缩包进行解压,解压后如图所示
在这里插入图片描述

修改数据库

此处使用默认的内置数据库h2(不需要任何配置,内置)。

修改前端访问的端口

修改apache-skywalking-apm-bin\webapp\webapp.yml,此处修改一个随意的端口,用于前端web的访问
在这里插入图片描述

启动服务

apache-skywalking-apm-bin/bin下的startup.sh
在这里插入图片描述
此时目录下就会出现logs文件夹,里面有日志,可以查看启动的日志用于排查问题
在这里插入图片描述

访问前端页面

打开端口(上面配置的9010端口)

 /sbin/iptables -I INPUT -p tcp --dport 9010 -j ACCEPT

访问http://ip:9010/
在这里插入图片描述

Skywalking监控SpringBoot

其中
springboot-demo-0.0.1-SNAPSHOT.jar是我自己的服务,
skywalking-agent.jar是解压目录中的jar

java -javaagent:/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar  springboot-demo-0.0.1-SNAPSHOT.jar  &

访问自己服务中的接口,然后刷新SkyWalking页面就会监控到SpringBoot服务,如下图所示
在这里插入图片描述

参考

https://www.bilibili.com/video/BV1ZJ411s7Mn?p=1

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐