5分钟搞定SkyWalking 9.5.0的Docker部署与Java应用集成(含常见报错解决)
5分钟搞定SkyWalking 9.5.0的Docker部署与Java应用集成含常见报错解决在微服务架构盛行的今天分布式系统的监控与追踪已成为开发者必备技能。Apache SkyWalking作为一款开源的APM应用性能监控系统凭借其强大的分布式追踪、服务网格观测和指标分析能力逐渐成为技术团队的首选工具。本文将带您快速完成SkyWalking 9.5.0的Docker部署并实现Java应用的完美集成同时解决实际部署中常见的配置问题。1. 环境准备与Docker部署1.1 安装Docker基础环境在开始之前请确保您的系统已安装Docker及Docker Compose。对于Linux用户可通过以下命令快速检查docker --version docker-compose --version若未安装可参考官方文档进行配置。建议使用Docker 20.10版本以获得最佳兼容性。1.2 部署SkyWalking OAP服务OAPObservability Analysis Platform是SkyWalking的核心组件负责数据收集和分析。使用以下命令拉取并运行9.5.0版本docker pull apache/skywalking-oap-server:9.5.0 docker run -d -p 11800:11800 -p 12800:12800 \ --name sw_oap \ apache/skywalking-oap-server:9.5.0端口说明11800Agent数据上报端口12800内部通信和管理接口端口提示生产环境建议通过-v参数挂载配置文件如-v /path/to/config:/skywalking/config1.3 部署SkyWalking UI界面UI组件提供可视化监控数据展示。执行以下命令启动docker pull apache/skywalking-ui:9.5.0 docker run -d -p 8080:8080 \ -e SW_OAP_ADDRESShttp://宿主IP:12800 \ --name sw_ui \ apache/skywalking-ui:9.5.0关键配置项SW_OAP_ADDRESS需替换为实际OAP服务地址。常见错误包括遗漏http://前缀使用容器名而非宿主机IP端口号配置错误2. Java应用集成实战2.1 Agent探针配置从官网下载对应版本的Agent包解压后通过以下方式集成IDEA开发环境配置打开Run/Debug Configurations在VM options中添加-javaagent:/path/to/skywalking-agent.jar -Dskywalking.agent.service_nameyour-service-name -Dskywalking.collector.backend_service127.0.0.1:11800JAR包启动方式java -javaagent:/path/to/skywalking-agent.jar \ -Dskywalking.agent.service_namedemo-service \ -Dskywalking.collector.backend_service127.0.0.1:11800 \ -jar your-app.jar2.2 常见集成问题解决问题1Agent未生效检查路径是否正确确认服务启动日志包含SkyWalking Agent字样验证11800端口连通性问题2Gateway链路缺失对于Spring Cloud Gateway项目需额外步骤复制agent/optional-plugins下的apm-spring-cloud-gateway-2.1.x-plugin.jarapm-spring-webflux-5.x-plugin.jar粘贴到agent/plugins目录重启Gateway服务3. 高级配置与优化3.1 使用Docker Compose编排创建docker-compose.yml实现一键部署version: 3 services: oap: image: apache/skywalking-oap-server:9.5.0 ports: - 11800:11800 - 12800:12800 environment: SW_STORAGE: elasticsearch SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200 healthcheck: test: [CMD, curl, -f, http://localhost:12800] ui: image: apache/skywalking-ui:9.5.0 depends_on: oap: condition: service_healthy ports: - 8080:8080 environment: SW_OAP_ADDRESS: http://oap:128003.2 日志采集集成在项目中添加Logback支持添加Maven依赖dependency groupIdorg.apache.skywalking/groupId artifactIdapm-toolkit-logback-1.x/artifactId version9.5.0/version /dependency配置logback-spring.xmlappender nameSKY_WALKING_LOG classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender encoder pattern%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n/pattern /encoder /appender root levelINFO appender-ref refSKY_WALKING_LOG / /root4. 监控验证与性能调优4.1 基础验证步骤访问http://localhost:8080打开UI界面确认服务列表中出现配置的应用检查拓扑图显示正常验证追踪数据是否完整4.2 性能优化建议存储配置生产环境建议使用ES集群替代默认H2调整数据保留策略SW_STORAGE_ES_DAY_STEP: 1 SW_STORAGE_ES_INDEX_SHARDS_NUMBER: 2 SW_STORAGE_ES_INDEX_REPLICAS_NUMBER: 1JVM参数优化docker run -d \ -e JAVA_OPTS-Xms4g -Xmx4g -XX:UseG1GC \ apache/skywalking-oap-server:9.5.0网络调优对于K8s环境配置NetworkPolicy限制访问高并发场景考虑启用gRPC代替HTTP
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2439527.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!