SkyWalking整体上分为探针、后台、UI界面三大部分,探针使用字节码注入技术实现对服务数据的采集,然后将采集到的数据格式化后发送给后台,后台会把这些数据存储,目前支持的存储介质为Mysql,H2,ElasticSearch,最后UI界面访问后台接口,从而可以看到追踪的数据,大致如下:

下面介绍安装部署:
注:本次安装只有一台机器,ip为192.168.1.252,微服务、elasticsearch、skywalking都部署在本台机器,使用的是root用户。

一、下载安装包并解压

skywalking:
    https://www.apache.org/dyn/closer.cgi/skywalking/6.1.0/apache-skywalking-apm-6.1.0.tar.gz
    tar -zxvf apache-skywalking-apm-6.1.0.tar.gz
elasticserch:
    https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
    tar -zxvf elasticsearch-6.3.0.tar.gz

二、启动elasticsearch

  • elasticsearch默认不允许使用root启动服务,如果当前用户是root,则需要新建一个用户,我这里新建一个用户es:
adduser es
chown -R es elasticsearch-6.3.0
su es
cd elasticsearch-6.3.0
  • 配置除了localhost之外的其他机器访问elasticsearch,在config/elasticsearch.yml文件中追加如下内容:
network.host: 0.0.0.0

生产环境建议将0.0.0.0调整为具体的ip

  • 启动:
cd elasticsearch-6.3.0/bin
./elasticsearch

启动的时候可能会报一些错误例如:每个进程最大同时打开文件数太小、最大线程个数太低等,我这里做了如下修改:
/etc/security/limits.conf文件中追加如下内容:

* soft nproc 4096
* hard nproc 4096

/etc/sysctl.conf文件中追加如下内容:

vm.max_map_count=262144

然后执行sysctl -p命令使配置生效,然后重新启动elasticsearch,当然,也可以选择后台启动:./elasticsearch -d

  • 打开浏览器访问:http://192.168.1.252:9200/ ,如果可以看到有elasticsearch的字符串信息返回,则代表启动成功。

三、启动skywalking

进入skywalking根目录,执行ls命令,结果如下:

agent  bin  config  LICENSE  licenses  NOTICE  oap-libs  README.txt  webapp

agent:可以理解为文章开头的探针
config:配置skywalking后台的一些参数
bin:一些常见的脚本
oap-libs:后台需要的一些包
webapp:应该是UI界面的一些东西

  • 配置探针:为了实现端点过滤功能,将apm-trace-ignore-plugin-6.1.0.jar从agent/optional-plugins目录下复制到agent/plugins下:
cp agent/optional-plugins/apm-trace-ignore-plugin-6.1.0.jar agent/plugins/
  • 配置后台:将后台默认的H2存储介质修改为elasticsearch,编辑config/application.yml文件,将H2部分注释掉,打开elasticsearch的配置:
    Esc进入命令行模式
显示行号:
:set number注释掉H2:
:72,76s/^/#/g打开elasticsearch的配置
:58,71s/^#//g

实际行号要看具体文件,另外由于这里skywalking和elasticsearch部署在同一台机器,所以elasticsearch采用的是默认ip和端口,具体怎么配置要以实际情况考量

  • 启动后台和UI界面:
cd bin
./startup.sh

此时打开elasticsearch的日志文件:logs/elasticsearch.log,可以看到skywalking在创建一些元数据文件

  • 打开浏览器访问:http://192.168.1.252:8080/ ,如果看到skywalking的界面,则启动成功,如果需要输入用户名密码,默认都是admin

四、启动自己的服务

