Apache SkyWalking是一个开源的APM(应用性能管理)系统,用于收集、分析和服务之间的跟踪数据。
拉取镜像
首先,我们需要从Docker Hub上拉取SkyWalking OAP服务器和UI的镜像。
拉取Apache SkyWalking OAP(Observability Analysis Platform)服务器的镜像,版本为10.0.0。
docker pull apache/skywalking-oap-server:10.0.0拉取Apache SkyWalking UI(用户界面)的镜像,版本为10.0.0。
docker pull apache/skywalking-ui:10.0.0启动容器
接下来,我们将启动SkyWalking OAP服务器和UI的容器。
启动Apache SkyWalking OAP服务器的容器。
docker run -d \
-p 11800:11800 \
-p 12800:12800 \
--name sw_oap \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.101.101:9200 \
apache/skywalking-oap-server:10.0.0-d:后台运行容器。-p 11800:11800:将容器的11800端口映射到宿主机的11800端口,用于接收来自SkyWalking代理的数据。-p 12800:12800:将容器的12800端口映射到宿主机的12800端口,用于接收来自UI的数据查询。--name sw_oap:为容器设置名称为sw_oap。-e TZ=Asia/Shanghai:设置容器的时区为亚洲/上海。-e SW_STORAGE=elasticsearch:指定SkyWalking的存储方式为Elasticsearch。-e SW_STORAGE_ES_CLUSTER_NODES=192.168.101.101:9200:设置Elasticsearch集群的节点地址为192.168.101.101:9200。
需要提前安装并启动Elasticsearch
启动Apache SkyWalking UI的容器。
docker run -d \
-p 8088:8080 \
--name sw_ui \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=http://192.168.101.101:12800 \
apache/skywalking-ui:10.0.0-d:后台运行容器。-p 8088:8080:将容器的8080端口映射到宿主机的8088端口,用于访问SkyWalking UI。--name sw_ui:为容器设置名称为sw_ui。-e TZ=Asia/Shanghai:设置容器的时区为亚洲/上海。-e SW_OAP_ADDRESS=http://192.168.101.101:12800:设置OAP服务器的地址为192.168.101.101:12800,这样UI可以与OAP服务器通信。
访问web界面
开放TCP协议的8088端口防火墙,确保外部网络可以访问通过Docker映射到宿主机8088端口的SkyWalking UI服务。
firewall-cmd --permanent --add-port=8088/tcp
firewall-cmd --reload
firewall-cmd --permanent --list-all在浏览器中输入http://192.168.101.101:8088,如果看到SkyWalking的界面,说明部署成功。

下载Agent
到官网https://skywalking.apache.org/downloads/ ,下载对应版本的Java Agent。

下载后解压,可以看到skywalking-agent.jar和config配置文件夹。

打开config文件夹中的agent.config文件,修改collector.backend_service为OAP服务器的地址


配置Agent
打开需要监控的Java项目,点击Edit Configurations,在VM options中添加以下参数:
-javaagent:D:\JavaWeb\java-agent\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=jvm-service-javaagent:指定skywalking-agent的jar包路径。-Dskywalking.agent.service_name:指定服务的名称。


启动项目
启动项目时可以看到skywalking的调试信息出现在springboot的banner之前。

刷新web UI界面,可以看到出现了常规服务模块,说明已经监控了这个java程序。

