Skywalking专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统,即应用性能监控系统,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链路以及指标,Skywalking APM会感知应用间关系和服务间关系,并进行相应的指标统计。目前支持链路追踪和监控应用组件如下,基本涵盖主流框架和容器,如国产PRC Dubbo和motan等,国际化的spring boot,spring cloud都支持了。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语言。

skywalking总体架构分为三部分

skywalking-collector:链路数据归集器,本文用的是mysql
skywalking-web:web可视化平台,用来展示落地的数据
skywalking-agent:探针,用来收集和发送数据到归集器

1、官网下载skywalking服务端

http://skywalking.apache.org/downloads/

2、上传解压

tar -zxvf apache-skywalking-apm-6.3.0.tar.gz

3、重命名文件夹

mv apache-skywalking-apm skywalking

ll /opt/skywalking

4、将储存方式由 h2 修改为 mysql:

vim /opt/skywalking/config/application.yml

修改storage部分,注释掉h2,打开mysql,其他保持不动

配置数据源

vim /opt/skywalking/config/datasource-settings.properties

5、下载mysql驱动包到 /opt/skywalking/oap-libs 目录下(5.1.48)

http://central.maven.org/maven2/mysql/mysql-connector-java/

6、进入mysql 创建swtest 数据库

mysql -uroot –p

mysql> create database swtest;

Query OK, 1 row affected (0.00 sec)

7、启动collector服务

#初始化

cd /opt/skywalking/bin/

./oapServiceInit.sh

#启动collector服务

./oapService.sh

8、配置 Skywalking Web服务

vim /opt/skywalking/webapp/webapp.yml

# 修改webapp.yml 文件配置如下:

默认的8080容易与其他软件冲突,建议改一下比如18080

9、启动web服务

cd /opt/skywalking/bin

./webappService.sh

启动bin目录下的startup.sh可以将collector和Web模块一起启动起来。

倘若没有问题,此时可以访问http://ip:18080进入SkyWalking UI

9、探针配置(Agent)

vim /opt/skywalking/agent/config/agent.config

修改项目名字和日志打印级别

10、启动Agent

1、基于Tomcat的服务(SpringMvc)

在tomcat的bin目录下的catalina.sh中增加如下命令行

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/skywalking/agent/skywalking-agent.jar"

export CATALINA_OPTS

2、基于JAR file的服务(SpringBoot)

在启动应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如:

java -javaagent:/opt/skywalking/agent/skywalking-agent.jar -jar yourApp.jar

然后重启服务,就可以看到页面上有数据了;如果发生了其他错误,请查看日志进行详细排查;collector的日志和Web的日志都是在SkyWalking根目录的log目录之中(会在collector启动之后创建);Agent的目录是在agent目录之下。

最新文章

  1. 非RootLayer的隐式动画
  2. jQuery 2.0.3 源码分析Sizzle引擎 - 词法解析
  3. HTML 转 PDF
  4. Cocos2d-x 核心概念 - Node中的重要操作
  5. Oracle PL/SQL实战代码下载
  6. JavaWEB前端向服务器端发送对象
  7. C#和JavaScript的区别
  8. iOS:横向使用iPhone默认的翻页效果
  9. Java中File的使用
  10. javaScript原生定义的函数
  11. vue 中 assets 和 static 的区别
  12. 详解Vue 开发模式下跨域问题
  13. 编辑距离算法以及它的C#实现
  14. Codeforces.100633J.Ceizenpok's formula(扩展Lucas)
  15. GuavaCache学习笔记一:自定义LRU算法的缓存实现
  16. 基于spring的redisTemplate的缓存工具类
  17. java 多线程 33: 多线程组件之 Callable、Future和FutureTask
  18. C# 连接MongoDB,含用户验证
  19. POJ.1067 取石子游戏 (博弈论 威佐夫博弈)
  20. 使用Generator(小黑鸟)反向生成Java项目(IDEA + Maven)

热门文章

  1. lsyncd+rsync文件实时同步
  2. tomcat如何正确的开启远程调试功能(转)
  3. IronPython C#与Python相互调用
  4. js 输入整数
  5. SpringBoot 中定时执行注解(@Scheduled、@EnableScheduling)
  6. 2PC和3PC
  7. vi快捷操作
  8. 4K超清,2500万人在线,猫晚直播技术全解读
  9. python--前端之CSS
  10. PHP readdir() 函数