当前位置: 首页 > news >正文

docker配置skywalking 监控springcloud应用

在使用 Docker 配置 SkyWalking 监控 Spring Cloud 应用时,主要分为以下几个步骤:


1. 准备工作

  • 确保你的开发环境已经安装了 Docker 和 Docker Compose。
  • 准备好 Spring Cloud 应用代码,并确保它支持 SkyWalking 的探针(Agent)。

2. 拉取 SkyWalking OAP Server 和 UI 镜像

SkyWalking 提供了官方的 Docker 镜像,可以通过以下命令拉取:

docker pull apache/skywalking-oap-server
docker pull apache/skywalking-ui
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.0

3. 创建 docker-compose.yml 文件

为了简化部署,可以使用 Docker Compose 来启动 SkyWalking 的 OAP Server 和 UI。

创建一个 docker-compose.yml 文件,内容如下:

version: '3.7'services:oap:image: apache/skywalking-oap-servercontainer_name: skywalking-oapports:- "11800:11800" # gRPC port- "12800:12800" # REST portenvironment:SW_STORAGE: elasticsearchSW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200networks:- skywalking-netui:image: apache/skywalking-uicontainer_name: skywalking-uiports:- "8080:8080"environment:SW_OAP_ADDRESS: http://oap:12800depends_on:- oapnetworks:- skywalking-netelasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0container_name: elasticsearchenvironment:discovery.type: single-nodeports:- "9200:9200"networks:- skywalking-netnetworks:skywalking-net:driver: bridge

4. 启动 SkyWalking 服务

运行以下命令启动 SkyWalking 的 OAP Server、UI 和 Elasticsearch:

docker compose up -d

这将启动以下服务:

  • OAP Server:负责收集和处理监控数据。
  • UI:提供可视化界面,默认访问地址为 http://localhost:8080
  • Elasticsearch:存储监控数据。

5. 配置 Spring Cloud 应用

为了让 Spring Cloud 应用与 SkyWalking 集成,需要在应用中引入 SkyWalking 的 Java Agent。

5.1 下载 SkyWalking Agent

从 Apache SkyWalking 官方网站 下载对应版本的 SkyWalking Agent。

解压后,你会得到一个文件夹,例如 apache-skywalking-java-agent-8.9.0

5.2 修改 Spring Cloud 应用的启动命令

在 Spring Cloud 应用的启动命令中添加 -javaagent 参数。例如:

java -javaagent:/path/to/apache-skywalking-java-agent-8.9.0/skywalking-agent.jar \-Dskywalking.agent.service_name=your-service-name \-Dskywalking.collector.backend_service=oap:11800 \-jar your-spring-cloud-app.jar
5.3 关键参数说明
  • -javaagent:指定 SkyWalking Agent 的路径。
  • skywalking.agent.service_name:设置你的服务名称,用于区分不同的服务。
  • skywalking.collector.backend_service:指定 SkyWalking OAP Server 的地址(默认为 oap:11800)。

6. 使用 Docker 启动 Spring Cloud 应用

如果你使用 Docker 来运行 Spring Cloud 应用,可以在 Dockerfile 或 docker-compose.yml 中添加 -javaagent 参数。

例如,在 docker-compose.yml 中添加:

app:image: your-spring-cloud-imagecontainer_name: spring-cloud-appenvironment:- JAVA_OPTS=-javaagent:/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=oap:11800volumes:- ./apache-skywalking-java-agent-8.9.0:/skywalking-agentdepends_on:- oapnetworks:- skywalking-net

7. 验证监控

  1. 访问 SkyWalking UI:http://localhost:8080
  2. 在页面上查看服务拓扑图、性能指标等信息。
  3. 如果一切正常,你应该能看到你的 Spring Cloud 应用的监控数据。

8. 注意事项

  • 确保 Spring Cloud 应用和 SkyWalking OAP Server 在同一个网络中(例如通过 Docker Compose 创建的 skywalking-net 网络)。
  • 如果使用的是自定义的 Elasticsearch 地址或端口,请修改 SW_STORAGE_ES_CLUSTER_NODES 环境变量。
  • 根据实际需求调整 SkyWalking Agent 的配置文件(agent/config/agent.config)。

通过以上步骤,你可以成功使用 Docker 配置 SkyWalking 来监控 Spring Cloud 应用!

相关文章:

  • Laravel-vite+vue开发前端模板
  • MIT6.S081-lab4
  • 如何在 Ubuntu 上安装 Apache CouchDB ?
  • 【数据结构和算法】1. 数据结构和算法简介、二分搜索
  • Apache Parquet 文件组织结构
  • MACOS 中聚焦使用技巧
  • 医药采购系统平台第10天02:按药品分类的统计按供货商统计按医院统计统计数据的导出DWR的配置和应用
  • 通过 WebSocket 接收和播放 WSS 协议视频流
  • AES (高级加密标准)
  • 大模型在胆管结石(无胆管炎或胆囊炎)预测及治疗方案制定中的应用研究
  • OpenCV 边缘检测(Edge Detection)cv2.Canny
  • Spring源码中关于抽象方法且是个空实现这样设计的思考
  • 剑指Offer(数据结构与算法面试题精讲)C++版——day16
  • OpenCSG AutoHub v0.5.0 版本发布
  • 关于数组处理优化的一次讨论
  • 使用Python可视化洛伦兹变换
  • LeetCode 打家劫舍+删除并获得点数
  • ROS机器人开发实践->机器人建模与仿真
  • 【Linux学习笔记】Linux的环境变量和命令行参数
  • LeetCode[232]用栈实现队列
  • 两大跨国巨头称霸GLP-1市场,国产减肥药的机会在哪?
  • 汕头22岁女子手术成功却意外脑死亡,家属称缺氧30分钟医生未发觉
  • 三一重工去年净利增逾三成至59.75亿,拟分红超30亿元
  • 王毅、董军将主持召开中印尼外长防长“2+2”对话机制首次部长级会议
  • 马上评丨“化学麻将”创新值得点赞,但要慎言推广
  • 宋涛会见洪秀柱一行:维护台海和平稳定,扩大两岸交流合作