我就现在WB_BF项目群里面提到的“根据测试脚本运行日志来看,bf运行了约31小时后又开始出现了api调用返回nginx的错误信息。之后,bf客户端也无法打开。”问题做一下说明,今天早上我在机器上复现了这一问题。针对于api调用会返回nginx的错误信息以及bf客户端无法打开的情况。
现在写一下排除问题的过程:
首先检查数据库字段的问题:
首先确保bf server启动正常,在服务均正常运行的情况下,在终端中输入命令:
docker ps -a
查看当前运行的服务,并找到brainframedatabase:
输入命令:
docker exec -it <数据库名称> bash
进入到brainframe_database_1数据库中 :
进入之后输入命令:
psql -d brainframe -U user
列出字段表,输入命令\d:
检测total_count、zone_alarm_count_condition、zone_alarm_rate_condition这三个表中的最大值,我这里没有数据,你们提取出来后查一下表中的最大值,进行数据库错误的排查,如图:
然后说一下bf server无法正常启动的问题:
情况一:
首先,当brainframe sever无法正常打开的情况下,可以通过重启的方式尝试进行解决,在终端中输入brainframe compose down命令,关闭server有关服务:
然后输入命令sudo brainframe compose up -d命令尝试恢复bf server:
或者直接输入命令 brainframe compose restart:
情况二:
当上述操作遇到了障碍,某个服务出现了error的情况,通过docker ps命令查看服务是否都正常,如果出现了问题,下面是一个简单分析问题的过程:
像之前在群中提到的可通过:
docker ps
命令来进行服务是否运行正常的判断,如果bf客户端起不来,会显示原因,或者直接就会在客户端中进行显示,如图:
这就是一个典型的bf无法启动的例子,问题的指向为 Port 80端口的冲突问题,具体在这里体现:
我们首先就将问题定位在了端口的问题上。
然后执行重启操作,发现问题在Creating brainframe_http_proxy_1上,并显示出端口已被占用。
可以通过命令过滤出正在使用80端口的应用程序,选择卸载或者杀死进程都可以,只要能让bf服务启动起来就好,
再说回WB_BF群里面提到的504 Gateway Time-out的问题:
根据群里面发的图片:
问题定位在504 gateway,504gateway错误的原因比较多,上面说的,首先我们可以重新启动服务。
第二种方案就是将nginx代理的配置超时时间调长,我不太了解brainframe api调用的一些详细内容,但是我认为可以看一下前段调用接口是否设置了time out? 接口的504报错需要优化接口性能,短期内不可行,可以执行过渡方案:
定时重启bf。