159 lines
5.4 KiB
Markdown
159 lines
5.4 KiB
Markdown
|
|
# 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`)重新初始化。
|
|||
|
|
|