针对项目中经常遇到的无法访问问题排查的思路整理及相关工具的介绍。
无法访问问题一般分为以下几种情况,不同情况排查的思路略有差异,需要区别对待。
说明:一般来说首次安装部署时遇到这种情况比较多,一般都是由于安全要求导致的端口没开放导致的,此时的排查思路主要针对于网络或端口进行排查。
说明:如果之前正常突然间不正常了,一般都是由于应用挂了或者请求太多被操作系统丢弃导致,此时的排查思路主要针对服务器端应用状态进行排查。
在服务器断通过curl命令查看请求是否正常,在服务器端执行如下命令。
下方以smartbi应用为例,其他各组件连通性测试详见文档最后部分说明。
命令:curl -iL http://10.10.101.79:8017/smartbi/vision/noop.jsp
如果已经确定服务本身正常,则需要验证当前客户端到服务器直接网络是否是联通的,在客户端执行如下命令。
命令:ping 10.10.101.79 -t
说明:通过ping命令重点查看响应时间和TTL 来判断网络情况
1)TTL可以判断出发起网络请求服务器到目标服务器之间经过几次跳转(Windows 是128,Linux 是 64),每增加一个网络设备则TTL减1,从而判断是否有未知的安全设备。
2)通过响应时间来判断网络质量,是否比较快。
,在客户端执行如下命令
命令1:telnet 10.10.101.79 7017
如果没有安装telnet命令,可以使用ssh 命令测试端口连通性。
命令2:ssh -v -p 7017 10.10.101.79
通过命令行的方式模拟浏览器端请求,排除因为浏览器问题导致的无法访问问题,需要在客户端执行如下命令。
下方以smartbi应用为例,其他各组件连通性测试详见文档最后部分说明。
命令:curl -iL http://10.10.101.79:8017/smartbi/vision/noop.jsp
命令:curl -i http://10.10.101.79:18080/smartbi/vision/noop.jsp
命令:curl -i http://10.10.101.79:18081/smartbiolap/ping.jsp
命令:curl -i http://10.10.101.79:3003/test
命令:curl -i http://10.10.101.79:8899/api/v1/server/check
命令:curl -i http://10.10.101.79:8123
命令:curl -iL http://10.10.101.79:6688/
如果能联通则会返回服务器版本信息(比如:8.0.3),如果无法联通则会返回连接拒绝