Figure 5 shows the different components that are part of the monitoring server: The front end, the middleware and the back end.
The front end manages the users' requests and provides all the technologies required for the visualisation of the monitored data. Monitored information is reported via a web interface that supports sorting, and shows graphs of historical data. It receives HTTP requests, manages HTML webpages and sends the information to the users' web browsers.
The middleware receives information requests from the front end and fetches the corresponding data from the database. It has three basic elements:
A collect module responsible of collecting every 5 minutes the information locally monitored by all the CONFINE Research Devices.
A store module that is in charge of storing the data collected by the collect module in the database.
module whose main task is to fetch data from the database, stored as JSON
files, and deliver it in a format readable for web interface, more specifically, HTML
files. Due to the fact that the database does not support time series, this module is responsible for reading raw information stored the database and convert it into time series data. This allows the front end to display historical data at the web interface.
Finally, the back end is a CouchBase Sever containing all the monitored information. It is a document-oriented, NoSQL database that stores the monitored data in JSON documents.
Figure 5: Components of the Monitoring Server located in the CONFINE Controller