Root Rule Chain for monitoring tenant
This commit is contained in:
parent
e8ba1e17eb
commit
24241010b7
436
monitoring/src/main/resources/root_rule_chain.json
Normal file
436
monitoring/src/main/resources/root_rule_chain.json
Normal file
@ -0,0 +1,436 @@
|
||||
{
|
||||
"ruleChain": {
|
||||
"additionalInfo": null,
|
||||
"name": "Root Rule Chain",
|
||||
"type": "CORE",
|
||||
"firstRuleNodeId": null,
|
||||
"root": false,
|
||||
"debugMode": false,
|
||||
"configuration": null,
|
||||
"externalId": null
|
||||
},
|
||||
"metadata": {
|
||||
"firstNodeIndex": 12,
|
||||
"nodes": [
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": null,
|
||||
"layoutX": 1202,
|
||||
"layoutY": 221
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode",
|
||||
"name": "Save Timeseries",
|
||||
"debugMode": true,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"defaultTTL": 0
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 1000,
|
||||
"layoutY": 167
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode",
|
||||
"name": "Save Attributes",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 1,
|
||||
"configuration": {
|
||||
"scope": "CLIENT_SCOPE",
|
||||
"notifyDevice": false,
|
||||
"sendAttributesUpdatedNotification": false,
|
||||
"updateAttributesOnlyOnValueChange": false
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 566,
|
||||
"layoutY": 302
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.filter.TbMsgTypeSwitchNode",
|
||||
"name": "Message Type Switch",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"version": 0
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 1000,
|
||||
"layoutY": 381
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.action.TbLogNode",
|
||||
"name": "Log RPC from Device",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"scriptLang": "TBEL",
|
||||
"jsScript": "return '\\nIncoming message:\\n' + JSON.stringify(msg) + '\\nIncoming metadata:\\n' + JSON.stringify(metadata);",
|
||||
"tbelScript": "return '\\nIncoming message:\\n' + JSON.stringify(msg) + '\\nIncoming metadata:\\n' + JSON.stringify(metadata);"
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 1000,
|
||||
"layoutY": 494
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.action.TbLogNode",
|
||||
"name": "Log Other",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"scriptLang": "TBEL",
|
||||
"jsScript": "return '\\nIncoming message:\\n' + JSON.stringify(msg) + '\\nIncoming metadata:\\n' + JSON.stringify(metadata);",
|
||||
"tbelScript": "return '\\nIncoming message:\\n' + JSON.stringify(msg) + '\\nIncoming metadata:\\n' + JSON.stringify(metadata);"
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 1000,
|
||||
"layoutY": 583
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.rpc.TbSendRPCRequestNode",
|
||||
"name": "RPC Call Request",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"timeoutInSeconds": 60
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 255,
|
||||
"layoutY": 301
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.filter.TbOriginatorTypeFilterNode",
|
||||
"name": "Is Entity Group",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"originatorTypes": [
|
||||
"ENTITY_GROUP"
|
||||
]
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 319,
|
||||
"layoutY": 109
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.filter.TbMsgTypeFilterNode",
|
||||
"name": "Post attributes or RPC request",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"messageTypes": [
|
||||
"POST_ATTRIBUTES_REQUEST",
|
||||
"RPC_CALL_FROM_SERVER_TO_DEVICE"
|
||||
]
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"layoutX": 627,
|
||||
"layoutY": 108
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.transform.TbDuplicateMsgToGroupNode",
|
||||
"name": "Duplicate To Group Entities",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"entityGroupId": null,
|
||||
"entityGroupIsMessageOriginator": true
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": "Process incoming messages from devices with the alarm rules defined in the device profile. Dispatch all incoming messages with \"Success\" relation type.",
|
||||
"layoutX": 45,
|
||||
"layoutY": 359
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.profile.TbDeviceProfileNode",
|
||||
"name": "Device Profile Node",
|
||||
"debugMode": true,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"persistAlarmRulesState": false,
|
||||
"fetchAlarmRulesStateOnStart": false
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": "",
|
||||
"layoutX": 160,
|
||||
"layoutY": 631
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.filter.TbJsFilterNode",
|
||||
"name": "Test JS script",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"scriptLang": "JS",
|
||||
"jsScript": "var test = {\n a: 'a',\n b: 'b'\n};\nreturn test.a === 'a' && test.b === 'b';",
|
||||
"tbelScript": "return msg.temperature > 20;"
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": "",
|
||||
"layoutX": 427,
|
||||
"layoutY": 541
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.filter.TbJsFilterNode",
|
||||
"name": "Test TBEL script",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"scriptLang": "TBEL",
|
||||
"jsScript": "return msg.temperature > 20;",
|
||||
"tbelScript": "var a = \"a\";\nvar b = \"b\";\nreturn a.equals(\"a\") && b.equals(\"b\");"
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": "",
|
||||
"layoutX": 40,
|
||||
"layoutY": 252
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.transform.TbTransformMsgNode",
|
||||
"name": "Add arrival timestamp",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"scriptLang": "TBEL",
|
||||
"jsScript": "return {msg: msg, metadata: metadata, msgType: msgType};",
|
||||
"tbelScript": "metadata.arrivalTs = Date.now();\nreturn {msg: msg, metadata: metadata, msgType: msgType};"
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": "",
|
||||
"layoutX": 1467,
|
||||
"layoutY": 267
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.transform.TbTransformMsgNode",
|
||||
"name": "Calculate additional latencies",
|
||||
"debugMode": true,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"scriptLang": "TBEL",
|
||||
"jsScript": "return {msg: msg, metadata: metadata, msgType: msgType};",
|
||||
"tbelScript": "var arrivalLatency = metadata.arrivalTs - metadata.ts;\nvar processingTime = Date.now() - metadata.arrivalTs;\nmsg = {\n arrivalLatency: arrivalLatency,\n processingTime: processingTime\n};\nreturn {msg: msg, metadata: metadata, msgType: msgType};"
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": "",
|
||||
"layoutX": 1438,
|
||||
"layoutY": 403
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.transform.TbChangeOriginatorNode",
|
||||
"name": "To latencies asset",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"originatorSource": "ENTITY",
|
||||
"entityType": "ASSET",
|
||||
"entityNamePattern": "[Monitoring] Latencies",
|
||||
"relationsQuery": {
|
||||
"direction": "FROM",
|
||||
"maxLevel": 1,
|
||||
"filters": [
|
||||
{
|
||||
"relationType": "Contains",
|
||||
"entityTypes": []
|
||||
}
|
||||
],
|
||||
"fetchLastLevelOnly": false
|
||||
}
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": null,
|
||||
"layoutX": 1458,
|
||||
"layoutY": 505
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode",
|
||||
"name": "Save Timeseries",
|
||||
"debugMode": true,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"defaultTTL": 0
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": "",
|
||||
"layoutX": 928,
|
||||
"layoutY": 266
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.filter.TbCheckMessageNode",
|
||||
"name": "Has testData",
|
||||
"debugMode": false,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"messageNames": [
|
||||
"testData"
|
||||
],
|
||||
"metadataNames": [],
|
||||
"checkAllKeys": true
|
||||
},
|
||||
"externalId": null
|
||||
},
|
||||
{
|
||||
"additionalInfo": {
|
||||
"description": null,
|
||||
"layoutX": 1203,
|
||||
"layoutY": 327
|
||||
},
|
||||
"type": "org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode",
|
||||
"name": "Save Timeseries with TTL",
|
||||
"debugMode": true,
|
||||
"singletonMode": false,
|
||||
"configurationVersion": 0,
|
||||
"configuration": {
|
||||
"defaultTTL": 180,
|
||||
"skipLatestPersistence": null,
|
||||
"useServerTs": null
|
||||
},
|
||||
"externalId": null
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"fromIndex": 2,
|
||||
"toIndex": 1,
|
||||
"type": "Post attributes"
|
||||
},
|
||||
{
|
||||
"fromIndex": 2,
|
||||
"toIndex": 3,
|
||||
"type": "RPC Request from Device"
|
||||
},
|
||||
{
|
||||
"fromIndex": 2,
|
||||
"toIndex": 4,
|
||||
"type": "Other"
|
||||
},
|
||||
{
|
||||
"fromIndex": 2,
|
||||
"toIndex": 5,
|
||||
"type": "RPC Request to Device"
|
||||
},
|
||||
{
|
||||
"fromIndex": 2,
|
||||
"toIndex": 16,
|
||||
"type": "Post telemetry"
|
||||
},
|
||||
{
|
||||
"fromIndex": 6,
|
||||
"toIndex": 2,
|
||||
"type": "False"
|
||||
},
|
||||
{
|
||||
"fromIndex": 6,
|
||||
"toIndex": 7,
|
||||
"type": "True"
|
||||
},
|
||||
{
|
||||
"fromIndex": 7,
|
||||
"toIndex": 2,
|
||||
"type": "False"
|
||||
},
|
||||
{
|
||||
"fromIndex": 7,
|
||||
"toIndex": 8,
|
||||
"type": "True"
|
||||
},
|
||||
{
|
||||
"fromIndex": 8,
|
||||
"toIndex": 2,
|
||||
"type": "Success"
|
||||
},
|
||||
{
|
||||
"fromIndex": 9,
|
||||
"toIndex": 10,
|
||||
"type": "Success"
|
||||
},
|
||||
{
|
||||
"fromIndex": 10,
|
||||
"toIndex": 11,
|
||||
"type": "True"
|
||||
},
|
||||
{
|
||||
"fromIndex": 11,
|
||||
"toIndex": 6,
|
||||
"type": "True"
|
||||
},
|
||||
{
|
||||
"fromIndex": 12,
|
||||
"toIndex": 9,
|
||||
"type": "Success"
|
||||
},
|
||||
{
|
||||
"fromIndex": 13,
|
||||
"toIndex": 14,
|
||||
"type": "Success"
|
||||
},
|
||||
{
|
||||
"fromIndex": 14,
|
||||
"toIndex": 15,
|
||||
"type": "Success"
|
||||
},
|
||||
{
|
||||
"fromIndex": 16,
|
||||
"toIndex": 0,
|
||||
"type": "False"
|
||||
},
|
||||
{
|
||||
"fromIndex": 16,
|
||||
"toIndex": 17,
|
||||
"type": "True"
|
||||
},
|
||||
{
|
||||
"fromIndex": 17,
|
||||
"toIndex": 13,
|
||||
"type": "Success"
|
||||
}
|
||||
],
|
||||
"ruleChainConnections": null
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user