善用接口管理功能排查接口问题

天行数据控制台提供了非常详尽的接口排错功能,其中接口管理菜单中的接口请求日志接口调用记录查询功能可以分别从协议层和应用层的角度帮助开发者迅速定位问题,还有接口请求点功能,能实时通过采样收集客户端最终用户的地理位置信息,并直接以动画形式标记在全球地图上。
 
一、接口请求日志

登录控制台,分别点击-接口管理 - 接口请求日志,在打开的页面中,可以详细的看到你在请求天行数据接口时的系统记录的客户端请求信息。从左到右分别为:当前的请求IP、下载耗时、INFO、HTTP状态码、数据量字节大小及请求时间。需要注意的是,这里的日志目前只记录了get方式的请求日志。

66666.png

 
1,请求IP为客户端ip,如果项目是纯前端(包含各类小程序)的项目调用,该IP就是最终用户的IP,由于各运营商共享IP资源,该IP不一定精准。而如果是后端调用,该IP一般为服务器的IP。结合IP白名单功能,你可以灵活控制接口调用权限。(参考文章:天行数据接口增加防盗刷功能
 
2,下载时间,单位为秒,从平台服务器接收到客户端请求到平台把完整数据返回给你的耗时,你可以结合自己的项目环境,进行一个项目总耗时的优化。
 
3,INFO,INFO列从左到右包含三段信息,第一段为urlParam即省去了api.tianapi.com主机地址后的完整路径URI和GET查询字符串信息。第二段为Referer请求来源,如果你的项目在前端(包含各类小程序),该来源就是发送请求的页面地址。第三列User-Agent请求UA,翻译过来就是用户代理的意思,是一个字符串信息,方便系统识别发起请求的用户代理软件类型、操作系统、软件开发商以及版本号等等相关信息。
 
4,HTTP状态码,其中200表示服务器成功处理了本次请求、301表示请求被重定向到其他地址,404表示请求目标不存在。请注意,HTTP状态码非常之多,大家可以自行搜索了解。这里的状态码是网络协议层的,和天行数据接口返回的API状态码完全无关。(参考文章:天行数据接口增加防盗刷功能
 
5,数据大小,即接口返回数据的字节大小。单位为B(字节),我们平常所说的KB意思就是千字节、MB就是兆字节,他们之间的进制单位是1024。
 
6,请求时间,该时间为系统接受到客服端请求时的时间。
 
二、接口调用记录
 
登录控制台,分别点击-接口管理 - 接口调用记录。这里的日志记录信息是应用层的,无论哪种方式请求都会记录。你每次向平台发起请求时调用了哪个接口,接口又具体返回了哪些数据给你,在这里都可以查询到。

8888.png

 
1,查看,点击查看按钮,可以在弹窗中查看接口返回的json数据包。

2,调用接口,你向平台发起请求时,具体调用了哪个接口,点击接口名称可以查看接口文档。

3,调用时间,此处的时间和接口请求日志里的请求时间不同,此处的时间为系统处理完你的客户端请求记录下本次日志时的时间。

4,状态码,请注意这里的状态码是应用层的状态码,是本平台自行设计的,方便开发者排查和定位问题。显示绿色的200,表示平台成功处理完请求后返回了数据到客户端。显示红色的非200代码,表示出现各种错误,具体大家可以参考接口文档的错误代码释义。完成正常的情况,这里和请求日志里的HTTP状态码应该都是200。只要有一方非200,必然存在某个问题。例如这里API状态码是200,请求日志里的相同请求的HTTP状态码是301,说明你的请求存在某个非致命的问题,虽然系统最终也正确处理了请求和返回了数据,但过程中发生了一次重定向跳转,在部分要求严格的环境下可能存在兼容问题。
 
5,Method请求动作,例如GET或者POST等。(参考文章:参考文章:天行数据接口增加防盗刷功能
 
6,urlParam请求路径,如果是get包含完整路径及查看字符串,如果是post和其他方式,可能只有路径信息URI。(参考文章:参考文章:天行数据接口增加防盗刷功能
 
7,返回内容,即接口返回给客户端的完整json数据包,超过255字符的部分可能会被丢弃。
 
三、接口实时请求点
 
这里的地图是通过接口请求日志中的请求IP分析并画出的,所以只有纯前端(包含各类小程序)的项目才有意义。黄色的动态圆点,是正在发生请求的客户端位置。例如从下图中可以看出,我的某个项目,最终用户基本都在鸡肚子这块,位于商丘的某个用户,正在发生访问动作。单击该动态圆点,可以以动画形式,迅速定位出具体的位置。

88888.png

 
灵活运用上面三个功能,可以为你开发项目增添助力,起到事半功倍效果。