一、使用MySQL持久化
默认: 使用的H2数据库存储
- 在当前目录文件: /skywalking/apache-skywalking-apm-bin/config/application.yml
- 修改config目录下的
application.yml
, 使用 MySQL 作为持久化存储的仓库
- 修改
mysql
连接配置
yml
mysql:
properties:
jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?rewriteBatchedStatements=true"}
dataSource.user: ${SW_DATA_SOURCE_USER:root}
dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root@1234}
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}
maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000}
asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4}
- 需要添加 mysql数据驱动包,因为在lib目录下是没有mysql数据驱动包的,所以修改完配置启动是会报错,启动失 败的。
- 默认使用h2,不会持久化,重启skyWalking之前的数据会丢失。
- 使用mysql作为持久化存储的仓库。
- 添加
mysql-connect-java-xxx.jar
数据驱动包到oap-libs
目录下:
shell
$ mv mysql-connect-java-xxx.jar /skywalking/apache-skywalking-apm-bin/oap-libs/
- 启动 SkyWalking
shell
$ sh /skywalking/apache-skywalking-apm-bin/bin/startup.sh
- 查看
swtest
数据库,可以看到生成了很多数据库表。
- 测试,重新启动是否 skywalking, 验证跟踪数据是否丢失。
访问UI: http://localhost:38080