概念与设计总览
- SkyWalking: 一个开源的可观测平台, 用于从服务和云原生基础设施收集, 分析, 聚合及可视化数据。SkyWalking 提供了一种简便的方式来清晰地观测分布式系统, 甚至横跨多个云平台。SkyWalking 更是一个现代化的应用程序性能监控(Application Performance Monitoring)系统, 尤其专为云原生、基于容器的分布式系统设计
- 为什么使用SkyWalking:在许多不同的场景下, SkyWalking 为观察和监控分布式系统提供了解决方案。首先是像传统的方式那样, SkyWalking 为服务提供了自动打点的代理, 如 Java, C# , Node.js , Go , PHP 以及 Nginx LUA(包括 Python 和 C++ 调用的 SDK 捐献)
一、环境说明
- Mac OS
- ElasticSearch 7.8.0
- SkyWalking 8.0.1
- JDK 1.8
- Idea 2020.01
二、从 GitHub 构建
-
预备好 Git, JDK8 以及 Maven3
-
git clone https://github.com/apache/skywalking.git
-
cd skywalking/
-
使用
git checkout [tagname]
切换到指定的 tag (可选的, 只有当你想编译某个特定版本的代码时才需要) -
git submodule init
-
git submodule update
-
这步可忽略。下载maven、npm包慢以及Mac权限问题所以我修改了代码
-
Makefile:增加 --settings=/Users/yezhuang/Documents/software/maven/apache-maven-3.6.0/conf/settings.xml
8.png
- apm-webapp/pom.xml:增加 --registry=https://registry.npm.taobao.org --unsafe-perm
-
--unsafe-perm解决mac权限问题
9.png
-
-
-
这步可忽略。要求变更logo图标
-
skywalking-ui/src/components/rk-header.vue
10.png
-
-
编译及打包
- 运行
./mvnw clean package -DskipTests
- docker镜像打包:export HUB=skywalking && export TAG=8.0.1 && export ES_VERSION=es7 && export SKIP_TEST=true && make docker
- 运行
-
所有打出来的包都在目录
/dist
下 (Linux 下为 .tar.gz, Windows 下为 .zip) -
如果是打docker镜像包,通过docker images查看
11.png
三、本地调试
-
创建测试工程
12.png
-
在同一工程中通过导入 module 方式到 skywalking
-
导入 skywalking 工程
14.png
-
在联调工程的 JVM 参数中指定 skywalking 编译结果目录
images.png
-
启动工程调试(在需要调试的代码上打断点)
15.png
-
验证,我增加了制定消息头
-
页面请求
images.png
-
skywalking页面
images.png
-
借鉴文章如下(如果涉及侵权,请联系作者进行删除、修改):
网友评论