本节我们将在OpenSearch中查看Trace。我们将通过trace来定位微服务中存在问题的模块
WEB页面的入口通过LoadBalancer
类型的service来暴露:
kubectl get svc -nclient-service | awk '{print $4}' | tail -n1
首先进入这个页面,点击添加商品到购物车,并完成Step1到Step4的购买过程。不断重复这四个过程,生成几条购买记录,其中的几条购物记录可以在中间取消订单:
在OpenSearch控制台中,进入Observability
页面:
![image-20230826173147416](/Users/kongpingfan/Library/Application Support/typora-user-images/image-20230826173147416.png)
点击Create application
:
输入应用的名称及描述:
展开Log source
部分,在Base Query
中输入source = sample_app_logs
:
在Service & entities
部分,选择所有的服务:
其他保持默认,点击Create
:
创建完成后,自动进入test-app
这个应用的Observability页面。在Overview部分,可以查看每个trace group的延迟情况、错误率:
在Service部分,能看到每个服务的情况:
在Trace & Spans
部分,点击某个trace id,能够查看具体的信息:
这些信息包括Time spent by service
和Spans
目前我们收到用户的反馈,整个购物的流程经常出现报错。现在我们将通过trace来定位具体是哪个模块出了问题
进入之前的Overview
页面,查看Application Composition Map
。在Error Rate
我们看到是payment
这个模块颜色最深,表示它的出错率最高,点击它:
进入到Traces & Spans
页面,里面展示了跟payment
相关的所有trace: