简介¶
为了满足快速迭代和流量的激增,电商系统常常使用微服务的方式来进行开发部署,某个微服务系统性能瓶颈直接会影响到客户的购物体验,特别是出现了支付异常、订单取消后,我们要观测订单的整个链路,梳理出实时已支付的订单数量、异常订单数量、取消订单数量,用这些指标帮助我们分析业务瓶颈是很有帮助的。本最佳实践是基于 Java 的一个分布式电商平台,结合观测云用订单的维度来观测订单成功支付的数量,实时剖析出未成功支付的原因。
前置条件¶
安装 Datakit¶
数据接入¶
订单数据接入观测云的方式是通过 log ,微服务输出日志文件到云服务器,在这台云服务器上安装 DataKit ,并开通日志采集,指定日志文件的路径。为了解析出日志文件中的订单号、下单人、订单状态,需要编写Pipeline 把日志文件中的订单号、下单人、订单状态做切割。
开启 Input¶
1、 开启 ddtrace
cd /usr/local/datakit/conf.d/ddtrace
cp ddtrace.conf.sample ddtrace.conf
2、 编写 Pipeline
cd /usr/local/datakit/pipeline
vi log_book_order.p
其中 %{DATA:username} 是下单人,%{DATA:order_no} 是订单号,%{DATA:order_status} 是订单状态。
#2021-12-22 10:09:53.443 [http-nio-7001-exec-7] INFO c.d.s.b.s.i.OrderServiceImpl - [createOrder,164] - ecs009-book-order 7547183777837932733 2227975860088333788 test d6a3337d-ff82-4b00-9b4d-c07fb00c0cfb - 用户:test 已下单,订单号: d6a3337d-ff82-4b00-9b4d-c07fb00c0cfb
grok(_, "%{TIMESTAMP_ISO8601:time} %{NOTSPACE:thread_name} %{LOGLEVEL:status}%{SPACE}%{NOTSPACE:class_name} - \\[%{NOTSPACE:method_name},%{NUMBER:line}\\] - %{DATA:service1} %{DATA:trace_id} %{DATA:span_id} %{DATA:username} %

本文介绍了一个基于Java的分布式电商平台如何利用观测云进行订单监控。通过安装Datakit并配置日志采集,解析订单日志,监控订单支付状态,包括成功支付、异常和取消订单的数量。此外,还涉及了Logback的日志输出、MDC机制、前端打包、Nginx部署以及使用APM工具追踪订单服务性能。通过订单监控视图,可以实时分析业务瓶颈,提升客户购物体验。
最低0.47元/天 解锁文章
466

被折叠的 条评论
为什么被折叠?