nohup java -javaagent:/&&&/agent/skywalking-agent.jar -Dskywalking.agent.service_name=servicea -Dskywalking.trace.ignore_path=/eureka/** -jar servicea.jar servicea.log 1>log/servicea.log 2>&1 &

说明:

  • -javaagent:指明了要在自己的服务中使用哪个文件进行字节码注入,&&&表示skywalking的根目录
  • -Dskywalking.agent.service_name=指明了当前服务的名称为servicea,用以在skywalking的UI界面的服务中展示
  • -Dskywalking.trace.ignore_path=使用Ant风格指明了不需要追踪的endPoint,如果有多个,可以使用英文逗号隔开

五、存在的问题

  • UI界面有时会卡死,原因是后台报了ID can`t be null的异常,可能是由于浏览器缓存导致的,这是目前版本存在的一个问题,但是整体上不影响服务的运行,重新打开一个页面即可
  • 目前是多个自己的服务启动时执行了同一个skywalking-agent.jar,尚不清楚这样是否是最佳实践或者是否存在某些问题。

搭建SkyWalking测试环境相关推荐

  1. 搭建渗透测试环境选自KaliLinux无线网络渗透测试教程

    第1章搭建渗透测试环境 许多提供安全服务的机构会使用一些术语,如安全审计.网络或风险评估.以及渗透测试.这些术语在含义上有一些重叠,从定义上来看,审计是对系统或应用的量化的技术评估.安全评估意为对风险 ...

  2. Docker学习总结(23)——Docker搭建大规模测试环境的实践

    内容来源:2017年4月8日,第四范式资深测试开发工程师孙高飞在"饿了么技术沙龙[第四弹]北京研发中心测试专场"进行<docker搭建大规模测试环境的实践>演讲分享.I ...

  3. [vSphere培训实录]8G内存笔记本搭建vSphere测试环境

    最近一直在学习vSphere,本周参加了vSphere的培训,实验环境在国外,学生都用View连接到实验环境,两个人共用一台VC,两台vSphere,连接速度较慢,于是我尝试自己在笔记本电脑上搭建实验 ...

  4. 搭建测试环境_当面试时被问到“搭建过测试环境吗”, 身为小白要怎么回答?...

    导语:很多人在面试软件测试的过程中,经常被问到"你会搭建测试环境吗"面对这样的提问,你知道怎么回答么?>>>> 怎 么 回 答 面试的时突然被问到,很多人的 ...

  5. jdk+apache+jboss+mod_jk+openssl--从零开始搭建Linux测试环境

    http://blog.csdn.net/zhangren07/article/details/6269527 jdk+apache+jboss+mod_jk+openssl--从零开始搭建Linux ...

  6. jdk+apache+jboss +mod_jk+openssl--从零开始搭建Linux测试环境

    从零开始搭建Linux测试环境 之 jdk+apache+jboss +mod_jk+openssl 软件介绍 1.JDK(Java DevelopmentKit).Java开发工具包.大家都知道Ja ...

  7. 【MQTT从入门到提高系列 | 01】从0到1快速搭建MQTT测试环境

    这是机器未来的第24篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125532208 1. mosquitto概述 Ecl ...

  8. 微信公众号开发笔记(四)搭建本地测试环境

    上一章给大家分享的是开发微信公众号(三) , 今天继续更新第四篇 搭建本地测试环境. 推荐一款软件: Ngrok(内网穿透工具) Ngrok可以实现内网穿透,也就是说我们可以将内网的服务器映射到外网给 ...

  9. 本地 Mac 搭建 IPv6 测试环境

    http://blog.csdn.net/potato512/article/details/51680203 搭建 IPv6 测试环境说白了就是用 Mac 做一个热点,然后用 iPhone 连接这个 ...

  10. windows驱动签名之使用vhdx搭建 HLK测试环境(管理端)

    文章目录 使用vhdx搭建 HLK测试环境 根据你的需求,下载 对应的VHDX Windows 虚拟硬件实验室工具包 (VHLK) 入门 Hyper-V 设置指南 配置网络设置 总结 使用vhdx搭建 ...

最新文章

  1. 给妹子讲python-S01E18初探函数作用域
  2. 基于WINCE6.0+S3C2443的camera驱动
  3. 在华为云服务器的Linux系统中搭建开发环境
  4. 【汇编语言(第3版)王爽】第八章学习内容
  5. python字典的值可以是字典吗_python字典的值可以是字典吗
  6. Linux表空间扩容,linux下oracle表空间导致磁盘空间不足
  7. 《算法导论》读书笔记之第1章 算法在计算机中的作用
  8. poi读取合并单元格
  9. 健康饮食-美味诱人的鸡肉香菇烩什锦[我写绿色IT]
  10. Sina微博模拟登录获取Cookies
  11. xmind8完整版下载(超详解 图文预警)
  12. 树莓派4B配置远程桌面软件 Teamviewer(解决报错)
  13. 国庆集训1101+1103(未完成)
  14. 巨头都在追逐的眼球追踪技术,究竟能带来什么?
  15. 设计模式(博客园精化集)〈转〉
  16. 关于ligerui grid分页checkbox绑定问题
  17. MarkdownPad2安装汉化与注册码
  18. 方舟生存显示都是外国服务器,方舟生存进化:在新服的国人,都是如何跟外国人交流的?...
  19. 2020年计算机二级报名时间上半年,2020年上半年计算机二级报名时间是什么时候...
  20. axure变成一个小手了_Axure教程:这几个小技巧你一定要知道

热门文章

  1. 面试指南之如何介绍做过的项目
  2. Qt QLinkedList 详解:从底层原理到高级用法
  3. 【工具集】IDEA快捷操作(巨坑,待填)
  4. 一个程序在计算机中是如何运行的?超级干货!!!
  5. AV1代码学习1:aomenc的main函数
  6. 工业环网交换机运行原理
  7. git命令行操作和Vscode的git操作
  8. 安装pytorch(千万不要去掉 -c pytorch,安装n次后的教训)
  9. Mint安装配置Sublime Text3
  10. 基于深度学习的语音情绪识别 Speech emotion recognition based on Deep Learning