window系统安装skywalking
skywalking 是一个开源的观测平台, 用于从服务和云原生基础设施收集, 分析, 聚合以及可视化数据.。生产环境下该平台是安装在linux 系统上,或者是docker容器化运行。但如果要在本地开发的话可能免不了要在windows系统下安装。
下载地址:https://archive.apache.org/dist/skywalking/
安装须知
- 安装之前请确保被监控的服务器上的系统时间和OAP 服务器上的系统时间是相同的。
- JDK 8
- 本教程只适合运行Skywalking 的Backend 和UI 来进行预览或演示,可能并不适合长期部署使用。如果需要在生产环境使用,请参考下边三个官方文档,进行进一步设置:
1.Backend setup document:
https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-setup.md
2.UI setup document:
https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/ui-setup.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
在浏览器端进行访问测试:
http://localhost:8080
spring-boot实例部署
进入agent目录下的config文件夹,修改config文件,
这里先配置一下代理的本地微服务名称,比如我本地启动了2个微服务,service-order,service-storage,在config文件中只需要修改此处即可,
运行skywalking-agent.jar包
上面修改配置配置了本地的微服务名称,表示本地微服务启动之后,skywalking的数据采集服务会去寻找这两个名称对应的服务,接下来就是在本地服务启动的时候设置skywalking的参数,
在启动参数的VM options一栏添加如下参数,顾名思义,启动时,为当前服务设置一个代理监控的服务,即skywalking-agent.jar
-javaagent:D:\dev-tools\skywalikng\pro-local\agent\skywalking-agent.jar
按照上面的配置完毕之后,我们来启动一下order这个微服务,注意在order微服务中的服务名称一定要和config中的配置名称一致
或者直接在参数中配置服务名称
-javaagent:D:\skywalking\agent\skywalking-agent.jar -
Dskywalking.agent.service_name=skywalkingdemo1 -
Dskywalking.collector.backend_service=localhost:11800
启动skywalkingdemo1项目
优化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。 selector 开启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}
skywalking监控界面说明
1)仪表盘
监控指标的整体概览,提供一个快速访问端点的入口,比如这里展示了我们调用order服务接口,接口耗时,图形化展示接口调用过程,通过切换不同的tab,多维度的展现服务的监控参数,比如QPS,各个时间窗口的接口调用频次等
2)拓扑图
展示服务的调用链路,比如后台这个接口:http://localhost:9199/createOrder?id=15,order调用storage服务,通过仪表盘的展示图,可以很清楚的看到他们之间的调用关系,这里主要是方便快速的进行一个全局的服务调用链路的追踪
3)追踪
点击追踪,可以看到createOrder这个接口的完整调用路径,