使用 AWS X-Ray 的分布式追踪与结构化日志
在 AWS 上部署应用
Dunieski Otano
Amazon Web Services Solutions Architect
没人找到的慢请求
单个请求耗时 4 秒
各服务日志各自看都正常
没人能看到完整链路
分布式追踪解决什么问题
一次请求会触达
多个服务
仅靠日志无法展现
端到端路径
用
追踪
将整次请求串联起来
精确看到时间花在哪里
Segments、Subsegments 与服务地图
Segment
:单个服务完成的工作
Subsegment
:Segment 内部单元,如一次 DB 调用
Service map
:所有 Segment 的可视化图
每个节点展示延迟与错误
注解 vs 元数据
注解(Annotations)
已索引的键值对,可
筛选
用于可检索项,如客户等级
元数据(Metadata)
额外细节,
未索引
用于提供上下文,但无法检索
用 trace ID 关联日志
每个追踪都有唯一的
trace ID
在
结构化日志
中包含该 trace ID
可从慢追踪跳转到对应日志行
日志与追踪合为一次调查
读服务地图定位瓶颈
先看
服务地图
,而非日志
找到
延迟
最高的节点
钻取其
追踪时间线
最长的 segment 就是嫌疑点
贯穿完整请求的追踪
API Gateway、Lambda 与下游调用均被
追踪
各自将
segment
写入同一追踪
一个 trace ID 连接日志与各段
每次请求皆具端到端可见性
让我们一起练习吧!
在 AWS 上部署应用
Preparing Video For Download...