本次搭建是基于MySQL进行持久化,因此需要提前准备好一个MySQL容器 (MySQL容器部署略过)。
OAP服务搭建
拉取skywalking-oap镜像
docker pull apache/skywalking-oap-server:8.9.0
接下来可以进行一个简单的启动,目的是拷贝出config目录到宿主机后进行挂载(docker 容器配置文件建议通过宿主机文件进行挂载)
docker run --name skywalking-oap -d apache/skywalking-oap-server:8.9.0
之后进入容器
docker exec -it skywalking-oap /bin/bash
我们需要将config目录拷贝到我们的宿主机/opt/docker_config/skywalking目录下
docker cp skywalking-oap:/skywalking/config /opt/docker_config/skywalking
拷贝完成后停止并删除skywalking容器
docker stop skywalking-oap docker rm skywalking-oap
进入宿主机目录/opt/docker_config/skywalking/config修改配置文件 application.yml
紧接着重新运行一个skywalking容器
docker run --name skywalking-oap --restart always -e TZ=Asia/Shanghai -d -p 12800:12800 -p 11800:11800 -v /opt/docker_config/skywalking/config:/skywalking/config apache/skywalking-oap-server:8.9.0
其中映射的11800和12800端口的作用分别是用于客户端探针数据上报和UI接口请求。
UI服务搭建
拉取skywalking-ui镜像
docker pull apache/skywalking-ui:8.9.0
运行容器
docker run -d --name skywalking-ui --restart=always -e TZ=Asia/Shanghai -p 8088:8080 -e SW_OAP_ADDRESS=http://xxxxx:12800 apache/skywalking-ui:8.9.0
其中xxxxx就是你的skywalking-oap的容器IP
接下来就可以访问http://宿主机IP:8080端口查看是否正常(正常页面如下图)
客户端集成
针对自己的开发环境idea运行微服务项目
首先下载跟Skywalking-oap服务版本对应的agent 进行解压
进入目录获取agent.jar绝对路径D:\dev\apache-skywalking-java-agent-8.9.0\skywalking-agent\skywalking-agent.jar
idea -> edit configurations
添加vm options 将其中的jar路径 服务名称 skywalking-oap服务地址 换成自己的即可
-javaagent:D:\dev\apache-skywalking-java-agent-8.9.0\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=gateway -Dskywalking.collector.backend_service=192.168.16.110:11800
* gateway支持
skywalking默认不支持gateway 需要自己下载额外的plugins 其实就是jar包 放在skywalking-agent所在目录下的plugins目录下 这个目录里面都是依赖的Jar包
apm-spring-cloud-gateway-3.x-plugin-8.9.0.jar 取决于你的gateway版本 如果是2.x那就下载2.x的plugin 我自己用的是3.x版本的gateway 因此下载的是3.x的plugin