Skip to content

using SkyWalking

lbc97 edited this page Jul 4, 2022 · 2 revisions

集成和使用SkyWalking

SkyWalking是一个国产的开源框架,支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃,相关详细介绍可以参考SkyWalking的官网。 SkyWalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。

其中SkyWalking最大的特色就是非侵入式集成,所以您想在您的微服务中使用SkyWalking并不需要对您的代码进行修改,只需按如下几个步骤操作即可:

1.首先在网上下载SkyWalking的软件压缩包,本文示例中使用的是apache-skywalking-apm-es7-8.0.0.tar.gz,下载之后直接解压缩即可。

2.下载完成后,打开下载的文件夹,打开里面的config文件夹,找到其中的application.yml,修改相应配置,注意:这里修改的配置是响应数据库的配置,本文使用的示例采用mysql数据库(默认是h2,用户可根据自己数据库做出对应修改),所以在配置文件84行和130行进行修改如下:

storage:
  selector: ${SW_STORAGE:mysql}
#h2:
   # driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
   # url: ${SW_STORAGE_H2_URL:jdbc:h2:tcp://127.0.0.1/~/skywalking-oap-db;AUTO_SERVER=TRUE}
   # user: ${SW_STORAGE_H2_USER:sa}
   # metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
  mysql:
    properties:
      jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?allowPublicKeyRetrieval=true"}
      dataSource.user: ${SW_DATA_SOURCE_USER:root}
      dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root}
      dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true}
      dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250}
      dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048}
      dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true}
      dataSource.useSSL: false
    metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}

3.复制agent文件夹到部署微服务的服务器上,在微服务项目中增加JVM启动参数如下:

-javaagent:${YourPath} \agent\skywalking-agent.jar
-Dskywalking.collector.backend_service=localhost:11800
-Dskywalking.agent.service_name=${YourPath}

其中YourPath是agent文件夹所在的路径,Your Application Name是该微服务在SkyWalkingUI界面上的名字。

4.然后下载mysql驱动,本文使用的是mysql-connector-java-5.1.46.jar,下载完成之后,将该jar包放到oap-libs下面。

5.然后用mysql创建一个数据库,库名,用户名和密码一定要和第2步中在配置文件里配置好的保持一致。

6.然后就可以启动微服务,等所有服务启动完成,就可以启动skywalking文件夹bin目录下面的startup.bat。

7.然后便可以输入localhost:8080登录查看页面,(8080是默认端口如果想要修改请打开webapp下面webapp.yml 进行修改)。

Clone this wiki locally