七月下旬更新速递丨 任务中心上线,福利加倍!技术干货持续放送

更新焦点: 重磅推出「任务中心」! 完成多样化任务,轻松赚取麦豆!技术分享、AI学习、实用素材持续上新,点击标题立即探索!

任务版块全新登场!多个任务等你完成,麦豆轻松拿,福利享不停!

>> 立即前往任务中心,开启你的成长之旅! <<

二、实战技巧分享

报表合计不用愁!全场景报表合计一键搞定指南》→从几个场景出发,带大家全方位了解如何在各类报表中实现合计。

数据轻松入库,高效分析即刻开启!》→详细介绍在 Smartbi 中将数据导入数据库的几种主要途径。

三、开发技能突破

第三方系统集成Smartbi资源→演示一些入门的前端集成示例,帮助快速了解如何进行前端集成。

AI每日一学

什么是训练集?什么是验证集?什么是测试集?》→ 讲解如何用三大数据集为AI打造"训练-调试-终测"的全流程闭环

Manus与其他AI智能体产品有什么区别?》→ AI界真·“实干家”Manus上线!告别“嘴炮”AI,围观智能体如何“动手”逆天改命!速戳

五、资源更新

浅色系质感背景图》→百搭质感背景,看见即呼吸,质感如微风。

六、直播上线

如何制作性能最佳的报表解锁性能最佳报表的实践技巧

麦粉社区
>
帖子详情

仪表盘导出失败?手把手教你揪出元凶!

干货分享 发表于 前天 13:42
发表于 前天 13:42

家人们,谁懂啊!这仪表盘的导出功能简直是个 “戏精”。点击导出,它先是假装很认真地工作,进度条慢悠悠地前进,给你一种一切顺利的假象。就在你满心期待时,它突然来个 “急转弯”,屏幕上突然弹个框,出现一堆代码,诶,导出失败了!这反转,谁受得了啊 !


今天咱就来好好唠唠,碰上这 “戏精” 搞破坏,都有哪些排查思路。虽说不一定能立马解决问题,但起码能帮咱一步步揪出原因,让这导出功能离乖乖听话更近一步。


 


仪表盘导出原理


开始大战之前,先让我们先了解了解,这个导出到底是个什么过程。导出引擎其实就是模拟浏览器打开资源的效果,然后截图后返回到前端,其中导出excel时,明细数据还是在bi这边服务器导出的。Excel中的截图还是一样的逻辑,具体可以看下面这个图。


 


image.png


 


相关的信息检查


别着急别着急,吾日三省吾身,导出引擎也有一些前置条件需要检查一下,包括以下这些内容,主要咱也遇到不少还没配置的情况不是,说不定配好了也就没下面的事了:


1、安装部署导出引擎。


2、系统选项-公共设置-服务器地址(没配置则仪表盘不会显示导出按钮),并且要确保测试连接通过。


3、bi服务器和导出引擎所在服务器需要确保可以相互通信。


 


排查思路


接下来就是我们的“武器库”了!让我们来看看有哪些。


1、访问导出引擎地址:若导出引擎是正常启动的话,访问应该如下图显示,实际环境记得改成对应的ip和端口:


 



 


如因为网络问题无法通过浏览器访问,可在bi服务器命令行curl进行访问,如下图,不通,那找网管大哥开个端口啥的,通了咱就下一步:


 



 


2、验证 http://ip:port/?url=http://ip:port 是否正常:正常会显示对应url显示内容的截图图片(温馨提示:记得改成现场实际导出引擎所在服务的ip和端口)


 



 


3、进一步验证简单的仪表盘资源测试导出功能:


如:新建一个仪表盘,只加文本组件,写静态文字,预览导出excel或png,是否正常。


若简单资源可以导出,复杂资源不能导出,可能是因为报表请求过大,需要在bi应用服务器tomcat的server.xml配置 maxPostSize = '-1' 不限制请求大小:


 


image.png


 



