2026/4/18 7:44:29
网站建设
项目流程
网站默认地区数据修改,公司做网站怎么构思,中国50大电商排名,网页设计与制作期末考试试题目录
一、环境准备
二、步骤 1#xff1a;部署 SkyWalking 服务端#xff08;OAP UI#xff09;
1. 下载并解压 SkyWalking 安装包
2. 配置存储介质#xff08;核心#xff1a;推荐 Elasticsearch#xff09;
3. 启动 OAP 和 UI
4. 验证服务端启动
三、步骤 2部署 SkyWalking 服务端OAP UI1. 下载并解压 SkyWalking 安装包2. 配置存储介质核心推荐 Elasticsearch3. 启动 OAP 和 UI4. 验证服务端启动三、步骤 2Spring Cloud Alibaba 应用接入 SkyWalking Agent1. 拷贝 SkyWalking Agent 到应用服务器2. 配置 Agent可选也可通过启动参数覆盖3. 应用启动时挂载 Agent4. 多环境 / 容器化部署适配1Spring Boot 多环境配置无侵入2Docker 部署Dockerfile 示例3K8s 部署ConfigMap 启动参数四、步骤 3验证集成效果五、关键扩展日志与链路 TraceID 关联可选1. 引入依赖无需新增Spring Cloud Alibaba 通常已包含2. 修改 logback.xml 配置六、常见问题与解决方案七、生产环境最佳实践在 Spring Cloud Alibaba 项目中集成 Apache SkyWalking 核心是部署 SkyWalking 服务端应用接入 SkyWalking Agent全程无侵入业务代码以下是分步实操指南基于 SkyWalking 9.x 版本适配 Spring Cloud Alibaba 2022.x/2021.x 主流版本。一、环境准备组件版本建议说明Spring Cloud Alibaba2021.0.5.0 / 2022.0.0.0主流稳定版本SkyWalking9.7.0最新稳定版包含 Agent/OAP/UIJDK8/11适配 Spring Cloud 版本存储介质Elasticsearch 7.17.x推荐也支持 MySQL/H2二、步骤 1部署 SkyWalking 服务端OAP UISkyWalking 服务端包含 OAP Server数据处理 / 存储和 UI可视化支持单机 / 集群部署这里先讲单机快速部署。1. 下载并解压 SkyWalking 安装包bash运行# 下载也可官网手动下载https://skywalking.apache.org/downloads/ wget https://archive.apache.org/dist/skywalking/9.7.0/apache-skywalking-apm-9.7.0.tar.gz # 解压 tar -zxvf apache-skywalking-apm-9.7.0.tar.gz cd apache-skywalking-apm-bin2. 配置存储介质核心推荐 Elasticsearch默认使用 H2 内存数据库仅测试用生产需改为 Elasticsearch编辑config/application.yml修改存储配置yamlstorage: selector: ${SW_STORAGE:elasticsearch} elasticsearch: namespace: ${SW_NAMESPACE:} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:127.0.0.1:9200} # ES 地址 protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:http} connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000} socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}3. 启动 OAP 和 UIbash运行# 启动 OAP Server后台运行 nohup bin/oapService.sh oap.log 21 # 启动 UI 服务后台运行 nohup bin/webappService.sh ui.log 21 4. 验证服务端启动OAP 默认端口11800Agent 上报、12800UI 调用UI 访问地址http://{服务器IP}:8080默认账号 / 密码admin/admin若 UI 能正常打开说明服务端部署成功。三、步骤 2Spring Cloud Alibaba 应用接入 SkyWalking Agent核心是给应用添加skywalking-agent.jar启动参数无需修改代码。1. 拷贝 SkyWalking Agent 到应用服务器将解压后的apache-skywalking-apm-bin/agent目录拷贝到应用服务器如/usr/local/skywalking/agent。2. 配置 Agent可选也可通过启动参数覆盖编辑agent/config/agent.config核心配置properties# 应用服务名必填需唯一对应微服务名称 agent.service_name${SW_AGENT_NAME:order-service} # OAP Server 地址必填 collector.backend_service${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800} # 日志级别可选 logging.level${SW_LOGGING_LEVEL:INFO} # 采样率可选默认100%高流量场景可调低 agent.sample_n_per_3_secs${SW_AGENT_SAMPLE:-1} # -1 表示全采样3. 应用启动时挂载 AgentSpring Cloud Alibaba 应用通常为 Jar 包部署启动脚本添加-javaagent参数bash运行java -javaagent:/usr/local/skywalking/agent/skywalking-agent.jar \ -Dskywalking.agent.service_nameorder-service \ # 微服务名称如订单服务 -Dskywalking.collector.backend_service192.168.1.100:11800 \ # OAP 地址 -Dskywalking.logging.levelINFO \ -jar order-service.jar # 你的应用 Jar 包4. 多环境 / 容器化部署适配1Spring Boot 多环境配置无侵入无需改代码仅需在启动脚本中区分环境bash运行# 测试环境 java -javaagent:/usr/local/skywalking/agent/skywalking-agent.jar \ -Dskywalking.agent.service_nameorder-service-test \ -Dskywalking.collector.backend_servicetest-oap:11800 \ -jar order-service.jar --spring.profiles.activetest2Docker 部署Dockerfile 示例dockerfileFROM openjdk:8-jre-slim # 拷贝 Agent 到镜像 COPY skywalking-agent /usr/local/skywalking/agent # 拷贝应用 Jar 包 COPY target/order-service.jar /app.jar # 启动命令 ENTRYPOINT [java, \ -javaagent:/usr/local/skywalking/agent/skywalking-agent.jar, \ -Dskywalking.agent.service_nameorder-service, \ -Dskywalking.collector.backend_serviceoap-server:11800, \ -jar, /app.jar]3K8s 部署ConfigMap 启动参数将 Agent 包通过 ConfigMap/Volume 挂载到 Pod在 Deployment 的command中添加 Agent 参数yamlapiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 1 template: spec: volumes: - name: skywalking-agent configMap: name: skywalking-agent-config containers: - name: order-service image: order-service:v1 command: [java] args: - -javaagent:/usr/local/skywalking/agent/skywalking-agent.jar - -Dskywalking.agent.service_nameorder-service - -Dskywalking.collector.backend_serviceoap-service:11800 - -jar - /app.jar volumeMounts: - name: skywalking-agent mountPath: /usr/local/skywalking/agent四、步骤 3验证集成效果启动 Spring Cloud Alibaba 微服务如订单、商品、用户服务访问微服务接口触发服务间调用打开 SkyWalking UI验证核心功能服务拓扑仪表盘 服务拓扑图能看到微服务间的调用关系链路追踪追踪 调用链可筛选服务名查看具体请求的全链路指标监控仪表盘 服务仪表盘查看 QPS、响应时间、错误率等指标日志关联若需日志链路关联需额外配置见下文扩展。五、关键扩展日志与链路 TraceID 关联可选SkyWalking 可将日志与 TraceID 绑定通过 TraceID 一键查日志需配置日志框架以 Logback 为例1. 引入依赖无需新增Spring Cloud Alibaba 通常已包含xmldependency groupIdorg.apache.skywalking/groupId artifactIdapm-toolkit-logback-1.x/artifactId version9.7.0/version !-- 与 SkyWalking 版本一致 -- /dependency2. 修改 logback.xml 配置添加 SkyWalking 日志转换器输出 TraceIDxmlappender nameCONSOLE classch.qos.logback.core.ConsoleAppender encoder classch.qos.logback.core.encoder.LayoutWrappingEncoder layout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout Pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n/Pattern !-- %tid 会自动替换为 SkyWalking 的 TraceID -- /layout /encoder /appender重启应用后日志中会包含TraceID在 SkyWalking UI 中通过 TraceID 可直接关联日志。六、常见问题与解决方案问题现象排查方向UI 无服务数据1. Agent 配置的 OAP 地址是否正确2. 11800 端口是否开放3. 服务名是否配置链路不完整1. 微服务间调用是否使用 Spring Cloud 原生组件OpenFeign/Ribbon2. Agent 插件是否适配框架版本性能影响大1. 调低采样率如agent.sample_n_per_3_secs10每 3 秒采样 10 个2. 开启 Agent 异步上报ES 存储报错1. ES 版本是否兼容SkyWalking 9.x 推荐 ES 7.x2. ES 集群是否正常七、生产环境最佳实践OAP 集群部署多节点部署 OAP Server通过注册中心如 Nacos实现负载均衡Agent 缓存优化开启 Agent 本地缓存避免 OAP 宕机时数据丢失采样率调优高流量场景QPS 10000将采样率设为 10%~20%平衡性能与监控粒度数据清理配置 ES 索引生命周期ILM定期清理过期监控数据告警配置在 SkyWalking UI 中配置服务响应时间、错误率告警对接钉钉 / 邮件。通过以上步骤即可在 Spring Cloud Alibaba 项目中完整接入 SkyWalking实现微服务的全链路追踪、指标监控和日志关联快速定位生产环境的性能问题和故障。