As we can observe in Figure 2, the daemon running on the Research Device monitors the OS and other sources of the node to provide node-centric data (Host Monitoring), such as CPU usage, memory and network data. In addition, it monitors each one of the Linux Containers (LXC) present in the node to provide Sliver specific information (LXC Monitoring) and monitors periodically (every 60 seconds).
The micro web server component allows the monitoring client to accept HTTP requests and responds with HTTP responses, to allow the monitored information to be accessed from web browsers in addition to being used with automated systems. To allow researchers to query and use this monitored data, the response to an information request from the monitoring sever is provided in JSON format. This is done by means of a REST API, as shown in the figure.
The daemon stores the monitored information in a log file locally until the data gathering service has seen it. This ensures that no monitored information is lost during a network partition and helps researchers diagnose any problem that may have happened during this period.
It is important to notice that the monitoring client supports the addition of pluggable daemons that can be easily integrated and allow to monitor additional data that is not collected by default for the monitoring client.
Figure 2: Components of the Monitoring Client located in the Research Device