SkyWalking源码编译及本地调试

Table of Contents

概念与设计总览

  • SkyWalking: 一个开源的可观测平台, 用于从服务和云原生基础设施收集, 分析, 聚合及可视化数据。SkyWalking 提供了一种简便的方式来清晰地观测分布式系统, 甚至横跨多个云平台。SkyWalking 更是一个现代化的应用程序性能监控(Application Performance Monitoring)系统, 尤其专为云原生、基于容器的分布式系统设计
  • 为什么使用SkyWalking:在许多不同的场景下, SkyWalking 为观察和监控分布式系统提供了解决方案。首先是像传统的方式那样, SkyWalking 为服务提供了自动打点的代理, 如 Java, C# , Node.js , Go , PHP 以及 Nginx LUA(包括 Python 和 C++ 调用的 SDK 捐献)

一、环境说明

  • Linux Centos7
  • ElasticSearch 7.8.0
  • SkyWalking 8.0.1
  • JDK 1.8
  • Idea 2020.01

二、从 GitHub 构建

  1. 预备好 Git, JDK8 以及 Maven3

  2. git clone https://github.com/apache/skywalking.git

  3. cd skywalking/

  4. 使用 git checkout [tagname] 切换到指定的 tag (可选的, 只有当你想编译某个特定版本的代码时才需要)

  5. git submodule init

  6. git submodule update

  7. 这步可忽略。下载maven、npm包慢以及Mac权限问题所以我修改了代码

    1. Makefile:增加 –settings=/Users/yezhuang/Documents/software/maven/apache-maven-3.6.0/conf/settings.xml
      image.png

    2. apm-webapp/pom.xml:增加 –registry=https://registry.npm.taobao.org –unsafe-perm

      • –unsafe-perm解决mac权限问题

      image.png

  8. 这步可忽略。要求变更logo图标

    1. skywalking-ui/src/components/rk-header.vue
      image.png
  9. 编译及打包

    1. 运行 ./mvnw clean package -DskipTests
    2. docker镜像打包:export HUB=skywalking && export TAG=8.0.1 && export ES_VERSION=es7 && export SKIP_TEST=true && make docker
  10. 所有打出来的包都在目录 /dist 下 (Linux 下为 .tar.gz, Windows 下为 .zip)

  11. 如果是打docker镜像包,通过docker images查看

    images.png

三、本地调试

  1. 创建测试工程
    images.png

  2. 在同一工程中通过导入 module 方式到 skywalking
    images.png

  3. 导入 skywalking 工程
    images.png

  4. 在联调工程的 JVM 参数中指定 skywalking 编译结果目录
    images.png

  5. 启动工程调试(在需要调试的代码上打断点)
    images.png

  6. 验证,我增加了制定消息头

    1. 页面请求
      images.png

    2. skywalking页面
      images.png

借鉴文章如下(如果涉及侵权,请联系作者进行删除、修改):
官网构建
社区中文版
skywalking 开发环境编译及联调

相关文章

评论系统未开启,无法评论!