Skywalking 环境搭建

环境:

  • Windows 7 x64
  • IDEA 2017.01
  • JDK 1.8 x64
  • Maven 3.5.0

源码获取:

  1. Skywalking Git可以利用 Git Clone 或者 ZIP 下载到本地;

  2. 利用 IDEA 选择 Maven 导入项目

项目结构
项目结构

启动 Skywalking-collecor

  1. 在项目根目录下或者 IntelliJ IDEA Terminal 运行mvn clean compile install -Dmaven.test.skip=true

  2. 编译完后设置 gRPC 自动生成代码的目录:

  • apm-network/target/generated-sources/protobuf 下的grpc-javajava;
    GRPC设置
    GRPC设置
  • apm-collector/apm-collector-remote/collector-remote-grpc-provider/target/generated-sources/protobuf 下的grpc-javajava;
    gRPC设置
    gRPC设置
    设置方法:在 grpc-java 上右键-> Mark Directory as -> Generated Souces Root
代码生成
代码生成
  1. 运行org.skywalking.apm.collector.boot.CollectorBootStartUpmain(args)方法,启动 Collector;

  2. 在浏览器中输入http://127.0.0.1:10800/agent/jetty地址,返回 ["localhost:12800/"] ,说明启动成功

启动 Skywalking-Agent

  1. 在 Skywalking 项目的同级新建一个 Web 项目

  2. 我这里新建了一个 SpringBoot 的项目(注意 SpringBootDemo 必须和 skywalking 项目平级,这样才可以调试 Agent)

    项目结构
    项目结构
  3. org.skywalking.apm.agent.SkyWalkingAgentpremain()方法里打上断点;

  4. 在自己新建的Web项目,配置启动参数-javaagent:skywalking-agent.jar的路径(这里的路径可以绝对路径也可以是相对路径)

agentJarPath
agentJarPath
web项目启动配置
web项目启动配置
  1. 启动Web项目,这里可能会出现agent.application_code is missing或者collector.servers is missing.的错误,我改了org.skywalking.apm.agent.core.conf.Config中的:

    1
    2
    public static String APPLICATION_CODE = "SpringBootDemo";
    public static String SERVERS = "127.0.0.1:8080";
  2. 此时停掉之前启动的 skywalking-collector,重新运行mvn clean compile install -Dmaven.test.skip=true进行编译;

  3. 编译完成后再启动 skywalking-collector,然后启动自己的Web项目,如果程序进入了之前的org.skywalking.apm.agent.SkyWalkingAgentpremain()方法中的断点,并且 Web 项目启动成功则说明 Agent 模块启动成功。