这儿是weihubeats,觉得文章不错能够关注公众号小奏技能,文章首发。拒绝营销号,拒绝标题党

背景

本次咱们的意图便是对skywalking全体架构有一个了解,然后学习一下根据docker怎么建立skywalking,然后便是spring boot项目怎么根据agent接入skywalking

本文所用到的官方文档都会在文章中给出,授人以鱼不如授人以渔

skywalking版别

运用最新官方版别9.4.0

官方文档地址

  • 总文档地址:skywalking.apache.org/docs/
  • ui和后端文档:github.com/apache/skyw…

skywalking全体架构

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

这儿引用官方的架构图 逻辑上分四个部分

  • Probes(探针): 收集遥测数据。包含各种格式(SkyWalking,Zipkin,OpenTelemetry,Prometheus,Zabbix等)的指标,盯梢,日志和事情

遥测数据(telemetry data):用于确认应用程序是否健康并按规划执行>的信息称为遥测数据。 这儿感觉这个翻译很怪,可是查询了比较多资料如同的确翻译是遥测数据

  • Platform backend(渠道后端):渠道后端支撑数据聚合、剖析和流流程,包括盯梢、指标、日志和事情。充任聚合器人物和/或接收者人物
  • Storage(存储):存储通过开放/可插拔接口存储SkyWalking数据。您能够选择现有的完成,例如 ElasticSearch、H2、MySQL、TiDB、BanyanDB,也能够自己完成
  • UI:一个高度可定制的根据Web的界面,答应SkyWalking最终用户可视化和管理SkyWalking数据。

skywalking规划方针

  1. 坚持可观测性
  2. 拓扑、度量和盯梢
  3. 重量轻
  4. 可插拔
  5. 便携性
  6. 互操作性

这儿由于是入门,所以咱们大致知道有这么些东西,但不用去了解太多 后面咱们会学习是怎么规划的,以及一些源码剖析

运转原理

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

这张图很明晰的说明了原理。 一个ui也便是一个前端拜访页面 一个agent/probe 负责对client的数据收集上签到Backend,然后Backend将数据存储在Storage

装置 skywalking

装置Platform backend

这儿咱们先装置后台,根据docker装置,存储咱们运用默许的h2,也便是内存数据库,无需建立其他的存储

线上肯定不会运用h2数据库,因为重启数据就丢了,一般线上用 Elasticsearch存储会多一点

docker装置

docker run --name skywalking-oap --restart always -d -p 11800:11800 -p 12800:12800 -p 9412:9412 apache/skywalking-oap-server:9.4.0

装置Ui

docker run --name skywalking-ui --restart always -d -p 8080:8080 -e SW_OAP_ADDRESS=http://192.168.1.1:12800 -e SW_ZIPKIN_ADDRESS=http://192.168.1.1:9412 apache/skywalking-ui:9.4.0

留意这儿SW_OAP_ADDRESSSW_ZIPKIN_ADDRESS地址不要写 127.0.0.1 或者localhost这样是拜访不通的,因为是两个不同的docker容器,用自己本机内网ip即可

验证

装置完成后咱们拜访 http://127.0.0.1:9412

页面就长的像下面这个姿态

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

java项目agnet接入

现在最新版别的agent是v8.15.0,咱们下载这个最新的就好

  • 下载地址: dlcdn.apache.org/skywalking/…

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

下载解压完目录是如下的:

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

这儿咱们接入的项目以一个简单的spring boot项目为例

这儿项意图源码能够在github:github.com/weihubeats/… 下载

咱们在项目发动参数VM options添加如下参数

-javaagent:/Users/xiaozoujishu/Downloads/skywalking-agent/skywalking-agent.jar
-DSW_AGENT_NAME=order-service
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

  • javaagent:便是咱们方才下载agent的途径
  • DSW_AGENT_NAME: 服务名
  • DSW_AGENT_COLLECTOR_BACKEND_SERVICES:数据上报地址

然后发动服务,发动完服务,咱们调用下测验接口

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

多点几回,然后咱们去咱们的ui页面查看作用

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

skywalking 9.x入门(一) 安装skywalking及监控 springboot 服务

就能够看到咱们服务的一些监控信息了。

总结

本次咱们的skywalking入门就结束了,咱们介绍了skywalking是什么? 根据docker怎么装置,以及spring boot项目怎么根据agent监控。

咱们会咱们继续学习微服务下的全链路log id传递以及全链路id传递