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目录之下。

 

参考:https://blog.51cto.com/qiangsh/2355275

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