这儿是weihubeats,觉得文章不错能够关注公众号小奏技能,文章首发。拒绝营销号,拒绝标题党
背景
本次咱们的意图便是对skywalking
全体架构有一个了解,然后学习一下根据docker
怎么建立skywalking
,然后便是spring boot
项目怎么根据agent
接入skywalking
本文所用到的官方文档都会在文章中给出,授人以鱼不如授人以渔
skywalking版别
运用最新官方版别9.4.0
官方文档地址
- 总文档地址:skywalking.apache.org/docs/
- ui和后端文档:github.com/apache/skyw…
skywalking全体架构
这儿引用官方的架构图 逻辑上分四个部分
-
Probes
(探针): 收集遥测数据。包含各种格式(SkyWalking,Zipkin,OpenTelemetry,Prometheus,Zabbix等)的指标,盯梢,日志和事情
遥测数据(telemetry data):用于确认应用程序是否健康并按规划执行>的信息称为遥测数据。 这儿感觉这个翻译很怪,可是查询了比较多资料如同的确翻译是
遥测数据
-
Platform backend
(渠道后端):渠道后端支撑数据聚合、剖析和流流程,包括盯梢、指标、日志和事情。充任聚合器人物和/或接收者人物 -
Storage
(存储):存储通过开放/可插拔接口存储SkyWalking数据。您能够选择现有的完成,例如 ElasticSearch、H2、MySQL、TiDB、BanyanDB,也能够自己完成 -
UI
:一个高度可定制的根据Web的界面,答应SkyWalking最终用户可视化和管理SkyWalking数据。
skywalking规划方针
- 坚持可观测性
- 拓扑、度量和盯梢
- 重量轻
- 可插拔
- 便携性
- 互操作性
这儿由于是入门,所以咱们大致知道有这么些东西,但不用去了解太多 后面咱们会学习是怎么规划的,以及一些源码剖析
运转原理
这张图很明晰的说明了原理。
一个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_ADDRESS
、SW_ZIPKIN_ADDRESS
地址不要写127.0.0.1
或者localhost
这样是拜访不通的,因为是两个不同的docker容器,用自己本机内网ip即可
验证
装置完成后咱们拜访 http://127.0.0.1:9412
页面就长的像下面这个姿态
java项目agnet接入
现在最新版别的agent是v8.15.0
,咱们下载这个最新的就好
- 下载地址: dlcdn.apache.org/skywalking/…
下载解压完目录是如下的:
这儿咱们接入的项目以一个简单的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
-
javaagent
:便是咱们方才下载agent的途径 -
DSW_AGENT_NAME
: 服务名 -
DSW_AGENT_COLLECTOR_BACKEND_SERVICES
:数据上报地址
然后发动服务,发动完服务,咱们调用下测验接口
多点几回,然后咱们去咱们的ui
页面查看作用
就能够看到咱们服务的一些监控信息了。
总结
本次咱们的skywalking
入门就结束了,咱们介绍了skywalking
是什么?
根据docker怎么装置,以及spring boot
项目怎么根据agent监控。
咱们会咱们继续学习微服务下的全链路log
id
传递以及全链路id
传递