页面树结构
转至元数据结尾
转至元数据起始

Smartbi导出引擎(Smartbi Export)主要用于自助仪表盘报表的导出,导出格式包含:PNG、PDF、Excel。

导出引擎安装包请联系Smartbi官方支持获取。


导出引擎概述

V9.3及之后版本支持自助仪表盘的导出,该功能正常使用的前提需要部署好导出引擎服务。
V9.3及之后的版本若通过exe执行文件安装的环境,默认自动配置好导出引擎;但V9.3之前的版本(无论是自动安装还是手工部署),需先将war包更新到V9.3版本,再按照如下方法进行导出引擎的部署。

系统要求

服务器要求

操作系统Linux内核3.10以上
CPU8核
内存16G及以上
磁盘200G以上

安装权限要求 

安装时用root用户运行或使用具有sudo权限的用户运行脚本,推荐使用root用户安装。

由于 CentOS 6 缺少安装所需的依赖包,因此在 CentOS 6 不能安装;建议使用CentOS 7安装。

Smartbi版本要求

部署导出引擎的前提:smartbi.war包必须是下图版本及之后版本才可以。

防火墙配置 

为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用SmartbiExport使用到的相关端口。

1. 关闭防火墙

临时关闭防火墙(立即生效)

systemctl stop firewalld

永久关闭防火墙(重启后生效)

systemctl disable firewalld

查看防火墙状态

systemctl status firewalld

2. 开启防火墙

相关服务及端口对照表

服务名

端口

smartbi-export

3003

如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口

开启导出引擎端口:3003

firewall-cmd --permanent --add-port=3003/tcp firewall-cmd --reload firewall-cmd --list-all

关闭selinux 

临时关闭selinux,立即生效,不需要重启服务器。

setenforce 0

永久关闭selinux,修改完配置后需要重启服务器才能生效

sed -i 's/=enforcing/=disabled/g'  /etc/selinux/config

由于每次操作docker,都需要关闭selinux才能进行。建议永久关闭selinux,方便后续的维护使用。

部署导出引擎

1. 安装包准备

获取导出引擎安装包,并上传到服务器中。

tar -zxvf Smartbi_Export.tar.gz

2. 安装Docker

注:docker安装完成之后会创建默认的docker0网络进行内部通讯,docker0 默认的IP地址是172.17.0.1/16网段会和某些云服务有IP冲突,需要进行如下调整

新环境未安装docker,如果需要修改docker0网段
在导出引擎的安装包里,找到docker_package/docker-config/docker.service文件,增加 --bip 150.31.0.1/16 (具体ip段可以依据项目情况调整)

正常安装docker

# cd Smartbi_Export
# chmod +x *.sh 
# ./install_docker.sh

当默认docker网卡地址跟实际的ip网段冲突时可以修改docker0虚拟网卡地址(一般情况下不需要修改)

修改/usr/lib/systemd/system/docker.service 文件中 添加 --bip 150.31.0.1/16 (具体ip段可以依据项目情况调整)

重新加载系统服务:systemctl daemon-reload
重启docker服务:systemctl restart docker

3. 启动导出引擎服务 

./start_SmartbiExport.sh

4. 修改默认端口(可选)

导出引擎默认端口为3003。如果需要修改为其他端口,方法如下:
# vi smartbi_data/smartbi-export/conf.js 
修改内容:3003 修改为 6006

5. 配置导出引擎 

登陆Smartbi,选择 系统运维 > 系统选项 > 公共设置 > 服务器地址。

Smartbi服务器URL:http://smartbi访问地址:端口/smartbi

导出引擎URL地址:http://导出引擎服务器地址:3003

运维操作

1. 重启导出引擎

docker restart smartbi-export

2. 更新导出引擎

① 仅更新导出引擎配置文件(小版本升级)

停止导出引擎

docker stop smartbi-export

进入<导出引擎部署目录>/Smartbi_Export/smartbi_data/smartbi-export

备份需要更新的配置文件,比如:server.js文件

mv server.js server-bk.js

上传新的server.js文件,重新启动导出引擎

docker start smartbi-export

② 更新导出引擎配置文件及主程序(增加新功能)

1、更新介质可以联系Smartbi官方支持获取。

2、导出引擎是从2022年9月9号之前的版本更新到2022年9月9号之后的版本的,需要更新一次node_modules文件

3、node_modules.tar.gz是压缩文件,由于windows环境路径有长度限制,所以需要上传到Linux服务器上再进行解压操作。

停止导出引擎

docker stop smartbi-export

进入<导出引擎部署目录>/Smartbi_Export/smartbi_data/smartbi-export

备份导出引擎主程序以及配置文件

mv conf.js conf-bk.js mv server.js server-bk.js mv monitor.js monitor-bk.js mv node_modules node_modules-bk

上传新的配置文件(server.js,conf.js,monitor)及node_modules文件,重新启动导出引擎

1、node_modules.tar.gz是压缩文件,需要在Linux环境执行 tar  -zxvf node_modules.tar.gz 解压缩。

2、注意替换文件的目录层级,需要和之前保持一致。

docker start smartbi-export

3. 停止导出引擎

cd 导出引擎部署目录 ./stop_SmartbiExport.sh 或者 docker stop smartbi-export

4. 卸载导出引擎 

cd 导出引擎部署目录 ./unstall_SmartbiExport.sh

5. 查看日志

docker logs --tail 100 smartbi-export ####查看最后100行的日志

6.导出日志

docker logs --tail 1000 smartbi-export >export-log.txt ####导出最后1000行日志到export-log.txt

注意事项

自助仪表盘的导出,在实际操作中会有一些限制条件,例如:

1、不支持将分页控件、Tab页控件、滚动条中所展示的图表全部内容都进行导出。因为自助仪表盘的导出的结果为静态,相当于网页快照,无法对其进行交互操作。

① 分页控件对表格数据设置分页后,导出方式为“png”、“pdf”的情况下,只能导出第一页的内容,即导出仪表盘的快照。

② Tab控件:V9.7及后续版本,暂不支持将tab页单独导出。

③ 滚动条:有报表滚动条存在的时候,无法将滚动条剩余部分的图表内容一起导出。

2、导出方式为“excel”时,会将各图表相应的全部数据导出在以“图表标题”命名的sheet页内。

如下图,仪表盘包含四个图表组件,导出的excel则包含仪表盘的快照和四个图表组件相应的全部数据。

3、URL控件链接内部资源,导出Excel时,只能支持导出截图,不支持导出数据。


3、导出引擎导出超时问题

如果导出引擎在导出时出现4分钟就超时问题,可能是导出引擎版本问题,可以尝试更新最新的导出引擎版版本。