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

159 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`)重新初始化。