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-server
container_name: skywalking-oap
ports:
- "11800:11800" # gRPC port
- "12800:12800" # REST port
environment:
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
networks:
- skywalking-net
ui:
image: apache/skywalking-ui
container_name: skywalking-ui
ports:
- "8080:8080"
environment:
SW_OAP_ADDRESS: http://oap:12800
depends_on:
- oap
networks:
- skywalking-net
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
container_name: elasticsearch
environment:
discovery.type: single-node
ports:
- "9200:9200"
networks:
- skywalking-net
networks:
skywalking-net:
driver: bridge4. 启动 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.jar5.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-image
container_name: spring-cloud-app
environment:
- JAVA_OPTS=-javaagent:/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=oap:11800
volumes:
- ./apache-skywalking-java-agent-8.9.0:/skywalking-agent
depends_on:
- oap
networks:
- skywalking-net7. 验证监控
- 访问 SkyWalking UI:
http://localhost:8080。 - 在页面上查看服务拓扑图、性能指标等信息。
- 如果一切正常,你应该能看到你的 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 应用!
到此这篇关于docker配置skywalking 监控springcloud应用的文章就介绍到这了,更多相关docker 监控springcloud应用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Docker获取镜像报错docker: Error response from daemon
这篇文章主要介绍了Docker获取镜像报错docker: Error response from daemon, 出现了镜像获取报错的问题,找到了解决的方法记一下,需要的朋友可以参考下2018-08-08
docker-compose:数据卷volumes挂载规则说明
这篇文章主要介绍了docker-compose:数据卷volumes挂载规则说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-03-03
Docker 部署 OnlyOffice 文档服务器的操作方法
本文详细介绍了如何使用Docker部署OnlyOffice文档服务器,包括准备工作、设置变量和目录结构、创建并运行OnlyOffice容器、访问OnlyOffice文档服务器以及配置和管理,通过这些步骤,你可以在本地快速搭建一个强大的文档编辑平台,感兴趣的朋友一起看看吧2025-02-02
docker网络,docker-compose network问题
这篇文章主要介绍了docker网络,docker-compose network问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-01-01


最新评论