本文涉及源码都在 这里。
Apache Skywalking(Incubator)简介
Apache Skywalking(Incubator) 专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。Apache Skywalking(Incubator)通过加载探针的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语言。
目前Skywalking已经支持从6个可视化维度剖析分布式系统的运行情况。总览视图是应用和组件的全局视图,其中包括组件和应用数量,应用的告警波动,慢服务列表以及应用吞吐量;拓扑图从应用依赖关系出发,展现整个应用的拓扑关系;应用视图则是从单个应用的角度,展现应用的上下游关系,TopN的服务和服务器,JVM的相关信息以及对应的主机信息。服务视图关注单个服务入口的运行情况以及此服务的上下游依赖关系,依赖度,帮助用户针对单个服务的优化和监控;调用链展现了调用的单次请求经过的所有埋点以及每个埋点的执行时长;告警视图根据配置阈值针对应用、服务器、服务进行实时告警。
下载并安装
下载
从官网 下载合适的压缩包,如果下载失败(不知道为啥我下载下来的是个空包),可以直接在这个 镜像网站 下载。.zip 格式是 Windows 版本,.tar.gz 是 Linux 版本, Mac 也用 .tar.gz 。
本次使用的是目前最新稳定版 v6.6.0,而且到时使用 Mysql 做数据存储,所以我下载的是这个 压缩包 。
解压
解压压缩包:
tar -zxvf apache-skywalking-apm-6.6.0.tar.gz
大致目录树结构如下:
解压后的目录结构
简单说一下这几个目录的作用:
webapp: UI 前端(web 监控页面)的 jar 包和配置文件;
oap-libs: 后台应用的 jar 包,以及它的依赖 jar 包,里边有一个 server-starter-*.jar 就是启动程序;
config: 启动后台应用程序的配置文件,是使用的各种配置
bin: 各种启动脚本,一般使用脚本 startup.* 来启动 web 页面 和对应的 后台应用;
oapService.*: 默认使用的后台程序的启动脚本;(使用的是默认模式启动,还支持其他模式,各模式区别见 启动模式)
oapServiceInit.*: 使用 init 模式启动;在此模式下,OAP服务器启动以执行初始化工作,然后退出
oapServiceNoInit.*: 使用 no init模式启动;在此模式下,OAP服务器不进行初始化。
webappService.*: UI 前端的启动脚本;
startup.*: 组合脚本,同时启动 oapService.*:、webappService.* 脚本;
agent:
skywalking-agent.jar: 代理服务 jar 包
config: 代理服务启动时使用的配置文件
plugins: 包含多个插件,代理服务启动时会加载改目录下的所有插件(实际是各种 jar 包)
optional-plugins: 可选插件&