什么是SkyWalking?

SkyWalking是国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。

如何通过Docker部署

拉取镜像
$ docker pull elasticsearch:7.5.1

运行
$ docker run -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_POTS="-Xms128m -Xmx128m" -e "discovery.type=single-node" --name elastic_search elasticsearch:7.5.1

拉取服务
$ docker pull apache/skywalking-oap-server:8.3.0-es7

启动服务

docker run --name oap --restart always -d -e TZ=Asia/Shanghai -p 12800:12800 -p 11800:11800 -e SW_STORAGE_ES_CLUSTER_NODES=127.0.0.1:9200 apache/skywalking-oap-server:8.3.0-es7

拉取ui
$ docker pull apache/skywalking-ui:8.3.0

启动ui服务
$ docker run --name oap-ui --restart always -p 8088:8080  -d -e SW_OAP_ADDRESS=http://172.17.0.2:12800 apache/skywalking-ui:8.3.0

访问:skywalking-ui服务

如何使用

下载agent https://archive.apache.org/dist/skywalking/8.3.0/

解压找到agent目录下的skywalking-agent.jar

SpringBoot联调skywalking,在windos环境下需要配置jvm参数

-javaagent:D:\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar   -- 必须
-DSW_AGENT_NAME=Api-service
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

添加对应的依赖

<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.3.0</version>
</dependency>

启动访问对应的服务接口即可看到注册的服务信息