1. 常见排查步骤
1.1 查看是否支持远程设计
场景描述:远程设计连接前,需要先确认远程的工程是否支持远程设计功能点。
解决方案:登录数据决策系统,查看http://IP:port/webroot/decision/remote/design/vt的返回值,若返回{"data":"success"},代表支持。
1.2 查看用户权限
场景描述:非超管账户远程设计连接失败。
解决方案:请联系超级管理员,为需要远程的用户分配「远程连接权限」和「远程设计模板权限」,详情请参见:给用户分配远程设计权限示例 。
1.3 查看JAR包版本
场景描述:本地设计器版本和远程JAR包版本不一致,会导致很多问题。详情请参见:服务器和设计器的JAR包不匹配 。
解决方案:远程连接时,若版本不匹配,会提示版本不一致,远程设计时部分功能将受影响。建议及时更新,保证服务器和设计器版本一致。
2. 31300101 远程设计无权限
问题简介:远程设计连接时,使用的决策系统账号没有远程连接权限,无法远程连接到服务器工程。
解决方案:请联系超级管理员,为需要远程的用户分配「远程连接权限」,详情请参见:给用户分配远程设计权限示例 。
3. 31300102 模板已锁定
3.1 远程设计模板占用(已被锁定)的判断机制
问题简介:打开了模板,重启服务器后打开远程工作目录发现模板已锁定,但只有一个人在编辑。
原因分析:模板锁的释放逻辑为每1分钟清理下,判断是否释放的前提是该模板在1分钟半中没有其他人操作。
解决方案:重启服务器,或者等一段时间会被释放。
3.2 模板已锁定
问题简介:远程设计打开一张模板时,提示「模板已锁定」。
原因分析:用户A和用户B同时远程连接了该工程,用户A打开了X模板。用户B打开X模板时,提示模板已锁定。
解决方案:请耐心等待其他用户完成模板编辑后再尝试。
4. 11300104 远程设计连接失败
4.1 报错 Response HTTP/1.1 404 by
问题简介:远程设计连接时报错:com.fr.workspace.engine.exception.WorkspaceConnectionException: Response HTTP/1.1 404 by http://IP:端口号/webroot/decision
解决方案:卸载重装设计器。
4.2 报错 The SolidRecordExecutor should be register first
问题简介:远程设计连接时报错:The SolidRecordExecutor should be register first
原因分析:
服务器没有安装云端运维插件,不影响功能的正常使用。
这个是服务器上埋点功能相关的报错 只不过是通过远程设计日志推送推到设计器上展示,实际上与远程设计功能本身无关。
4.3 报错 Caused by: java.net.UnknownHostException: ??: ??
问题简介:远程设计连接时报错:Caused by: java.net.UnknownHostException: ??: ??
原因分析:连接远程环境时需要获取本机 IP,如果主机名乱码会导致获取本机 IP 失败。
排查步骤:
1)打开 cmd 输入 hostname 并回车,查看主机名 hostname 是否为乱码。
2)若 hostname 为乱码,在「控制面板>系统与安全>系统」中查看计算机名称是否为中文或者特殊符号。
解决方案1:若 hostname 为乱码,在「控制面板>时钟和区域」面板中,点击「区域>管理>更改系统区域设置」,设置计算机适配语言为中文即可。如下图所示:
解决方案2:若计算机名称为中文或者特殊符号。
在「控制面板>系统与安全>系统」面板中。点击「更改设置」,修改计算机名称为英文即可。如下图所示:
4.4 远程设计偶发连接失败
问题简介:远程设计连接偶发出现连接失败的情况,设计器页面会出现远程主机强迫关闭了一个现有的连接,就无法连接到服务器了。
原因分析:Tomcat中配置了一个连接超时时间connectionTimeout,如果在这个时间之后客户端还未得到服务器端的响应的话,就会主动断开连接,即出现上述异常了。
解决方案:Tomcat中默认的连接超时时间是20秒,一般最好设置为60秒,从而避免后台程序处理时间长导致连接断开,修改如下:connectionTimeout="60000"。
4.5 远程设计频繁断开
问题简介:
远程设计,频繁断开。
报错:网络连接异常:websocket已断开。如下图所示:
排查方案:
1)管理员登录数据决策系统,点击「管理系统>智能运维>内存管理」,查看「内存预警」Tab 下「内存利用率和「CPU 利用率」两张图是否显示空白。
若显示空白,则说明 WebSocket 连接失败,请参考文档配置 WebSocket 端口:Websocket 连接失败
2)检查网络是否连通:ping ip地址是否联通、检查vpn是否有问题、检查网络状况。
5. 11300105 远程设计用户名密码错误
5.1 账号密码错误
原因分析:远程设计连接时,使用的决策系统账号密码不正确。
解决方案:使用和远程设计连接一致的地址、账号、密码,在浏览器进行访问登录,检查是否能正常登录。如无法正常登录,请联系管理员确认自己的账号密码是否正确。
5.2 无远程连接权限
原因分析:远程设计连接时,填写的用户名和密码,没有远程设计的权限,需要联系管理员添加。
解决方案:请联系超级管理员,为需要远程的用户分配「远程连接权限」,详情请参见:给用户分配远程设计权限示例 。
5.3 PC端使用用户限制
原因分析:系统开启了「PC端使用用户」限制,但是远程设计使用的决策系统账号密码不在「PC端使用用户」。
解决方案:请联系管理员,将远程设计使用的决策系统账号添加到「PC端使用用户」中。
6. 31300106 远程设计无权限修改配置
6.1 没有权限编辑/保存模板
问题简介:用户在远程设计时,试图编辑/保存没有权限的模板。
解决方案:请联系超级管理员,为需要远程的用户分配「远程设计模板权限」和「数据连接权限」,详情请参见:给用户分配远程设计权限示例 。
6.2 找不到模板
排查步骤:
1)linux环境,检查编码,中文字体
2)查看注册功能点,是否有这个功能点
3)检查远程设计用户权限
4)检查模板权限
5)检查模板所属的用户组
6.3 编辑模板保存失败
问题简介:远程服务器保存模板时,报错:"xxx.cpt" is locked by user admin with client xxx,client后的编号和设计器编号一致,但是远程设计和激活码是不限制的。
原因分析:
发送的请求中只要包含了特定字符串,那么服务器在读取的时候就会发生java.io.IOException: Connection reset by peer 导致拿不到。
这是服务器网络问题,是某种 SQL 防注入安全策略。
解决方案:请服务器网络运维相关负责人,修改网络安全拦截策略,将/webroot/decision/remote/design/*相关请求加入白名单。
6.4 保存模板没有权限
问题简介:使用超级管理员账号远程设计,保存模板时出现以下现象:
保存模板,提示没有权限
子目录有查看权限但不显示
模板已保存在服务器环境,但依然提示“请将模板保存在当前运行环境”
日志中出现报错:NoHttpResponseException
原因分析:服务端断开了http连接,但并没有通知客户端,下次请求该服务时httpclient继续使用该连接导致报错
解决方案:
调整tomcat配置:修改 Tomcat 的 server.xml 的 connectionTimeout ,调大后重启生效。
7. 11300107 远程设计功能未注册
问题简介:远程的工程未购买远程设计功能点。
排查步骤:登录数据决策系统,查看http://IP:port/webroot/decision/remote/design/vt的返回值,若返回{"data":"success"},代表支持。
解决方案:请联系帆软销售,增购远程设计功能点。
8. 11300108 证书域名信息错误
8.1 什么时候需要证书
证书来源 | 是否需要添加证书 |
---|---|
CA签发的证书 | 仅勾选https即可,无需添加证书 |
通过keytool等工具生成的自签名证书 | 勾选https后,需要添加证书作为信任 |
8.2 不支持免费ssl证书
问题简介:使用了阿里云的免费ssl证书,格式是pfx,配置好后直接访问地址可以进入决策平台,但是远程设计连接失败。
解决方案:不支持免费的ssl证书,可以先转成.keystore证书。
8.3 不支持crt证书
问题简介:远程设计不支持 crt 证书。
解决方案:可以将crt转换成jks的证书。
8.4 远程设计启用https无法连接bi服务器
问题简介:根据文档「配置 SSL 证书实现 HTTPS 访问」后,CAS 单点登录正常,但是远程设计连接服务器无法连接成功。
原因分析:客户本机的hosts文件没有配置域名导致无法本地通过域名访问到服务器。
解决方案:将本机的hosts文件配置好正确的域名之后,重启服务之后本地正常远程设计连接。
8.5 报错 result does not conform to JSON format
问题简介:远程设计连接时报错:Caused by: java.lang.RuntimeException: result does not conform to JSON format!
原因分析:
远程连接登录响应返回的不是json格式数据。
请查看是不是配置了单点登录,如果配置了单点,需要过滤远程设计的请求 /remote/design/*
解决方案:详情请参见:10.0集成CAS后的远程设计
8.6 报错 doesn't match any of the subject alternative names
远程设计连接时报错:doesn't match any of the subject alternative names
8.6.1 证书未绑定域名
原因分析:若报错信息后面跟随的列表为空,说明证书生成时没有绑定域名。
解决方案1:重新生成证书,绑定域名,连接成功。以keytool生成自签名证书为例,下图所示即是绑定的域名:
解决方案2:若更换证书代价较大或者其他原因导致不能绑定域名,在设计器%FR_HOME%\bin\designer.vmoptions文件中添加一行,重启设计器即可:
-Dfine.remote.design.skipHostnameVerifier=true
8.6.2 证书和远程设计的域名不一致
原因分析:远程设计配置时使用的域名不是证书生成时填写的域名。
解决方案:远程设计配置时,输入与证书一致的域名。
8.6.3 IP和域名未映射
原因分析:自签名证书使用时,设计器本地电脑没有在host文件中做ip与域名之间的映射
解决方案:以windows为例,在设计器所在电脑的host文件中添加 ip 域名的映射 如下:
8.7 报错 Unrecognized SSL message, plaintext connection?
问题简介:远程设计连接时报错:Unrecognized SSL message, plaintext connection?
解决方案:端口错误,提供的不是 https 服务的端口,详情请参见:请求遇到异常分析
8.8 报错 unable to find valid certification path to requested target
问题简介:存在以下关键报错信息
SSLHandshakeException sun.security.validator.ValidatorException: PKIX path building failed
SunCertPathBuilderException: unable to find valid certification path to requested target
排查步骤1:参考 8.1 节,确认是否需要添加证书,若无需添加,删除证书即可。
排查步骤2:确认添加的证书是否正确,比如服务器用nginx做了代理,此时远程设计添加的证书应该是nginx使用的https证书。
排查步骤3:尝试添加证书到设计器jre的证书库中。详情请参见:https://www.cnblogs.com/chenxushu/p/7340263.html
排查步骤4:单点也做了https,服务器过滤器前后位置放置错误。
8.9 报错 Tag mismatch
问题简介:远程设计连接时报错:SSLHandshakeException Tag mismatch
解决方案:这是由于jdk bug引起的,请将工程所使用的jdk版本升级。
9. 11300113 不匹配的远程设计版本
场景描述:本地设计器版本和远程JAR包版本不一致,会导致很多问题。详情请参见:服务器和设计器的JAR包不匹配 。
解决方案:建议及时更新,保证服务器和设计器版本一致。
10. 11300114 模板已被超管解除锁定,保存失败,建议另存模板
场景描述:远程设计时,若模板正在被编辑,支持超管解锁模板,正在编辑的用户可另行备份模板。
解决方案:另存模板即可。
11. 11300116 远程设计主机位置不支持重定向
远程连接时,若包含get请求、post请求,禁止重定向,需要修改主机位置。
11.1 配置了虚拟目录的工程无法连接
问题简介:用户工程做了虚拟目录配置,配置远程设计连接是无法连接。
解决方案:在虚拟目录后面(即:Servlet处)加了/desicion,连接成功。
11.2 内网环境无法远程设计连接服务器
问题简介:
没有做重定向和拦截设置,外网映射就正常连接,改成VPN内网之后客户端远程设计就出现连接失败。
日志:failed: Connection timed out: connect
警告:com.fr.workspace.engine.exception.WorkspaceConnectionException: remote design connect failure
解决方案:
1)VPN适配的问题,开启VPN里面客户端连接的所有的权限即可。
2)深信服VPN ,需要将服务器 IP 和 端口设置成 L3VPN资源,设计器才能远程连接访问。
12. 11300117 远程服务器网络配置存在问题
12.1 请求被服务器网络拦截
问题简介:切换远程目录失败 ,且设计器日志中有类似报错:java.util.zip.ZipException: Not in GZIP format
原因分析:远程设计请求被服务器网络拦截了。
解决方案:请服务器网络运维相关负责人,修改网络安全拦截策略,将/webroot/decision/remote/design/*相关请求加入白名单。
12.2 服务器已关闭
问题简介:远程连接测试是通的,切换到远程设计后一直会弹出提示框,提示服务器已关闭(实际是没有关闭的)。
解决方案:远程设计要加上端口,如果是做了直接访问 ip 的设置,那一般是默认的 80 端口。
12.3 Nginx 504 Gateway Time-out
问题简介:远程设计出现切换慢/操作卡,且设计器日志中有类似报错:
com.fr.workspace.engine.exception.WorkspaceConnectionException: Response HTTP/1.1 504 Gateway Time-out by 10.1.1.96:80
原因分析:
Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,
简单来说就是没有请求到可以执行的PHP-CGI。
Nginx 504 Gateway Time-out一般与Nginx.conf的设置有关。
解决方案:
调整nginx.conf参数 重启nginx生效。默认的fastcgi进程响应的缓冲区是8K,可以调大以下参数:
fastcgi_buffer_size 128k
fastcgi_buffers 8 128k
fastcgi_busy_buffers_size 由 128K 改为 256K
fastcgi_temp_file_write_size 由 128K 改为 256K
13. 远程设计数据连接出错
13.1 数据连接失败
问题简介:远程设计时,数据连接失败,或者数据连接测试连接成功,但是新建数据库查询时显示失败。
解决方案:检查服务器和设计器jar包是否一致,保持一致即可。
13.2 数据连接密码为无
问题简介:远程设计时,现有的数据连接密码丢失,无法连接。重新填写密码后连接,都会报错密码为无。设计器日志报错Decrypt failed:Decryption error
解决方案:工程有秘钥种子文件,在config下面,如default_alpha、default beta、default gamma,删掉即可。
13.3 远程设计无法看到 Excel 文件
问题简介:远程设计无法看到 Excel 文件,这是需求,暂时无法支撑。
13.4 远程设计选不了json数据集
问题简介:本地可以正常选到json数据集的连接,但是远程设计下选不到。
解决方案:关闭 远程设计数据连接权限控制 。
14. 集群远程设计出错
14.1 模板打开是新建的空白模板
问题简介:远程设计所有模板都无法打开,所有模板打开是新建的空白模板
原因分析:redis 存在脏数据
解决方案:清空redis,如果是使用redis集群,每个节点都需要清空
14.2 模板无法保存
问题简介:远程设计时出现模板保存不上,且服务器日志中有以下类似报错:java.lang.NullPointerException
原因分析:redis 存在脏数据
解决方案:清空redis,如果是使用redis集群,每个节点都需要清空
14.3 切换远程目录卡慢,打开报表卡死
问题简介:远程设计目录切换速度很慢,打开服务器上模板直接卡死。
排查方向:
1)集群环境,检查 nginx 等配置是否正确,调整 nginx 的参数。
2)查看 redis 状态服务器是否异常,重启 redis 之后再次远程。
14.4 集群环境远程设计连接LogDB查询报错
问题简介:远程设计连接后,数据集查询 LogDB 中的表,输出 SQL 时报错。
原因分析:Swift 取数限制导致。
解决方案:
1)删除集群节点中旧的 LogDB。
2)清空 FineDB 中的 fine_swift_seg_location 和 fine_swift_segments 两张表。
3)重启集群节点。