-
Notifications
You must be signed in to change notification settings - Fork 223
using 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 进行修改)。
-
使用Spring Cloud Huawei功能
-
使用服务治理
-
生态集成
-
迁移改造问题
-
配置参考
-
优秀实践
-
常见问题