一、软件下载
二、解压文件
三、修改skywalking服务端口
端口文件目录:apache-skywalking-apm-bin\webapp
修改webapp文件中端口配置为非8080,以免冲突
三、启动服务
启动脚本目录:apache-skywalking-apm-bin\bin
访问skywalking首页
四、服务链路追踪
4.1 idea服务配置,springboot项目
添加jvm启动参数:
-javaagent:D:/software/apache-skywalking-apm-bin/agent/skywalking-agent.jar
-Dskywalking.agent.service_name=DbApplication
使用agent收集数据,需要将skywalking目录下agent文件拷贝到服务所在的主机,修改agent中agent.config配置如下:
agent.service_name=${SW_AGENT_NAME:merchant} 被监控的服务名称
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:ip:port} skywalking服务ip+端口
4.2 服务启动验证
如果 服务启动过程中出现如下日志则表示配置成功
4.3 skywalking仪表盘
4.4 请求springboot服务接口,观察仪表盘
端点表示接口,仪表盘如果没有变化,可以手动点击刷新按钮
http://localhost:8086/docker/test
4.5 服务拓扑图
4.6 链路追踪
展示调用链
4.7 性能剖析
可以追踪每个接口中的方法耗时,展示完整调用链。
新建任务
配置性能剖析任务
采样结果展示
分析方法调用链
精准找到方法耗时,待优化点
...其它功能待探索。
五、数据存储
skywalking默认使用H2数据库存储数据,无需任何修改,但是关闭服务之后数据丢失,可以自行修改数据存储方式,支持mysql、es、tidb、influxdb,通过修改selector选择不同方式。
后文介绍如何使用mysql来存储skywalking数据。
5.1 修改配置文件
总共需要修改两个文件,
文件1:D:\software\apache-skywalking-apm-bin\config\application.yml
文件2:D:\software\apache-skywalking-apm-bin\tools\profile-exporter\application.yml
修改selector、jdbcurl、user、password
5.2 创建数据库
数据库新建swtest库,这个名称可以自行设定,配置一致就行
5.3 执行建表脚本
脚本文件:D:\software\apache-skywalking-apm-bin\bin\oapServiceInit.bat
执行需要持续数秒钟,执行完成之后检查sktest库中表是否创建成功
5.4 下载mysql-connector-java拷贝到oap-libs
5.5 验证
skywalking每次重启之后都能展示之前存储的监控数据(从mysql中读取)。