Workbench是一个可创建多个连接的图形化数据库管理工具,用于管理IoTDB,提供元数据的可视化与管理、数据的增删改查以及权限控制等功能。Workbench不仅满足专业开发人员的所有需求,同时简洁友好的界面设计对初学者来说也易于上手。
以下是在Linux系统上安装图形化数据库管理软件的一般步骤。如果你在安装过程中遇到任何问题,你可以参考文档或向软件供应商或技术支持团队寻求帮助。
环境要求:JDK8及以上;Nginx环境。
(Nginx安装教程:https://nginx.org/en/docs/install.html)
1、下载并解压软件。第一步是从官方网站或一个可信赖的来源下载软件,下载地址为https://www.timecho.com/product。 软件号不同组件也不同,应包含前端组件“frontend”与后端组件“backend”。将“frontend”压缩包解压,得到名为“dist”的文件。

2、配置Nginx。复制以下代码到“Nginx.conf”配置文件对应位置。注意需修改项目路径。数据看板地址、端口和数据库可在后端组件“backend”文件夹中的application-prod.properties文件修改。
# 放入 对应include目录内,可能为:vhost、conf.d server { listen 8080; # 端口号,自定义 # server_name /; root /opt/workbench/dist; # 项目路径 请修改为解压后的文件夹“dist”所在目录 index index.html index.htm; # redirect server error pages to the static page /50x.html # error_page 500 503 504 /50x.html; # 设置客户端最大可发送的body大小 client_max_body_size 400m; # 解决504 Gateway Timeout错误 # Proxy方式:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass proxy_buffers 8 128k; proxy_connect_timeout 3000; proxy_read_timeout 3000; proxy_send_timeout 3000; # 发送超时设置,两次发送间隔超过报错 send_timeout 3000; # vue router配置 location / { try_files $uri $uri/ /index.html; } # 正式版配置 location /api { # proxy_pass http://${BACKEND_ADDRESS}/api; proxy_pass http://127.0.0.1:9090/api; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
3、启动Nginx。
4、启动后端服务。输入指令:
java -jar workbench-1.0.0.jar
或:
nohup java -jar workbench-1.0.0.jar \>/dev/null 2\>&1 &
默认端口为 9090;
5、访问web界面。默认地址为IP:8080。
默认用户名为root,密码为123456。用户名必须由字母、数字、下划线组成,不能以数字和下划线开始,须大于等于4个字符,密码必须大于等于6位。点击"文A"可切换语言,有中文、英文可选。

主界面
主界面由操作栏、导航栏、工具栏和几个窗格组成。

1、连接操作栏
可以新建数据库的连接或者数据库的查询。
2、对象窗格
对象窗格显示已连接的数据库实例,采用树状结构设计,点击出现子节点可以方便地处理数据库和它们管理的对象,展示的最低层级是设备。

3、导航栏
导航栏可选择"数据库管理“、”监控管理“、”操作日志“、”数据看板"。
4、状态栏
状态栏显示当前选项下的状态信息,当选中"数据库管理"时,状态栏显示数据库的在线情况、IP、端口、服务器状态及其存储组、设备、物理量的数量信息。

当选"监控管理"时,状态栏显示数据库的在线情况、IP、端口、服务器状态、数据库版本、激活信息及到期时间。z注:"数据库版本"处的图标表示企业版或开源版,Workbench部分功能在开源版上无法使用。

5、操作列
操作列可以选择任意选项进行操作。
6、信息窗格
信息窗格显示对象的详细信息。
首先用连接窗口创建一个或多个连接。点击"数据连接"创建新建连接。

在弹出的连接窗口输入需要填写的信息,其中数据连接名称必须大于等于3个字符。然后点击"连接测试“,显示”连接测试通过"则表示正确连接,点击确定即可新建连接。

若要修改连接情况,则可在状态栏右侧点"编辑"选项即可修改数据库连接信息。

白名单
企业版IoTDB可以通过添加白名单列表来设置允许访问IoTDB的IP。使用开源版IoTDB连接Workbench无法使用该功能。
从导航栏选择"数据库管理“->”白名单"可查看已添加的白名单IP列表。

点击"白名单“可新增白名单IP,点击”编辑“/”删除"可修改白名单列表的IP信息。
权限管理
Workbench提供强大的工具以管理服务器用户帐号和数据库对象的权限。在操作列中点击 "数据库用户管理"或 "数据库角色管理"来打开用户或角色的对象列表。

新增用户。选择"数据库用户管理“->”用户账号+"可新增用户,按要求填写用户名和密码即可,可以为用户添加角色信息。

添加权限。权限可分为数据管理权限(如对数据进行增删改查)以及权限管理权限(用户、角色的创建与删除,权限的赋予与撤销等)。选择"数据库用户管理“->”数据管理权限“->”添加权限“可为用户添加数据管理权限。在已添加的权限处可以选择”编辑“或”删除"以修改权限信息。

弹出的界面可以选择权限作用的粒度以及具体权限内容。注意只有勾选【查询数据】权限和【查看用户】权限,其他权限才能在Workbench中生效查看。

选择"数据库用户管理“->”权限管理权限“勾选信息窗格中具体的权限信息,点击”保存"可为用户添加权限管理权限。

权限预览。选择"数据库用户管理“->”数据权限预览"可预览该用户名下所有的数据权限。注:该功能仅支持企业版。
导入导出工具可将CSV格式的文件批量导入或导出IoTDB。
批量导入
批量导入功能仅在企业版中支持。在对象窗格中选择要操作的数据库,选择到设备节点,则右侧信息窗格将出现"**设备结构"**信息,点击"导入物理量",下载模板填写物理量信息,再上传该CSV文件即可批量导入物理量。注:当前版本不支持导入对齐物理量。

选择"数据预览“->”批量导入"则可将符合模板要求的CSV文件数据导入,当前支持导入对齐时间序列。

批量导出
批量导出功能仅在企业版中支持。在对象窗格中选择要操作的数据库,进入设备节点,选择"设备结构“->”导出物理量"即可批量导出该实体下的物理量元数据。搜索框内可输入名称/别名、标签名称、标签值进行过滤。

选择"数据预览“->”导出数据"则可批量导出该实体下的数据。搜索框内可按时间范围、时间间隔和物理量进行过滤。

Workbench提供多层次的数据预览工具。
数据模型
在对象窗格中选择要预览的数据连接,点击操作列的"数据模型“即可预览数据模型,root被定义为LEVEL=0,Workbench中默认显示到LEVEL=1,点击”查看更多“可查看更多层级的数据模型信息。”查看更多"功能仅在企业版中支持。

存储组信息
点击操作列的"存储组信息“即可预览该数据连接的所有存储组信息,点击”详情“可查看该存储组下的实体详情,继续点击实体详情可查看物理量详情。点击”编辑"可编辑该存储组的TTL信息。

Workbench提供强大的查询工具,可直接编辑查询文本,保存查询,用于简化查询行任务。
新建查询
点击"连接操作栏“的”查询",选择要进行操作的数据连接,即可进入查询编辑器。

在查询编辑器界面可输入SQL语句,提示框会提示符合条件的关键字。右侧可按要求选择函数或数据进行计算。
{width=“5.90625in” height=“3.125in”}
输入SQL语句后,点击右上角可选择操作,分别是“保存”、“运行”、“暂停”和“删除”。运行结果显示10行每页,默认限制返回结果100行,也可选择取消限制全部展示。

查看查询
已保存的连接可在对象窗格中该数据连接下的"查询"下查看。

拓扑管理
Workbench提供对集群拓扑图的查看。选择"数据库管理“->”节点管理“>”拓扑管理"可以查看拓扑图。“拓扑管理”功能仅在企业版中支持。

拓扑图显示节点IP、节点类型及端口。

节点管理
Workbench提供对集群节点的管理。选择"数据库管理“->”节点管理"可以查看节点状态。可按节点ID或节点类型进行查询。

分区管理
Workbench提供对集群分区的管理。选择"数据库管理“->”分区管理"可以查看分区状态。可按分区ID或分区类型进行查询。

新增存储组
在对象窗格中选择要操作的数据库对象,点击"新建存储组"即可创建存储组,存储组名称为必填,存储组名称为必填,正常情况下只能输入字母、数字、下划线以及UNICODE 中文字符如果包含特殊字符,请使用反引号。存活时间选填。

删除存储组
在对象窗格中选择要操作的存储组,在操作列中选择"编辑“可修改存储组存活时间,选择”删除"可删除存储组。

新建物理量
在对象窗格中选择要操作的存储组,点击"新建设备",按要求填写信息则可创建该存储组下的物理量。物理量名称名称为必填,正常情况下只能输入字母、数字、下划线以及UNICODE 中文字符如果包含特殊字符,请使用反引号。

数据趋势预览
“数据趋势”功能仅在企业版中支持。在对象窗格中选定存储组,"数据趋势"显示该存储组下的物理量趋势图表,单击图表显示详细信息,可选定时间范围查询该区间内的数据,并显示最小值等数据

修改、删除物理量
在对象窗格中选择要操作的设备 ,点击右侧的"编辑“可修改该设备下的物理量信息(别名、标签和属性)。点击”删除"则可删除该设备。

“操作日志”提供所有在Workbench上进行的操作记录,可按IP、用户、数据连接、关键词和时间范围进行筛选。

Workbench提供"监控管理“提供来查看已选择的服务器监控属性。从导航栏选择”监控管理“并选择你想要的监控类型。可选”监控指标“,”连接信息“,”审计日志"。
监控指标
监控指标可供查看CPU指标、内存指标和存储指标的最新信息。

连接信息
连接信息可供查看连接到Workbench的用户和服务器信息。“连接信息”功能仅在企业版中支持。

审计日志
审计日志显示所有在IoTDB执行的操作,Workbench提供查询接口,可按时间段或用户名进行查询。“审计日志”功能仅在企业版中支持。

数据看板可供创建数据库数据的直观表示,下图为挂载Grafana模板的仪表盘。

配置
文件配置
在文件application-prod.properties中配置看板地址,找到配置项url.dashboard=https://grafana.com/,填写grafana URL。
application-prod.properties源文件内容:
# Designate the log configuration file logging.config=classpath:log4j2.xml # Set port and context path server.port=9090 server.servlet.context-path=/api # The following data source configuration method will cause data loss after the project is repackaged. # To facilitate testing during development, refer to the application-prod.properties file for configuration during actual project deployment # sqlite spring.datasource.url=jdbc:sqlite:./iotdb.db spring.datasource.driver-class-name=org.sqlite.JDBC # mysql #spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver #spring.datasource.url=jdbc:mysql:// #spring.datasource.username= #spring.datasource.password= # Enable the multipart uploading function spring.servlet.multipart.enabled=true spring.servlet.multipart.file-size-threshold=2KB spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=215MB # All files generated during CSV import and export are stored in this folder file.temp-dir=./tempFile spring.messages.basename=messages # enable open audit in iotdb enableIotdbAudit = false # enable open audit in workbench: enableWorkbenchAudit = true # timechodb config server rpc port configServerPort=8867 # dashboard url url.dashboard=https://grafana.com/
URL获取
登录Grafan面板,点击分享按钮,在弹出的窗口选择"Link“,复制”Link URL"即可。


如果看不到监控信息,需要开启TimechoDB的Metric。
双活配置发生变化时需建议重新建立连接。