4、跳转情况:访问如下地址,验证对应资源强制在5秒(skipWaitforTime参数配置时间)截图看资源效果(再再再温馨提示:记得改成现场实际导出引擎所在服务的ip和端口)


http://ip:port/smartbi/vision/ExportHttpServlet?action=EXPORT_DASHBOARD_DIRECT&pageId=资源id&skipWaitforTime=5000&exportType=PNG&detectFailedSelector=.db-page__page-failed&detectLoadedSelector=.db-page__page-loaded&width=1024&height=768 


在上述链接中主要修改对应的smartbi服务器地址,对应的仪表盘资源id,以及skipWaitforTime的值,就可以返回导出引擎在打开仪表盘资源后的第N毫秒的截图,便于观察导出引擎打开仪表盘资源后,是否跳到其他异常页面(比如单点登录页面等),页面状态是否和预期一致。


 


5、组件刷新情况:访问报表资源,待刷新完成后,通过F12调试工具集Elements搜索db-page__page-loaded样式,若不能搜到,说明可能存在某个组件刷新异常,可以看Console控制台有无脚本异常报错信息。 如有,可将报错信息发回官方支持。


 


5、组件刷新情况:6、导出smartbi的系统日志:包含导出引擎ScreenshotLog日志,若旧版本没有也可直接在导出引擎服务器拿对应的日志文件,报错看得一头雾水的话那可以拿着日志找找外援,也就是官方支持了。


其中,日志获取方式参考:



  • Windows:.../SmartiExport/logs 日志名称为:NodejsHttpServer.log

  • Linux:执行命令行导出即可,命令参考:docker logs --tail 1000 smartbi-export >export-log.txt ####导出最后1000行日志到export-log.txt

  • 执行命令后会生成一个export-log.txt,此时可以从里面看到报错信息。


这里提到官方支持,那,找官方的时候要提供什么什么信息可以尽快抓到这只“妖精”呢?


当然是建议把上面1~6的排查情况都反馈一下,附上个截图,那要是验证到某一步已经不对劲了,那就反馈下验证到哪儿了,哪儿不对了,发个导出引擎的日志,最好再一起发一下资源啦。


这仗打赢不容易啊!那有没有实际战役来一次啊?别急别急,这不就有了。看!


 


来个案例


前方接到急报,领导要的那个仪表盘导出报错了!怎么办!莫慌,慌了就乱了阵脚了,咱可以先点查看栈信息提示看看有没有明显说是个啥子原因:


image.png


点开一开,诶,看不懂啥意思,搜搜我们在线的wiki也没有搜到报错:


image.png


那咋整?领导催了啊!这个时候可以先按照上面的步骤来一套。





  1. 基础测试




    • 新建简单仪表盘(仅文本组件),测试导出PNG。




    • ✔️ 成功 → 排除引擎问题,进入下一步。






  2. 请求体过大嫌疑




    • 现象:仅特定仪表盘导出失败(PNG/PDF均报错)。




    • 对比其他正常仪表盘,确认资源差异。






  3. 关键排查步骤




    • 检查导出配置(步骤4、5)无异常 → 查看仪表盘日志。




    • 日志线索:搜索ERROR,发现报错提示请求URL过长(请求体过大)。






  4. 解决方案




    • 按文档调整请求体限制(步骤3),重启服务后解决。






 


image.png


 


这就是个小案例了,还是可以按着步骤来一遍,也还是能检查出来为啥子。那要是来一遍还是不明确为啥,那就可以把报错日志啊,步骤查到哪儿啦,仪表盘的资源等导出发回找找官方支持啦。


可能有好奇的同学问,怎么导出资源,导出资源会不会有我的数据噢?有这些问题的同学们可以期待下一篇文章哦~

发表于 前天 20:39
点赞
回复

使用道具 举报

发表于 昨天 14:41
学习了
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2回帖数 1关注人数 131浏览人数
最后回复于:2025-8-13 10:20
快速回复 返回顶部 返回列表