-
从github上拉取skywalking源码
git clone https://github.com/apache/skywalking.git
如果执行以上拉取过程太慢,可以自己新建一个码云仓库拉取,具体如下
https://blog.csdn.net/weixin_41618475/article/details/90262708
-
git clone时可能会碰到一个问题
error: unable to create file apm-sniffer/apm-sdk-plugin/spring-plugins/spring-cloud/netflix-plugins/spring-cloud-feign-1.x- plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/netflix/feign/v11/define/NetflixFeignInstrumentation.java:Fil ename too long
Checking out files: 100% (2137/2137), done.
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with ‘git status’
and retry the checkout with ‘git checkout -f HEAD
关键字:
Filename too long
文件名太长,运行以下命令然后重新git clone便能解决:
git config --system core.longpaths true
-
拉取代码成功后使用idea打开项目,过程中会下载很多maven依赖请耐心等待
-
编译skywalking(跟官方文档是一样的)
- git submodule init ,初始化子模块
- git submodule update 更新子模块
-
编译之前请先安装好node,要确保能使用npm命令
并且需要把 apm-webapp工程的pom文件中npm的下载地址改成国内的,不然访问在编译过程中会因为访问不了国外的仓库而报错
4
. 进行编译(请先确保第三步没有问题再进行编译)
mvn package -Dmaven.test.skip=true
5
. 如果编译过程中报错:
找不到或无法加载主类 org.apache.maven.wrapper.MavenWrapperMain
解决方法运行如下命令: (没碰到可以忽略)
mvn -N io.takari:maven:wrapper
6
.再次执行编译命令如果遇到如下图错误需要在windows环境下安装protoc:
(6.1)
.下载需要的安装包:
https://github.com/google/protobuf/releases
protoc-3.1.0-win32.zip(protoc-2.5.0-win32.zip)
protobuf-java-3.1.0.zip(protobuf-2.5.0.zip)
(6.2)
.将protoc-3.1.0-win32中的protoc.exe拷贝到
c:\windows\system32
中
(6.3)
.将proto.exe文件拷贝到解压后的protobuf-3.1.0\src目录中
(6.4)
.protobuf-3.1.0\java 目录下执行mvn package命令编辑该包生成protobuf-java-3.1.0.jar文件
(这一步相当于安装了位于protobuf-3.1.0\java\core\target目录中)
安装完毕后继续执行第四步进行编译(如没遇到这个报错不管跳过就好)
-
设置 gRPC 的自动生成的代码目录,为源码目录 :
-
将
apm-protocol/apm-network/target/generated-sources/protobuf
目录下面
grpc-java
和
java
目录
右键
设置为
Generated Rources Root
。
-
将
oap-server/server-core/target/generated-sources/protobuf
目录下面
grpc-java
和
java
目录
右键
设置为
Generated Rources Root
。 -
将
oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/target/generated-sources/protobuf
目录下面
grpc-java
和
java
目录
右键
设置为
Generated Rources Root
。 -
启动 SkyWalking OAP Server
-
启动之前安装
ElasticSearch
ElasticSearch 安装教程如下:
https://blog.csdn.net/weixin_41618475/article/details/90263001
安装好es,需要修改一下 server-starter中的application.yml中的ip地址
因为我的es装在虚拟机中,而项目中默认的ip是本地,所以我改成了如下
2
.运行 oap-server的server-starter的org.apache.skywalking.oap.server.starter.OAPServerStartUp的#main(args)方法,启动
Skywalking OAP Server
-
启动 SkyWalking UI
-
运行apm-webapp的org.apache.skywalking.apm.webapp.ApplicationStartUp的#main(args)方法,启动Skywalking
UI,浏览器打开http://127.0.0.1:8080,输入账号密码admin/admin进行登录。
- 启动成功之后监控项目只需要在启动项目时加上vm参数就好了,参数如下:
-javaagent:D:\MyWork\skywalking_workspace\1\incubator-skywalking\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=nacos-provider -Dskywalking.collector.backend_service=localhost:11800
参考文档以及博客:
芋道源码
http://www.iocoder.cn/SkyWalking/6/build-debugging-environment/
官方文档
不喜勿喷,随手做的笔记,有什么问题可以留言问博主,我看到了都会回答
本文为原创文章,转载请标明出处。