A time based based notification rule plugin:
The configuration items are:
- "asset" is the asset name to check in plugin_eval call
- "interval" is the time value for plugin_eval calls from notification service, specified in milliseconds
Note: this plugin is designed to work with a single asset name.
Example:
{
"asset": {
"description": "The asset name to check.",
"name": "sinusoid"
},
"interval": {
"description": "The time interval for rule call",
"name": "Time interval",
"type": "integer",
"value": 5000
}
}
If no data is received for the asset within the specified time period then the rule evaluates to true.
To build Fledge "WatchDog" notification rule C++ plugin, in addition fo Fledge source code, the Notification server C++ header files are required (no .cpp files or libraries needed so far)
The path with Notification server C++ header files cab be specified only via NOTIFICATION_SERVICE_INCLUDE_DIRS environment variable.
Example:
$ export NOTIFICATION_SERVICE_INCLUDE_DIRS=/home/ubuntu/source/fledge-service-notification/C/services/notification/include
$ mkdir build
$ cd build
$ cmake ..
$ make
- By default the Fledge develop package header files and libraries are expected to be located in /usr/include/fledge and /usr/lib/fledge
- If FLEDGE_ROOT env var is set and no -D options are set, the header files and libraries paths are pulled from the ones under the FLEDGE_ROOT directory. Please note that you must first run 'make' in the FLEDGE_ROOT directory.
You may also pass one or more of the following options to cmake to override this default behaviour:
- FLEDGE_SRC sets the path of a Fledge source tree
- FLEDGE_INCLUDE sets the path to Fledge header files
- FLEDGE_LIB sets the path to Fledge libraries
- FLEDGE_INSTALL sets the installation path of Random plugin
- NOTE:
- The FLEDGE_INCLUDE option should point to a location where all the Fledge header files have been installed in a single directory.
- The FLEDGE_LIB option should point to a location where all the Fledge libraries have been installed in a single directory.
- 'make install' target is defined only when FLEDGE_INSTALL is set
Examples:
no options
$ cmake ..
no options and FLEDGE_ROOT set
$ export FLEDGE_ROOT=/some_fledge_setup
$ cmake ..
set FLEDGE_SRC
$ cmake -DFLEDGE_SRC=/home/source/develop/Fledge ..
set FLEDGE_INCLUDE
$ cmake -DFLEDGE_INCLUDE=/dev-package/include ..
set FLEDGE_LIB
$ cmake -DFLEDGE_LIB=/home/dev/package/lib ..
set FLEDGE_INSTALL
$ cmake -DFLEDGE_INSTALL=/home/source/develop/Fledge ..
$ cmake -DFLEDGE_INSTALL=/usr/local/fledge ..