规则引擎
规则引擎是一种开发自动化业务逻辑的可视化编程方式,可以通过设备或时间维度的条件触发,实现设备的自动控制及触发告警。
创建场景规则
进入 Neptune云平台 - 管理平台 ,从左侧菜单栏点击 规则引擎 - 场景规则 。在页面列表右上角点击 创建规则
。
编辑基本信息
规则信息
规则名称:设置具体规则的名称。
规则分组:设置该规则所属的分组,默认为根分组。详细的分组设置见分组管理。
规则描述:为规则添加描述(选填)。
适用范围
适配方式:确定本规则生效的设备范围,可选 设备类型
、设备分组
、指定设备
。
选择适配方式后,根据下级选项提示继续选择对应设备类型、分组、单个设备。
若通过 设备类型 的方式划定规则适用范围时,可继续选择 设备分组 (即该设备类型下的设备分组)。如不选择分组,则默认为该设备类型下所有设备。
设备分组的设备生效范围为该分组及其下一级分组的设备,不包含跨二级及以上分支分组的设备。
编辑触发条件
触发条件包含以下三种选项:
触发条件 | 描述 |
---|---|
数据驱动 | 设置设备上发数据条件规则,当设备上发数据满足条件时,执行相关动作; |
定时触发 | 设置定时周期规则,当满足定时周期规则时,执行相关动作; |
设备上下线 | 设置当设备上线或下线时,执行相关动作。 |
数据驱动
数据驱动下可使用 栏位编辑器 或 公式编辑器 两种方式。
从栏位编辑器切换到 公式编辑器 时,支持把栏位表单内容无缝转换为判断表达式,但反之无法转换。
栏位编辑器
- 选择栏位条件触发关系:可选
满足任意条件
和满足所有条件
。- 满足任意条件:指满足栏位编辑器中设定的任意一个条件即可触发,对应逻辑门中的 或门 。
- 满足所有条件:指满足栏位编辑器中设定的全部条件方可触发,对应逻辑门中的 与门 。
- 选择数据栏位:根据 适用范围 中选定的设备范围,系统将获取对应的数据栏位以供选择。
- 操作符、值:根据数据定义类型,选择判断操作符和输入/选择值:
数据定义 | 可选操作符 | 输入或选择值 |
---|---|---|
数字 | 等于(=) 、不等于(!=) 、大于(>) 、大于等于(>=) 、小于(<) 、小于等于(<=) | 输入数值 |
普通文本 | 等于(=) 、不等于(!=) 、包含(string.contains) 、不包含(!string.contains) | 输入文本值 |
布尔类型 | 等于(=) 、不等于(!=) | 选择 真(true) 或 假(false) |
枚举 | 等于(=) 、不等于(!=) 、包含(string.contains) 、不包含(!string.contains) | 输入文本值 |
- 添加数据栏位:点击栏位编辑器表格下方
+新增条件
可新增一行栏位判断表单。 - 删除数据栏位:点击栏位编辑器对应行
删除
可删除对应一行的栏位判断。 - 点击
切换为公式编辑器
可切换到公式编辑器页面。
公式编辑器
- 可直接输入或选择
数据ID
、操作符
及值
。 - 公式编辑器的触发效果与栏位编辑器的触发效果相当,且能实现更复杂的表达式触发效果。
定时触发
定时触发下可使用 简易定义 和 高级定时 两种。
简易定时
- 选择定时的循环周期,可选
周一
至周日
。 - 选择定时触发的时间,可选
00:00
至23:59
。
高级定时
基于6位数值的Cron表达式,实现任意时间粒度触发。
Cron表达式字段从左到右表示的时间粒度分别为:秒、分、小时、天(日)、月、星期。
设置方式:
- 可通过选择各个时间粒度的表单设置定时周期,系统将相关设置转换成Cron表达式。
- 可直接在Cron表达式文本框中直接输入表达式,表达式格式规范如下:
字段 | 允许值 | 允许的特殊字符 |
---|---|---|
秒 | 0-59 | , - * / |
分 | 0-59 | , - * / |
小时 | 0-23 | , - * / |
日期 | 1-31 | , - * ? / L W C |
月份 | 1-12 或者 JAN-DEC | , - * / |
星期 | 1-7 或者 SUN-SAT | , - * ? / L C # |
- 点击
反解析
按钮按钮可输出预览该Cron表达式最近5条定时触发时间。
Cron表达式示例:
Cron表达式 | 示例说明 |
---|---|
*/10 * * * * ? | 每隔10秒执行一次 |
0 */5 * * * ? | 每隔5分钟执行一次 |
0 2,22,32 * * * ? | 在2分、22分、32分执行一次 |
0 0 4-8 * * ? | 每天4-8点整点执行一次 |
0 0 2 * * ? | 每天凌晨2点执行一次 |
0 0 2 1 * ? | 每月1号凌晨2点执行一次 |
设备上下线
- 根据适配方式指定的设备范围,该范围内的设备上线、下线时触发规则。
- 可选
设备上线
、设备下线
。
编辑执行动作
触发事件发生后,系统将根据用户设定的执行动作向数据下发数据或发出消息通知。
执行动作下可选两种执行方式:数据下发
和 状态提醒
,支持两种执行动作同时并行。
当触发条件选择为 定时触发
时,执行动作中的 状态提醒
不可用。
数据下发
当满足触发条件时,云平台自动向设备下发数据。
-
根据基础信息中设定的设备类型或指定设备,下拉框中选择一个数据栏位。
-
根据数据定义的类型,输入或选择下发值。
数据定义 | 输入或选择值 |
---|---|
数字 | 输入数值 |
普通文本 | 输入文本值 |
布尔类型 | 选择 真(true) 或 假(false) |
枚举 | 输入文本值 |
状态提醒
设备满足触发条件时,云平台将推送 系统提醒 或 邮件消息 告知用户设备状态。
-
提示状态:当设备满足触发条件时,推送到消息中心及邮件推送的状态分类,可选
通知
、异常
、报警
。 -
提示机制:可选
仅首次推送,直至恢复
和提醒沉默时间
。- 仅首次推送,直至恢复:当设备上发数据触发结果为
true
时,云平台执行首次判定的事件,直至该设备触发结果为false
。 - 提醒沉默时间:当设备上发数据触发结果为
true
时,云平台执行首次判定的事件,若经过用户设定的沉默时间后该状态仍为true
时,云平台再次执行下发数据或状态提醒。
- 仅首次推送,直至恢复:当设备上发数据触发结果为
-
提示内容:可选
系统提醒
或邮件提醒
。- 系统提醒:设备触发条件后,云平台消息中心将产生提醒内容,该提醒内容团队内所有用户可见。
- 邮件提醒:设备触发条件后,云平台根据设定的 提醒团队群组 查找团队用户,根据团队用户注册或绑定的邮箱地址发送邮件提醒;或直接输入邮箱地址通知。
-
提示正文:输入推送提醒内容。
-
联动提示内容:提示内容除
提示正文
、触发栏位及其触发值
外,用户可设定一个关联的数据栏位
作为关联提醒内容,接收消息时连同关联的数据栏位数据一同展示。 -
邮件推送目标:当选中
邮件提醒
时,可选择推送到指定邮箱
和推送到团队用户邮箱
。- 推送到指定邮箱:可直接输入目标推送的邮箱地址,输入多个邮箱时支持用
英文逗号 ","
隔开。 - 推送到团队用户邮箱:支持选择云平台内 团队管理 - 权限管理 内的角色。触发条件时,云平台向该角色下的团队成员发送邮件提醒。
- 推送到指定邮箱:可直接输入目标推送的邮箱地址,输入多个邮箱时支持用
使用推送到团队用户邮箱时,如团队成员未绑定邮箱,将无法收到邮箱消息。
团队成员可在 个人信息 中绑定邮箱(详细见 基本操作 - 修改个人信息 )。
启用场景规则
- 创建规则完成后,该规则默认为未启用状态,请在对应规则右侧操作列点击
启用
以让规则生效。 - 点击
停止
可停止规则生效。
管理规则
复制规则
支持复制规则以实现快速建立并设置多个相似规则。
在复制目标规则行点击 更多
- 复制
即可复制该规则。复制的规则默认为未启动状态。
分组管理
规则引擎列表左侧为树状分组管理。支持对规则进行信息分组管理。
创建分组
- 点击选中一个分组;
- 在选中的分组点击 ➕ 按钮创建子分组。
- 输入分组名称 ,
单击空白处
或回车键
完成创建子分组。
编辑分组名称
- 点击选中一个分组;
- 在选中的分组点击
更多
-编辑
按钮。 - 输入分组名称
单击空白处
或回车键
完成编辑分组名称。
删除分组
- 点击选中一个分组;
- 在选中的分组点击
更多
-删除
按钮,弹出提示点击确定完成删除分组操作。
删除分组后,该分组下的规则将转移到默认分组。
删除规则
在目标规则行点击 更多
- 删除
即可删除该规则。
执行日志
规则启动后,当云平台触发事件并执行相关动作时,云平台将生成一条执行动作日志。
执行日志可在管理平台左侧菜单栏 规则引擎
- 执行日志
中查询。