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

5.4 KiB
Raw Permalink Blame History

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 ChainsRoot Rule Chain
    • 你会看到一个可视化的规则链编辑器界面
  2. 查看顶部工具栏

    • 编辑器顶部通常有多个按钮,包括:
      • Save(保存)- 保存配置但不部署
      • Deploy(部署)- 保存并部署规则链
      • Import(导入)
      • Export(导出)
      • Clear(清除)
  3. 点击 Deploy 按钮

    • 找到 "Deploy" 按钮(通常在右上角)
    • 点击后会:
      • 保存所有配置更改
      • 重新部署规则链
      • 触发所有节点重新初始化

部署后的验证

查看部署状态

部署后,你会看到:

  • 提示消息:"Rule chain deployed successfully" 或类似成功提示
  • 如果失败,会显示错误信息

检查日志

部署后,检查日志确认节点是否重新初始化:

# 查看最新的规则链相关日志
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 容器(最后手段):
    docker restart mytb
    

按钮位置示意图

┌─────────────────────────────────────────────────┐
│  Rule Chains > Root Rule Chain                  │
├─────────────────────────────────────────────────┤
│  [Save] [Import] [Export] [Clear] [Deploy] ←── 这里
├─────────────────────────────────────────────────┤
│                                                 │
│  规则链可视化编辑器                              │
│  ┌─────┐    ┌─────┐    ┌─────┐                │
│  │节点1│───→│节点2│───→│节点3│                │
│  └─────┘    └─────┘    └─────┘                │
│                                                 │
└─────────────────────────────────────────────────┘

替代方法:通过 API 部署

如果 Web UI 无法使用,可以通过 REST API 部署:

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