Agent:以探针的方式进行请求链路的数据采集,并向管理服务上报;
OAP-Service:接收数据,完成数据的存储和展示;
Storage:数据的存储层,支持ElasticSearch、Mysql、H2多种方式;
????????skywalking在之前的旧版本中,apm与agent是在一个包中的,在9.0以后的版本中是需要分开下载的;agent包下载解压之后,也将其放到apm包下面维护
apache-skywalking-apm-9.2.0.tar.gz
apache-skywalking-java-agent-8.12.0.tgz
将agent包下载解压之后,也将其放到apm包下面:
端口号修改:默认8080,这里修改为8081
启动:Windows 直接点击bin/startup.bat
会启动两个服务:
????????在服务启动类中添加agent配置,如果在生产环境中,通常会统一在脚本中设置,由于在本地环境演示,基于IDEA工具进行管理:
-javaagent:G:\skywalking\apache-skywalking-apm-bin\skywalking-agent\skywalking-agent.jar
-Dskywalking.agent.service_name=skywalking-demo
-Dskywalking.collector.backend_service=127.0.0.1:11800
保存后启动项目并访问任意接口:
SkyWalking数据持久化
SkyWalking 默认是将数据存入在内存中,如果重启SkyWalking 数据则都会丢失。
我们可以选择将数据持久化存放在mysql、es中等。
1.数据可以持久化在mysql、es中等。
修改config下的application.yml
selector: ${SW_STORAGE:mysql}
mysql:
? ?properties:
? ? ?jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/skywalking?serverTimezone=UTC&characterEncoding=utf-8"}
? ? ?dataSource.user: ${SW_DATA_SOURCE_USER:root}
? ? ?dataSource.password: ${SW_DATA_SOURCE_PASSWORD:123456}
? ? ?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}
? ?metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}
修改完毕创建skywalking数据库
?2.需要在oap-libs/ 放入 mysql-connector-java-8.0.16.jar
?3.重启SkyWalking
查看数据库会自动创建表