Create Alert Rule¶
创建一条告警规则。
约束条件¶
模型 ID(
modelId
)在组织下可用测点(
measurepointId
)有效告警级别(
severityId
)已创建告警内容(
contentId
)已创建查询范围(
scope
)中的作用域的节点已创建
请求格式¶
POST https://{apigw-address}/event-service/v2.1/alert-rules?action=create
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
请求参数(Body)¶
备注
以下非必须字段中,必须提供 measurepointId
或 deviceStatus
作为告警触发条件。
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
ruleId |
必需 |
String |
告警规则编号,由用户指定。 |
ruleDesc |
必需 |
StringI18n |
告警描述。 |
modelId |
必需 |
String |
告警规则适用的模型。 |
measurepointId |
可选 |
String |
资产测点。如何获取测点(pointId)信息>> |
deviceStatus |
可选 |
String |
设备状态,如“offline”。参见 设置由设备状态触发的告警。 |
condition |
必需 |
String |
类查询表达式。如“${temperature} = 19”表示“测点 temperature 的值等于19”。使用“/”表达层级关系,如“${pointA/att1} = 18”表示“测点 A 的 att1 属性值为 18”。目前只支持最多向下一层。如何使用查询表达式>> |
severityId |
必需 |
String |
告警级别编号。 |
contentId |
必需 |
String |
告警内容编号。 |
tags |
可选 |
Map |
告警规则标签。 |
isEnabled |
可选 |
Boolean |
是否启用,默认启用(true)。 |
isRoot |
可选 |
Boolean |
是否是根源告警,默认为 false。 |
scope |
必需 |
AssetNode 结构体数组 |
指定资产树上的节点来表明告警规则的作用域。参见 AssetNode 结构体。 |
triggeringDelayTimer |
可选 |
Integer |
延后告警触发时间。单位为秒,范围[60 - 10800]。当发生匹配告警规则的异常状况,且该状况在所设定的时间内仍未恢复正常时,系统才会产生告警。若设为 0 则表示立即触发告警。参见 教程:设置异常持续一段时间后触发的告警。 |
AssetNode 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
treeId |
必需 |
String |
资产树 ID。若为“all”,则这是一个特殊的节点,代表组织下的全局。 |
assetId |
必需 |
String |
资产 ID。如何获取 asset ID 信息>> |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
String |
规则的 ID。 |
示例¶
请求示例¶
url: https://{apigw-address}/event-service/v2.1/alert-rules?action=create&orgId=yourOrgId
method: POST
requestBody:
{
"ruleId": "user BID",
"ruleDesc": {
"defaultValue": "Grid is connected from converter",
"i18nValue": {
"en_US": "Grid is connected from converter",
"zh_CN": "电网由变频器连接"
}
},
"modelId": "EnOS_Solar_CombinerBox",
"measurepointId": "CBX.BranchStateAttr",
"condition": "${CBX.BranchStateAttr} = 18",
"severityId": "WARN",
"contentId": "planetTemperature",
"tags": {
"key1": "v1"
},
"scope": [{
"treeId": "ptde66nd",
"assetId": "FbFy8qyz"
}],
"isEnabled": true,
"isRoot": true,
"triggeringDelayTimer": 120
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "4873095e-621d-4cfd-bc2c-edb520f574ea",
"data": "user BID"
}
SDK 示例¶
你可以在 Github 上获取告警引擎的 SDK 示例: