学习目标:
前言:根据项目要求,需要将SkyWalking的性能监控移植到公司项目。在运行SkyWalking时遇到了很多坑,还好坚持了头铁的原则终于运行成功,并能在本地成功打断点。下面与大家一起分享。
准备工作
- 官网地址: https://skywalking.apache.org/
- 官方构建文档:https://github.com/apache/skywalking/blob/master/docs/en/guides/How-to-build.md
- maven3.8.x
- java 8
clone源码
git clone --recurse-submodules https://github.com/apache/skywalking.git
能否clone成功全靠运气,我的报这个错。
解决:
env|grep -i proxy
git submodule init
git submodule update
再运行打包命令
mvnw clean package -Dmaven.test.skip
如果报以下错:
那么恭喜,clone子模块的时候出错了,删除根目录重新clone,以下是翻墙clone的
clone成功。
再运行打包命令
mvnw clean package -Dmaven.test.skip
需要打83个包,经过超级漫长长长长的等待,终于构建完成
idea运行
OPEN项目
经过漫长的等待下载依赖。
成功后直接构建是会报无法找到类的错,原因是SkyWalking使用了proto的语法,需要将proto生成的类添加到库中,目录官网文档有,如下:
添加方法:
打开“自监控”功能
自监控默认是关闭的,需要手动打开
在oap-server/server-starter/src/main/resources/application.yml配置文件中
telemetry:
selector: ${SW_TELEMETRY:prometheus}#选择prometheus
none:
prometheus:
##省略##
prometheus-fetcher:
selector: ${SW_PROMETHEUS_FETCHER:default}#选择default
default:
##省略##
启动OAPServerStartUp、ApplicationStartUp,访问
配置数据库
SkyWalking默认使用的是内置h2,但对于调研SkyWalking的开发者来说不好调研,所以我改为了mysql数据库,配置如下:
storage:
selector: ${SW_STORAGE:mysql}#改为mysql
elasticsearch:
##省略##
配置数据库基本信息:
大功告成!
如有其他问题可联系作者:
手机、微信:15385125253
QQ:987319557
公司名称:开源互联网安全技术有限公司
捍卫中国软件安全!
原创作者:谢少评
原创不易,一份也是爱:
微信: 支付宝: