Skip to content
This repository has been archived by the owner on Jun 25, 2024. It is now read-only.
Marcin Makowski edited this page May 20, 2016 · 1 revision

Welcome to the dp-gearpump-rule-engine wiki!

Observations are sent by devices which has an agent preinstalled. Devices have components which measure something and pass values to the agent, which then sends data to the system.

Alerts are system reactions to received data. They are predefined in rules by system users.

The rule describes the state of the environment for which gearpump should send a notification. For example: the user wants to have a notification when temperature exceeds 100 degrees, so he creates a rule with condition: Temperature basic greater than 100 . The rule is saved by dashboard and later on fetched by Gearpump application, which is then aware of provided condition and sends alert if condition is fulfilled (in this example, when temperature value sent by specified device is greater than 100).

Rules consist of one or more conditions. They can be various types: basic, time or statistic. The differences between them are described on next page.

Full resolution

The system flow goes as follows:

  1. Users define rules using web user interface or directly REST API (which can be used by derivative applications)
  2. Rules are fetched and processed by rule engine (actually Gearpump) which takes ~10 seconds.
  3. Devices defined in the system send observations (data in the picture)
  4. Observations go to rule engine which processes data on-the-fly.
  5. If data matches rules, Gearpump triggers alerts to system.
  6. System sends predefined: email notifications, requests to HTTP endpoints or device controls as a reaction to alert.
  7. Alerts can be fetched by using REST API and can be seen in dashboard UI.

Rules and conditions of which rules consist are described on page Rules

The interaction between rule engine and Iot Analytics is described on page Gearpump and Enableiot

Clone this wiki locally