2.1.5. Monitoring and Notifying enabler

2.1.5.1. Introduction

This enabler could be viewed as a general purpose by representing it as a combination of high-level monitoring module (which would allow to monitor devices, logs, etc.) and notifying module that could send custom messages to predefined system components.

2.1.5.2. Features

The monitoring and notifying enabler has the following functionalities:

  • Monitor the uninterrupted functionality of edge devices

  • Create a notification when an unexpexted incident occurs

  • Common interfaces for quering log-data and notifications

2.1.5.3. Place in architecture

The monitoring and notifying enabler is part of the vertical plane enablers Self-*. It is directly connected to the Edge Data Broker Enabler by subscribing to its topics.

2.1.5.4. User guide

The user guide will be determined after the release of the enabler.

2.1.5.5. Prerequisites

Apache Kafka

Kafka provides a standardized method to enable a diverse set of technologies to communicate and interact. It is used to build real-time streaming data pipelines and real-time streaming applications which will be very useful in the IoT environment of the project.

Java 8

Java is a low complexity programming language and since Kafka is written in Java, it is one of the best choices for the enabler.

MQTT

MQTT is a lightweight publish/subscribe messaging protocol and it is widely used l in IoT solutions. Since Edge Data Broker Enabler will use this protocol, it is under consideration to be used for easier integration.

2.1.5.6. Installation

The installation procedure is under development.

2.1.5.7. Configuration options

Additional configurations will be provided after the release of the enabler. The present configurations are listed below:

  • BootstrapServers: Broker address:port to connect, eg. “localhost:9092”

  • groupId: Group of devices the consumer belongs to, eg. “TemepratureSensors”

  • topic: Topic to subscribe, eg. “device1”, “device2”..

  • threshold: Define the threshold value to rpoduce notifications, eg. “20”

2.1.5.8. Developer guide

The monitoring and notifying enabler is build on Apache Kafka, written in Java 8, using the maven repository infrastructure. The logs are stored in MongoDB.

2.1.5.9. Version control and release

Gitlab will be used as version control and release tool.

2.1.5.10. License

Licensing information will be provided after the release of the enabler.

2.1.5.11. Notice(dependencies)

Dependenies list information will be provided after the release of the enabler.