Difference between revisions of "Edge++: Datonis Edge"

From Datonis
Jump to: navigation, search
(Basic Flow:)
(Data JSON:)
 
(6 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
=== Edge++ Service: ===
 
=== Edge++ Service: ===
 
Edge++ Service offers support of Redis Data-store which is used for exchanging data between Edge and the Faas Framework. Edge++ Service lets us configure the settings related to the Redis store.
 
Edge++ Service offers support of Redis Data-store which is used for exchanging data between Edge and the Faas Framework. Edge++ Service lets us configure the settings related to the Redis store.
* '''Send-to-Datonis''':
+
 
** This flag is true if the events in the output-queue are to be transmitted to Datonis.
+
'''Send-to-Datonis''':
** Make this flag false if the data should not be transmitted to Datonis.
+
* This flag is true if the events in the output-queue are to be transmitted to Datonis.
 +
* Make this flag false if the data should not be transmitted to Datonis.
 +
[[File:Edge++ Service.png|1360x1360px|border]]
  
 
=== EdgeCloudService: ===
 
=== EdgeCloudService: ===
Once the access-key and secret-key are configured, set '''enable Edge++ setup''' flag to true. This will update the Datonis access-key in the Redis Store on save.
+
Once the access-key and secret-key are configured, set '''Enable Edge++ Setup''' flag to true. This will update the Datonis access-key in the Redis Store on save.
  
 
This will be used by the Rails framework to set up its components.
 
This will be used by the Rails framework to set up its components.
 +
 +
[[File:Enable-edge++ 1.png|1360x1360px|border]]
  
 
=== Thing Settings: ===
 
=== Thing Settings: ===
 
In Settings Tab for in any adapter configuration of a particular Thing, you can find the following Edge++ related settings.
 
In Settings Tab for in any adapter configuration of a particular Thing, you can find the following Edge++ related settings.
 
# '''Publish Mode - Send/scan Edge++''': Sends the events (scan/send data, instruction, alerts) to the Redis input queue, and the FaasFunction will process and push the processed event into the Output queue.
 
# '''Publish Mode - Send/scan Edge++''': Sends the events (scan/send data, instruction, alerts) to the Redis input queue, and the FaasFunction will process and push the processed event into the Output queue.
# '''Sync Process Functions:''' This button populates the Data Process Function and the Instruction Process Function dropdown which are configured on the rails framework.
+
# '''Sync Edge++ Functions:''' This button populates the Data Process Function and the Instruction Process Function dropdown which are configured on the rails framework.
 
# '''Data Process Function:''' Select the function which you want to use to process the thing’s data event.
 
# '''Data Process Function:''' Select the function which you want to use to process the thing’s data event.
 
# '''Instruction Process Function''': Select the function which you want to use to process the thing’s instruction event. You can select “--Not-Selected--” option which does not send instruction event to Redis.
 
# '''Instruction Process Function''': Select the function which you want to use to process the thing’s instruction event. You can select “--Not-Selected--” option which does not send instruction event to Redis.
 +
Screen for '''Sync Edge++ Functions'''
 +
 +
[[File:Sync Edge++.png|1360x1360px|border]]
 +
 +
Screen for '''Thing Specific Edge++ Settings'''
 +
 +
[[File:Edge++ settings 1.png|1360x1360px|border]]
  
 
== JSON Structures: ==
 
== JSON Structures: ==
Line 24: Line 35:
  
 
=== Data JSON: ===
 
=== Data JSON: ===
* data: should be a map of metrics (Configured on Datonis)  <String, value>  You can add new datonis metrics not defined on Edge.
+
* data: should be a map of metrics (Configured on Datonis)  <String, value>  You can add new Datonis metrics not defined on Edge.
 
* data_faas_function : Helper faas function name for Edge++.
 
* data_faas_function : Helper faas function name for Edge++.
 
* instruction_faas_function : Helper faas function name for Edge++
 
* instruction_faas_function : Helper faas function name for Edge++
Line 36: Line 47:
 
     },
 
     },
 
     "data_faas_function":"data_faas_function#12",
 
     "data_faas_function":"data_faas_function#12",
    "instruction_faas_function":"instruction_faas_function#11",
 
 
     "type":"data"
 
     "type":"data"
 
  }  
 
  }  
Line 69: Line 79:
 
           "execution_status":"success"
 
           "execution_status":"success"
 
       }
 
       }
     }
+
     },
 +
    "type":"alert"
 
  }
 
  }

Latest revision as of 06:20, 30 July 2020

Edge++ Configuration on Datonis Edge:

Edge++ Service:

Edge++ Service offers support of Redis Data-store which is used for exchanging data between Edge and the Faas Framework. Edge++ Service lets us configure the settings related to the Redis store.

Send-to-Datonis:

  • This flag is true if the events in the output-queue are to be transmitted to Datonis.
  • Make this flag false if the data should not be transmitted to Datonis.

Edge++ Service.png

EdgeCloudService:

Once the access-key and secret-key are configured, set Enable Edge++ Setup flag to true. This will update the Datonis access-key in the Redis Store on save.

This will be used by the Rails framework to set up its components.

Enable-edge++ 1.png

Thing Settings:

In Settings Tab for in any adapter configuration of a particular Thing, you can find the following Edge++ related settings.

  1. Publish Mode - Send/scan Edge++: Sends the events (scan/send data, instruction, alerts) to the Redis input queue, and the FaasFunction will process and push the processed event into the Output queue.
  2. Sync Edge++ Functions: This button populates the Data Process Function and the Instruction Process Function dropdown which are configured on the rails framework.
  3. Data Process Function: Select the function which you want to use to process the thing’s data event.
  4. Instruction Process Function: Select the function which you want to use to process the thing’s instruction event. You can select “--Not-Selected--” option which does not send instruction event to Redis.

Screen for Sync Edge++ Functions

Sync Edge++.png

Screen for Thing Specific Edge++ Settings

Edge++ settings 1.png

JSON Structures:

JSON formats used for pushing data into Redis output-queue.

Data JSON:

  • data: should be a map of metrics (Configured on Datonis)  <String, value> You can add new Datonis metrics not defined on Edge.
  • data_faas_function : Helper faas function name for Edge++.
  • instruction_faas_function : Helper faas function name for Edge++
  • type : “data”
{
   "thing_key":"d9a3cb4f52",
   "timestamp":1590067159361,
   "data":{
      "T":1,
      "H":2
   },
   "data_faas_function":"data_faas_function#12",
   "type":"data"
} 

Instruction JSON:

You can insert instructions in the output queue using this format.

{
   "thing_key":"d9a3cb4f52",
   "timestamp":1591308083000,
   "alert_key":"877c5e3cc4",
   "instruction_wrapper":{
      "instruction":{
         "T":"1"
      }
   },
   "type":"instruction",
   "instruction_faas_function":"instruction_faas_function#11"
} 

Alert JSON:

Alert_type:

INFO - 0, WARNING - 1,  ERROR - 2, CRITICAL - 3

{
   "alert":{
      "thing_key":"d9a3cb4f52",
      "timestamp":1589294688742,
      "alert_key":"a28cb7bt36",
      "alert_type":0,
      "message":"[]",
      "data":{
         "execution_status":"success"
      }
   },
   "type":"alert"
}