skywalking 是一个开源的观测平台, 用于从服务和云原生基础设施收集, 分析, 聚合以及可视化数据.。生产环境下该平台是安装在linux 系统上,或者是docker容器化运行。但如果要在本地开发的话可能免不了要在windows系统下安装。
安装须知
- 安装之前请确保被监控的服务器上的系统时间和OAP 服务器上的系统时间是相同的。
- JDK 8
- 本教程只适合运行Skywalking 的Backend 和UI 来进行预览或演示,可能并不适合长期部署使用。如果需要在生产环境使用,请参考下边三个官方文档,进行进一步设置:
1.Backend setup document:
https://github.com/apache/skywalking/blob/v7.0.0/docs/en/setup/backend/backen
d-setup.md
2.UI setup document:
https://github.com/apache/skywalking/blob/v7.0.0/docs/en/setup/backend/uisetup.
md
3.CLI set up document:
https://github.com/apache/skywalking-cli
安装oap
windows系统安装skywalking特别简单。解压apache-skywalking-apm-8.1.0.tar.gz,进入bin目录,在cmd窗口执行命令
快速运行
win+r
打开DOS窗口
cmd
运行 startup.bat,启动skywalking
startup.bat
访问ui
测试的windows系统在虚拟机中。windows系统默认防火墙不支持远程访问。在虚拟机的浏览器端进行访问测试:
http://1 localhost:8080
spring-boot实例部署
springboot项目
application.yml
springboot项目tomcat服务器默认8080端口,与skywalking-UI端口冲突,默认修改application.yml的项目端口号
server:
port: 8088
SkywalkingDemoController
controller/SkywalkingDemoController
@RestController
public class SkywalkingDemoController {
@GetMapping("/")
public String hello() {
return "hello skywalking!!!";
}
@GetMapping("skywalkinghello")
public String hello1() {
return "test1";
}
}
运行skywalking-agent.jar包
修改项目的 VM 运行参数,点击菜单栏中的 Run -> EditConfigurations... ,此处我们以skywalkingdemo1 项目为例,修改参数如下:
-javaagent:D:\skywalking\agent\skywalking-agent.jar -
Dskywalking.agent.service_name=skywalkingdemo1 -
Dskywalking.collector.backend_service=localhost:11800
启动skywalkingdemo1项目
http://192.168.198.199:8088/
http://192.168.198.199:8088/skywalkinghello
http://192.168.198.199:8088/
优化skywalking
修改启动端口
修改D:\skywalking\webapp\webapp.yml 。 主要修改port: 18080
server:
port: 18080
collector:
path: /graphql
ribbon:
ReadTimeout: 10000
# Point to all backend's restHost:restPort, split by ,
listOfServers: 127.0.0.1:12800
更改数据库为mysql
- 下载mysql-connector-java-5.1.47.jar到oap-libs下。只要是mysql-connector-java-5的版本就可以。
- 打开D:\skywalking\config\application.yml。 注释H2,开启mysql 。
- 到Mysql中创建一个 swtest数据库。
1.更改storage.selector: ${SW_STORAGE:mysql}为mysql数据库。
2.dataSource.user: ${SW_DATA_SOURCE_USER:root},更新为自己的mysql数据库用户名
3.dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root},更新为自己的mysql数据库
用户的密码
storage:
selector: ${SW_STORAGE:mysql}
# h2:
# driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
# url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
# 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"}
dataSource.user: ${SW_DATA_SOURCE_USER:root}
dataSource.password: ${SW_DATA_SOURCE_PASSWORD:admin}
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}
网友评论