thingsboard/summary/25-ThingsBoard规则链部署操作指南.md

159 lines
5.4 KiB
Markdown
Raw Permalink Normal View History

2026-01-19 11:50:37 +08:00
# ThingsBoard 规则链部署操作指南
## 如何找到 "Deploy" 按钮
### 方法 1在规则链编辑器中推荐
1. **登录 ThingsBoard Web UI**
- 访问:`http://localhost:8080`
- 使用管理员账号登录
2. **进入规则链管理**
- 点击左侧菜单:**Rule Chains**(规则链)
- 或者直接访问:`http://localhost:8080/ruleChains`
3. **打开 Root Rule Chain**
- 在规则链列表中,找到 **Root Rule Chain**
- 点击 **Root Rule Chain** 名称进入编辑页面
4. **找到 Deploy 按钮**
- 在规则链编辑器的**右上角**,有一个 **"Deploy"** 按钮(通常是橙色或蓝色)
- 按钮位置:编辑器顶部工具栏右侧
- 按钮文字:**"Deploy"** 或 **"部署"**
### 方法 2通过规则链列表
1. **进入规则链列表**
- 点击左侧菜单:**Rule Chains**
2. **找到 Root Rule Chain**
- 在规则链列表中,找到 **Root Rule Chain** 这一行
3. **点击操作按钮**
-**Root Rule Chain** 行的右侧,有一个 **"..."** 或 **操作菜单**
- 点击后会显示下拉菜单
- 选择 **"Deploy"** 或 **"部署"**
### 方法 3在规则链编辑器中详细步骤
1. **打开规则链编辑器**
- 进入:`Rule Chains` → `Root Rule Chain`
- 你会看到一个可视化的规则链编辑器界面
2. **查看顶部工具栏**
- 编辑器顶部通常有多个按钮,包括:
- **Save**(保存)- 保存配置但不部署
- **Deploy**(部署)- 保存并部署规则链
- **Import**(导入)
- **Export**(导出)
- **Clear**(清除)
3. **点击 Deploy 按钮**
- 找到 **"Deploy"** 按钮(通常在右上角)
- 点击后会:
- 保存所有配置更改
- 重新部署规则链
- 触发所有节点重新初始化
## 部署后的验证
### 查看部署状态
部署后,你会看到:
- 提示消息:**"Rule chain deployed successfully"** 或类似成功提示
- 如果失败,会显示错误信息
### 检查日志
部署后,检查日志确认节点是否重新初始化:
```bash
# 查看最新的规则链相关日志
docker logs mytb 2>&1 | tail -50 | grep -i "rule.*chain\|rule.*node\|mqtt.*init"
# 查看 MQTT 节点初始化日志
docker logs mytb 2>&1 | grep -i "c5b9d6d0\|mqtt.*broker\|t-aaron\|10883" | tail -20
```
## 常见问题
### Q1: 找不到 Deploy 按钮?
**可能原因**
1. 权限不足:确认你有管理员权限
2. 规则链是只读的:检查规则链是否被锁定
3. UI 版本不同:不同版本的按钮位置可能略有不同
**解决方法**
- 确认登录账号有 `TENANT_ADMIN` 权限
- 尝试刷新页面F5 或 Ctrl+R
- 检查浏览器控制台是否有错误
### Q2: 点击 Deploy 后没有反应?
**检查步骤**
1. 查看浏览器控制台F12是否有 JavaScript 错误
2. 检查网络请求是否成功Network 标签页)
3. 查看 ThingsBoard 日志是否有错误
### Q3: 部署后节点配置没有更新?
**解决方法**
1. **清除浏览器缓存**Ctrl+Shift+R 强制刷新
2. **删除节点重新添加**
- 删除旧的 MQTT 节点
- 重新添加 MQTT 节点
- 配置新地址
- 保存并部署
3. **重启 ThingsBoard 容器**(最后手段):
```bash
docker restart mytb
```
## 按钮位置示意图
```
┌─────────────────────────────────────────────────┐
│ Rule Chains > Root Rule Chain │
├─────────────────────────────────────────────────┤
│ [Save] [Import] [Export] [Clear] [Deploy] ←── 这里
├─────────────────────────────────────────────────┤
│ │
│ 规则链可视化编辑器 │
│ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │节点1│───→│节点2│───→│节点3│ │
│ └─────┘ └─────┘ └─────┘ │
│ │
└─────────────────────────────────────────────────┘
```
## 替代方法:通过 API 部署
如果 Web UI 无法使用,可以通过 REST API 部署:
```bash
# 1. 先登录获取 JWT Token
JWT_TOKEN=$(curl -s -X POST http://localhost:8080/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"tuoheng@t-aaron.com","password":"tuohengadmin"}' \
| jq -r '.token')
# 2. 获取 Root Rule Chain ID需要先获取
# 3. 部署规则链(需要规则链 ID
curl -X POST "http://localhost:8080/api/ruleChain/{ruleChainId}/deploy" \
-H "X-Authorization: Bearer $JWT_TOKEN"
```
## 总结
**最简单的方法**
1. 登录 ThingsBoard Web UI
2. 点击左侧菜单:**Rule Chains**
3. 点击 **Root Rule Chain** 进入编辑器
4. 在编辑器**右上角**找到 **"Deploy"** 按钮
5. 点击 **"Deploy"** 按钮
6. 等待部署完成(通常几秒钟)
部署成功后MQTT 节点会使用新配置(`mqtt.t-aaron.com:10883`)重新初始化。