尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

链路追踪 SkyWalking 基础 + 分布式接口超时排查

链路追踪 SkyWalking 基础 + 分布式接口超时排查 前置基础与业务定位分布式链路追踪适用业务场景微服务串行调用链路前端请求 → Gateway 网关 → 业务服务 → 短信 / 优惠券下游服务解决线上各类问题跨 Feign 远程调用批量 / 偶发超时、接口响应缓慢MySQL 慢 SQL、Redis 大 key 阻塞拉长接口耗时故障无法定位耗时节点网关 / Feign / 数据库 / 缓存多服务日志分散无统一标识串联完整请求大促、秒杀提前发现系统性能瓶颈缺失链路追踪组件的线上痛点多服务调用超时只能人工翻阅多台服务器日志定位效率极低缺少全局唯一 TraceId日志分散检索一条完整请求极其麻烦无法区分耗时来源分不清是网络、代码、数据库还是缓存导致慢无全局监控大盘看不到整体 QPS、平均耗时、错误率无法提前预警偶发超时无完整链路快照故障难以复现缺少排查依据SQL、第三方接口耗时无法绑定原始前端请求定位慢查询困难SkyWalking 整体架构与核心链路概念Apache SkyWalking 是国产开源、Apache 顶级项目的APM 应用性能监控 全链路可观测平台专门适配微服务、云原生分布式架构。核心能力三合一分布式链路追踪、系统指标监控、日志联动告警。整体比喻大型商场监控指挥中心把整套微服务系统比作多层大型商场商场楼层 各个微服务网关层、用户服务、短信服务、数据库顾客下单 / 获取验证码 用户发起一次前端请求顾客投诉 “办事太慢、服务报错” 线上接口超时故障SkyWalking 三大核心组件架构Agent 探针客户端采集层加载方式JVM 启动参数挂载-javaagent无需修改业务代码完全无侵入核心能力基于字节码增强自动采集网关、OpenFeign、MySQL、Redis、线程池埋点数据数据上报机制本地异步队列批量上传链路指标和业务主线解耦几乎无性能损耗部署范围所有微服务、Gateway 网关全部挂载不能遗漏任一调用节点OAP 服务端数据处理存储层核心职责接收探针上报 Trace 链路、监控指标完成数据清洗、统计计算、持久化存储附加能力校验告警规则、提供服务拓扑计算、支持集群部署实现高可用通信端口默认 11800 接收探针上报数据UI 可视化控制台观测层可视化内容服务调用拓扑图、单条 Trace 完整链路明细、慢 SQL 列表、系统指标大盘、告警记录核心检索功能根据全局 TraceId 一键查询整条请求链路分层展示每个操作 Span 耗时运维能力自定义慢链路阈值、配置指标告警、导出性能报表SkyWalking 就是商场全套监控系统分三部分对应三大组件Agent 探针每层走廊摄像头每层楼层每个微服务都装摄像头不用改造店铺装修不用改代码自动记录顾客每一步行动进门、找店员、去仓库、付款、离开记录每一步花了多久、哪里卡住、哪里出错。OAP 服务端监控机房服务器所有摄像头录像统一传到机房自动整理、分类、存储录像计算每层人流量、排队时长、故障次数。UI 可视化控制台指挥大厅大屏幕运维坐在大厅大屏实时看全商场楼层分布图、人流曲线顾客投诉后输入顾客唯一编号TraceId一键调出该顾客完整行动录像一眼看出在哪一层卡住。四大核心链路专业概念Trace全局完整请求定义用户一次前端发起的完整请求生成全局唯一 TraceId范围贯穿 Gateway、所有微服务、MySQL、Redis 等全部中间件组成关系一条 Trace 由多个 Segment 片段构成Segment单服务链路片段定义单个服务实例处理本次请求产生的一段独立链路数据场景区分A 服务 Feign 调用 B 服务A 生成一段 SegmentB 生成新 Segment关联方式通过 TraceId、SegmentId 串联整条完整请求链路Span最小耗时操作单元定义链路中每一段独立操作的最小粒度记录常见 Span 类型Gateway 路由 Span、OpenFeign 远程调用 Span、MySQL 查询 Span、Redis 操作 Span、业务方法 Span存储信息操作开始时间、结束时间、执行耗时、异常状态、错误堆栈ContextCarrier跨服务上下文载体作用跨 Feign 远程调用时传递链路标识实现逻辑探针自动将 TraceId、SegmentId、SpanId 写入 HTTP 请求头优势使用 OpenFeign 无需手动编码传递上下文探针自动完成透传Trace / Segment / Span 生活化比喻一次顾客完整流程Trace完整全程录像顾客从进门到办完业务离开的完整一整条录像全局唯一编号TraceId对应用户一次前端请求。Segment单楼层片段录像录像拆分成分段一楼大门网关一段、二楼用户柜台user-service一段、三楼短信柜台sms-service一段一个服务对应一段 Segment。Span每一个细分动作单段录像里的最小动作进门安检 Span、柜台办理业务 Span、呼叫隔壁楼层 Span、去仓库查库存 SQL Span每个动作记录耗时、是否卡顿报错。无侵入采集底层实现原理挂载探针JVM 启动参数加载 skywalking-agent.jar字节码增强Agent 基于 ASM 框架运行时动态修改中间件、框架字节码埋点逻辑方法执行前创建 Span方法执行完毕统计耗时、捕获异常信息异步上报链路数据存入本地缓冲队列批量异步发送至 OAP不阻塞业务执行SkyWalking vs SleuthZipkin 技术选型对比对比维度SkyWalkingSleuthZipkin代码侵入性JavaAgent 挂载零代码侵入引入依赖存在少量代码侵入部署复杂度中等OAP 集群 ES 存储简单单机即可快速启动持久化存储Elasticsearch/H2 内存库MySQL/Elasticsearch数据上报方式异步批量上报性能损耗极低同步 HTTP 上报性能损耗偏高生产适配场景大型微服务集群、高并发营销 / 短信业务小型简易微服务、单体拆分项目整套工作完整流程启动微服务时JVM 挂载 SkyWalking 探针每层装摄像头用户前端发起获取验证码请求系统自动生成全局唯一 TraceId探针自动记录整条请求所有操作网关鉴权、Feign 调用用户服务、短信服务查询 MySQL每一步生成 Span探针异步把所有录像数据传给 OAP 机房服务器清洗、存储用户反馈接口超时运维复制日志中的 TraceId打开 SkyWalking UI检索 Trace瀑布图看到 MySQL 查询无索引耗时 600ms定位根因优化索引解决超时。SkyWalking UI 可视化界面图文讲解服务拓扑图全局服务依赖大盘功能说明六边形代表每个微服务Gateway、user-service、sms-service、MySQL连线代表 Feign 远程调用关系连线数字代表每分钟调用量节点边框颜色绿色 健康、黄色 轻微延迟、红色 大量报错 / 超时一眼发现哪个服务报错变红、哪个服务流量突增、哪个服务调用链过长。Trace 链路详情瀑布图故障排查核心页面功能说明输入报错日志里的 TraceId一键调出整条请求完整流程横向时间轴展示每一段 Span 耗时长条越长代表越慢分层区分网关耗时 → Feign 远程调用耗时 → MySQL SQL 耗时 → Redis 耗时标红 Span 代表异常、超时直接定位故障节点。服务指标监控大盘功能说明汇总所有服务核心指标每分钟请求量 RPM、成功率、P99 最大延迟曲线图表实时展示流量、延迟变化大促前预判性能瓶颈顶部展示当前活跃告警快速定位故障服务。3D 架构全景视图功能说明多层立体展示网关、业务服务、数据库分层部署故障服务立方体自动闪烁红色一键屏蔽正常服务只看故障节点。SkyWalking 核心业务落地功能SkyWalking 自动埋点实现方式三个疑问方便理解问题 1要不要在业务服务器新增业务代码完全不需要写一行业务代码零侵入不会在你的 Controller、Service、Feign、Mapper 里新增任何埋点代码业务代码完全不动上线、回滚无风险。问题 2要不要在 pom.xml 引入 Maven 依赖不需要引入任何 maven 坐标、jar 包依赖对比 SleuthZipkin需要在 pom 引入 spring-cloud-sleuth 依赖属于代码侵入 SkyWalking 走 JVM 探针机制和项目依赖完全隔离不污染业务 pom。问题 3靠什么实现埋点配置在哪1. 核心载体独立 Agent 探针文件夹放到每台服务器 / 容器提前下载完整skywalking-agent压缩包解压放到所有微服务、网关服务器文件夹内部自带大量插件feign 插件、mysql 插件、gateway 插件、redis 插件内置agent.config配置文件控制采样率、日志、开关各类中间件埋点。2. 接入方式JVM 启动参数挂载探针唯一配置改动点启动 Java 服务时在-jar之前添加-javaagent参数示例java \ -javaagent:/opt/skywalking-agent/skywalking-agent.jar \ -Dskywalking.agent.service_nameuser-service \ -Dskywalking.collector.backend_serviceOAP地址:11800 \ -jar user-service.jar所有配置写在启动脚本环境变量或agent.config文件不用改 application.yml、不用改业务代码。3. 底层埋点原理JVM 字节码增强核心JVM 加载类之前Agent 会拦截类加载流程基于 ByteBuddyASM 修改框架 / 中间件字节码不是业务类Feign 调用类、Gateway 过滤器、MySQL JDBC、Redis 客户端、Tomcat 接口在框架方法入口自动插入埋点逻辑相当于动态加切面方法进入创建 Span记录开始时间透传 TraceId 到请求头方法结束记录耗时正常关闭 Span出现异常标记 Span 错误捕获异常堆栈整个增强流程运行期动态完成编译阶段完全无感知。4. 插件自动匹配逻辑为什么开箱即用Agent 目录下plugins文件夹内置各类框架插件通过 SPI 机制自动识别项目使用的组件检测到项目引入 OpenFeign → 自动启用 Feign 埋点插件检测到 MyBatis/MySQL 驱动 → 自动开启 SQL 埋点检测 Spring Cloud Gateway → 网关自动埋点 全程无需手动开启自动识别、自动埋点。工具埋点实现方式是否引入依赖是否改业务代码SkyWalking AgentJVM 字节码增强探针挂载不需要 pom 依赖零代码侵入SleuthZipkinSDK 埋点AOP 切面必须引入 maven 依赖轻微代码侵入开箱即用自动埋点覆盖范围网关层埋点Spring Cloud Gateway自动采集网关路由转发耗时记录全局过滤器执行耗时鉴权、跨域、Redis-Lua 限流捕获网关拦截拒绝、404、限流 429 等异常标记 Span 错误状态RPC 远程调用埋点OpenFeign、RestTemplate 远程调用自动生成独立 Span记录调用目标服务名、接口地址、请求耗时、超时 / 异常信息探针自动完成 Trace 上下文透传无需手动处理请求头数据库埋点MySQL/MyBatis捕获每一条执行 SQL 语句记录 SQL 文本、执行耗时自动标记慢 SQL关联原始前端请求 TraceId记录数据库连接异常、查询超时等故障Redis 缓存埋点所有 get/set/incr/expire 等命令单独生成 Span记录 Redis 操作阻塞、网络超时、大 key 执行耗时过长问题基础通用组件埋点Tomcat HTTP 接口请求全流程采集线程池、定时任务异步方法耗时记录全局异常堆栈自动采集绑定对应 Trace 链路SkyWalking 开箱即用自动埋点覆盖范围汇总表埋点层级覆盖组件自动采集内容常见使用场景网关层Spring Cloud Gateway路由转发耗时、全局过滤器执行耗时鉴权 / 跨域 / 限流、限流拒绝 / 404 / 异常状态排查网关层耗时、定位过滤器阻塞、确认限流是否生效RPC 远程调用层OpenFeign、RestTemplate目标服务名、接口 URL、请求耗时、超时 / 异常信息、自动透传 Trace 上下文排查 Feign 调用慢、区分网络延迟还是下游慢、跨服务链路串联数据库层MySQL / MyBatis / JDBCSQL 语句文本、执行耗时、参数、连接异常、查询超时定位慢 SQL、关联原始请求、优化索引与联表查询缓存层RedisJedis/Lettuce/Redissonget/set/incr/expire 等命令、操作耗时、网络超时、大 key 阻塞排查 Redis 卡顿、定位大 key、缓存穿透 / 击穿问题Web 容器层Tomcat / UndertowHTTP 接口全流程耗时、请求方法、URL、响应状态码接口整体耗时统计、错误率监控、QPS 统计异步任务层线程池、Async、定时任务 Scheduled异步方法执行耗时、线程池队列堆积、任务异常排查异步任务慢、线程池耗尽、定时任务超时异常采集全局异常异常类型、异常堆栈、抛出位置、关联 TraceId快速定位报错根因、错误率统计MQ 消息层RabbitMQ / RocketMQ / Kafka消息生产 / 消费耗时、消息体大小、消费异常、消费延迟排查消息堆积、消费慢、消息丢失第三方 HTTP 调用HttpClient / OkHttp第三方接口 URL、请求耗时、响应状态、超时异常排查第三方接口慢、外部依赖故障定位JVM 指标层JVM 虚拟机堆内存、GC 次数与耗时、线程数、CPU 使用率内存泄漏排查、GC 调优、线程死锁定位分布式接口超时标准排查流程完整业务链路示例前端请求 → Gateway → user-service Feign 调用 → sms-service → MySQL从业务报错日志中复制全局唯一 TraceId进入 SkyWalking UI 控制台通过 TraceId 检索整条完整请求链路查看整条 Trace 总耗时对比项目约定接口超时阈值分层查看瀑布图各 Span 耗时定位耗时最高节点网关 Span 耗时高排查鉴权、限流、日志过滤器代码阻塞Feign 远程调用 Span 耗时高区分网络延迟 或 下游服务处理缓慢下游服务内部总耗时高继续查看内部 MySQL、Redis 子 SpanMySQL Span 耗时突出定位慢 SQL优化索引、分页、联表查询Redis Span 耗时突出排查大 key、Redis 集群压力、网络阻塞查看 Span 状态标识Error 异常、Socket 超时、Sentinel 熔断标记查看服务拓扑图确认是否存在调用链过长、服务循环依赖、串行调用过多问题慢链路阈值自定义与告警配置慢链路标记规则自定义阈值例接口总耗时超过 800ms 标记为慢 Trace所有慢链路单独归档展示。系统指标告警规则服务平均响应时间突增告警接口错误率超过 5% 触发告警服务 QPS 骤降、实例离线告警告警渠道钉钉、企业微信推送实时通知慢 SQL 专项告警SQL 执行耗时超过 300ms 自动记录并推送告警提前优化避免批量接口超时。业务日志与链路联动能力日志框架输出日志时自动打印当前请求 TraceIdSkyWalking 链路详情页面可一键跳转对应服务日志运维可从报错日志携带的 TraceId 反向检索完整调用链路无需登录多台服务器翻查日志生产环境部署、存储方案与高并发采样优化规范Agent 探针标准启动配置JVM 启动完整参数模板java \ -javaagent:/opt/skywalking/agent/skywalking-agent.jar \ -Dskywalking.agent.service_namesms-service \ -Dskywalking.collector.backend_service192.168.1.100:11800 \ -jar sms-service.jar核心参数说明-javaagent指定探针 jar 包路径所有微服务、网关必须配置skywalking.agent.service_name当前服务名称必须与 Nacos 注册名称完全一致否则拓扑图错乱skywalking.collector.backend_serviceOAP 服务通信地址集群部署填写负载均衡地址端口固定 11800探针配套配置文件agent 目录下agent.config文件可自定义采样率、关闭无用埋点插件、日志输出级别。OAP 服务端两种存储方案对比存储类型适用环境优缺点生产是否推荐H2 内存存储本地测试、单机调试重启数据全部丢失无法存储海量链路无持久化能力禁止线上使用Elasticsearch 持久化存储正式生产、集群环境支持海量链路持久化、历史 Trace 检索、大数据统计可搭配 ES 集群实现高可用唯一生产标准方案高并发流量采样策略大促、秒杀核心优化采样规则分层配置普通低 QPS 业务接口100% 全采样故障可完整追溯链路验证码、秒杀等高并发接口采样率设置 10%~30%降低 OAP 与 ES 存储、CPU 压力强制兜底规则无论采样率配置多少超时、报错异常链路强制 100% 完整采集保证故障有依据可查采样配置生效位置在agent.config探针配置文件统一设置全局采样率也可针对单个服务单独调整。生产部署硬性规范Gateway 网关、全部业务微服务统一挂载 Agent 探针不遗漏任意调用节点OAP 采用多实例集群部署杜绝单机单点故障链路专用 ES 集群与业务数据库 ES 物理隔离互不抢占磁盘 IO、CPU 资源配置 ES 数据生命周期自动清理 7 天以上过期链路数据防止磁盘占满全局统一 Agent 探针、OAP 服务端版本避免版本不兼容导致埋点丢失、链路断裂实战串联案例 —— 用户获取验证码超时完整排查链路业务调用前置链路完整业务请求流转顺序前端 APP / 浏览器 → SpringCloud Gateway 网关 → user-service 用户服务 → OpenFeign 远程调用 sms-service 短信服务 → MySQL 查询渠道配置 Redis 验证码防刷校验SkyWalking 采集全流程分步拆解用户发起获取验证码前端请求JVM 内置 SkyWalking 探针自动生成全局唯一 TraceIdGateway 网关探针工作自动创建网关类型 Span记录鉴权、Redis-Lua 限流过滤器执行耗时通过 ContextCarrier 上下文载体将 TraceId、SegmentId、SpanId 写入 HTTP 请求头自动透传给下游服务请求转发至 user-service 用户服务当前服务生成独立 Segment 片段执行业务本地逻辑生成本地 Span内部执行 Feign 调用短信服务时生成 Feign 远程调用 Span探针再次自动携带链路标识传递给 sms-service请求抵达 sms-service 短信服务新建独立 Segment 片段与上游服务链路通过 TraceId 关联执行 MySQL 查询手机号渠道配置自动生成 SQL Span 并记录执行耗时执行 Redis 验证码防刷校验生成 Redis 操作 Span记录阻塞、超时信息整条请求业务执行完成当前服务 Agent 收集本服务下所有 Span 数据存入本地内存异步缓冲队列批量异步推送链路指标、Trace 数据至 OAP 服务端不阻塞主线程响应用户OAP 接收数据后清洗、统计指标持久化存入 Elasticsearch 存储线上超时故障完整排查操作步骤查看业务报错日志复制日志中打印的全局 TraceId登录 SkyWalking UI 可视化控制台使用 TraceId 检索完整链路瀑布图查看整条 Trace 总耗时对比项目接口约定超时阈值如 1000ms确认接口确实超时分层查看瀑布图中每个 Span 的横向耗时长度定位耗时最高的操作片段若 MySQL Span 耗时 600ms判定根因为手机号查询 SQL 无索引根据慢 SQL 记录在数据库添加对应索引优化查询性能重新压测验证接口耗时下降故障解决案例核心总结整条分布式链路无需手动埋点网关、Feign、MySQL、Redis 全部自动采集依靠全局 TraceId 串联多服务日志与链路不用逐个登录服务器翻查日志瀑布图直观区分网关、远程调用、数据库、缓存各层耗时快速定位性能瓶颈线上 SkyWalking 故障分级应急处理一级故障OAP 服务宕机控制台无法查看链路数据故障现象SkyWalking UI 页面加载空白、无任何链路、监控指标数据OAP 进程停止、集群全部实例下线。故障影响 Agent 拥有本地内存缓冲区链路数据临时缓存不会阻塞正常业务接口仅暂时无法查看监控与链路。应急处置方案 ① 快速重启 OAP 集群所有实例恢复服务通信 ② OAP 恢复后Agent 缓冲区缓存的数据会自动批量上报丢失数据极少长期优化规范 生产环境必须 OAP 多实例集群部署避免单点宕机导致监控完全不可用。二级故障高并发场景 SkyWalking 占用业务 CPU 过高故障现象 业务服务 CPU 持续飙升线程调度卡顿接口响应延迟增加。根因 高 QPS 接口全量采集链路大量 Span 上报消耗 CPU 资源。应急处置 ① 临时调低普通业务采样率仅保留异常链路 100% 强制采集 ② 关闭业务无关插件定时任务、第三方无用 HTTP 埋点减少采集量 ③ 扩容 OAP 节点分流上报压力。长期优化 区分高低并发业务差异化配置采样率大促前提前调优。三级故障跨服务链路断裂Trace 无法完整串联故障现象 Trace 只能看到单个服务片段上下游链路断开无法查看完整调用流程。根因 ① 自定义 Feign RequestInterceptor 拦截器清空了存储 Trace 信息的请求头 ② Agent 未正常加载、探针版本与 OAP 版本不匹配应急处置 ① 检查 Feign 拦截器逻辑禁止清除链路透传的请求头 ② 重启对应微服务重新挂载 Agent 探针长期优化 统一全局 Agent、OAP 版本开发阶段测试自定义拦截器兼容性。四级故障大量慢 SQL 告警批量接口集体超时故障现象 全平台多个接口响应缓慢SkyWalking 持续推送慢 SQL 告警。根因 SQL 缺少索引、大分页、多表联表查询、数据库压力过载。应急处置 ① 在 UI 导出 Top 慢 SQL 列表紧急创建缺失索引 ② 拆分超大分页查询新增 Redis 缓存减轻数据库查询压力 ③ 临时扩容数据库从节点分流读流量。长期优化 定期导出慢链路报表提前优化低效 SQL。五级故障ES 磁盘占满链路数据写入失败丢失故障现象 OAP 日志报 ES 写入异常新链路无法存储UI 无新增监控数据。根因 未配置数据自动清理策略链路数据无限堆积撑满磁盘。应急处置 ① 临时扩容 ES 服务器磁盘空间 ② 手动清理过期历史链路数据长期优化 配置 ES 数据生命周期策略自动删除 7 天以上过期链路数据链路 ES 与业务 ES 物理分离部署。线上长期生产优化规范探针部署统一规范所有微服务、SpringCloud Gateway 网关必须统一挂载 SkyWalking Agent 探针不允许出现漏装节点。全局统一 Agent 探针、OAP 服务端版本号杜绝版本不兼容造成埋点丢失、链路断裂。Agent 路径、启动 JVM 参数标准化统一运维脚本避免不同服务配置混乱。OAP 与存储部署规范OAP 服务必须集群多实例部署禁止单机上线生产规避单点故障。存储仅允许使用 Elasticsearch严格禁用 H2 内存存储链路追踪 ES 集群和业务 ES 集群物理隔离互不抢占 IO、磁盘、CPU 资源。ES 配置数据生命周期规则自动清理 7 天以上过期链路数据防止磁盘持续膨胀。差异化采样配置规范普通低并发业务接口100% 全采样方便故障完整追溯。秒杀、验证码等高 QPS 接口采样率控制在 10%~30%降低上报与存储压力。强制规则超时、异常、报错链路不受采样率限制100% 完整采集留存保障故障排查依据。告警与日志联动规范固定配置三类核心告警接口响应时间突增告警、服务错误率超标告警、慢 SQL 告警告警推送至钉钉 / 企业微信。业务日志框架统一打印 TraceId实现链路页面跳转日志、日志通过 TraceId 反向检索链路双向互通。性能与存储优化规范限制单条 Trace 最大 Span 数量避免超长调用链产生海量数据占用存储。关闭业务系统不需要的埋点插件减少采集带来的 CPU 损耗。大促活动前结合压测与 SkyWalking 链路报表提前定位系统性能短板提前优化慢接口、慢 SQL。线上开发高频踩坑点存储相关踩坑线上环境使用 H2 内存存储 OAP问题服务重启后所有链路数据全部清空故障无任何追溯依据解决方案生产统一使用 Elasticsearch 持久化存储H2 仅本地测试使用采样配置踩坑高并发验证码、秒杀接口未配置采样率全量采集问题海量 Span 持续上报打爆 OAP 服务、ES 磁盘与 CPU解决方案高 QPS 接口设置 10%~30% 采样异常链路强制 100% 采集Feign 拦截器链路透传踩坑自定义 Feign RequestInterceptor 拦截器清空请求头问题Trace 上下文标识被删除跨服务 Trace 断裂无法串联整条请求解决方案拦截器逻辑过滤请求头时保留 SkyWalking 链路相关 headerAgent 服务名配置踩坑Agent 配置 service_name 与 Nacos 注册服务名不一致问题服务拓扑图混乱无法区分各个业务模块监控大盘统计失真解决方案服务名保持和 Nacos 注册名称完全一致网关探针漏装踩坑仅微服务挂载 AgentGateway 网关未配置探针问题网关层鉴权、限流、路由耗时完全无法观测外层瓶颈无法定位解决方案网关和所有业务服务统一挂载探针无遗漏SQL 埋点缺失踩坑未开启 MySQL 埋点插件或插件失效问题慢 SQL 无法关联前端原始请求排查慢查询效率极低解决方案不手动关闭 JDBC/MyBatis 埋点插件统一校验探针插件加载日志日志无 TraceId 踩坑业务日志未打印全局 TraceId问题只能在 SkyWalking 内查链路无法从报错日志反向检索完整调用链解决方案日志模板统一输出 TraceId实现日志与链路双向检索OAP 单机部署踩坑OAP 仅单机部署无集群扩容问题OAP 宕机后短期内无法查看任何链路线上故障排查直接中断解决方案生产 OAP 多实例集群部署保证高可用ES 磁盘清理踩坑ES 未配置数据自动过期清理策略问题链路数据无限堆积磁盘持续膨胀最终 ES 写入失败链路丢失解决方案配置 ES 生命周期自动删除 7 天以上过期链路数据版本不兼容踩坑Agent 探针版本和 OAP 服务端版本不统一问题埋点数据丢失、Span 信息不全、部分链路采集失效解决方案全局统一 Agent、OAP 版本上线前做版本兼容性校验
返回列表