用户投诉处理
基调听云应用与微服务用户溯源功能用于追踪指定用户的事务操作记录,快速定位性能问题或报错,避免被用户投诉所困扰。
前提条件
默认情况下,基调听云应用与微服务探针是不会采集用户标识的。要通过用户溯源功能定位问题,需要先进行用户标识的采集配置。
- 登录应用与微服务控制台。
- 在左侧导航栏中单击应用与微服务>配置,默认进入系统配置页面。
单击页面中的用户溯源页签,添加数据源。单击右上角的添加数据源按钮,在下拉列表中选择用户标识的获取方式。
- Java method parameter(s):从方法参数获取,该方式为默认方式。通过该方式获取参数会自动生成一条自定义嵌码,并自动执行,显示在自定义嵌码页签中。在Class搜索框中输入类名的关键字,找到类名后,在Method部分选择要获取用户标识参数所在的方法,然后选择要获取的参数。
- p1:xxxx或p2:xxxx代表当前方法的参数,按方法入参的顺序排序。
- this:当前Class的this对象。
- Getter Chain:方法调用链,可以获取对象中一个具体的值,例如getPerson().getName()。
- Web request query parameter:从请求的URL参数获取。在文本框中输入代表用户信息的参数名称。
HTTP request header:从HTTP请求头中的参数获取。在文本框中输入代表用户信息的参数名称。
HTTP post parameter:从HTTP请求体中的参数获取。在文本框中输入代表用户信息的参数名称。
HTTP response header:从HTTP响应头中的参数获取。在文本框中输入代表用户信息的参数名称。
Servlet session attribure:从Session中保存用户标识的参数获取。在Key文本框中输入代表用户信息的属性名称。如果需要获取对象中一个具体的值,请填写Getter Chain方法调用链,例如getPerson().getName()。
Web request path:从请求URL的URI部分获取。
HTTP cookie:从Cookie中保存用户标识的参数获取。在文本框中输入代表用户信息的参数名称。
单击保存配置,完成数据源的添加。
新添加的数据源将会显示在列表的最上方,即优先级最高。为了能顺利地采集到用户标识,您可以多配置几个数据源,即用户标识的获取来源。单击顺序列中的箭头可调整数据源的优先级,排列越靠上,优先级越高。应用与微服务会按照优先级依次匹配数据源获取用户标识。
诊断步骤
本案例是一个用户标识为“customer”的用户投诉,该用户在尝试登录某平台时,验证码刷不出来,导致一直无法登录。请按照以下步骤进行排查。
登录悟空平台,依次单击应用与微服务>事务追踪,在搜索区域的用户标识输入框中输入用户标识“customer”,进行搜索。
单击失败状态的事务追踪记录。
作为该平台的研发,知道此validate-code确实是验证码相关的。
在事务的追踪详情页面中,单击异常页签,查看异常或错误的堆栈信息。
如果您是通过配置的Java method方式来采集用户标识,您还可以进入事务页面,单击目标事务,选择响应时间页签,在事务分解表格中查看该方法的性能信息,性能分类显示为“Custom”。在事务追踪页签中,可单击指定事务,在代码堆栈中查看该方法的性能信息。
至此,针对该用户的投诉已找到根因,是由于磁盘不足导致无法写图片,进而导致验证码刷不出来。