Implementation of the monitoring system project. The project is a part of the School 21 curriculum.
Monitoring System is implement a GUI program for simple monitoring of the main indicators of the system as kernels and agents. Agents collect metrics and pass them to the kernel, which will log these metrics. When critical values are reached, the system sends notifications to the user.
Kernel and agents are implemented as dynamic libraries. The kernel scans the ./agents/
directory for new agents and automatically connects them. The kernel logs the metrics to the ./logs/
directory. The program interface displays the last 1000 lines of the log and all information about connected agents. The interface allows you to get detailed information about the agent, change the configuration of the agent, and disconnect the agent.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
What things you need to install the software and how to install them.
cmake >= 3.10
gcc >= 7.5.0
Qt >= 5.12.8
sudo apt-get install cmake
sudo apt-get install gcc
sudo apt-get install qt5-default
A step by step series of examples that tell you how to get a development env running.
Clone the repository.
git clone
cd MonitoringSystem
Create a build directory and run cmake.
mkdir build
cd build
cmake ..
Build the project.
make
Run the project.
./MonitoringSystem
Explain how to run the automated tests for this system.
make test
After starting the program, the main window will open. The main window has a menu bar with the following items: Info
, Log
. The Info
item opens a main window that displays information about connected agents and contained metrics. The Log
item opens a window with the last 1000 lines of the log.
The main window has a toolbar with the following buttons: Add agent
, Remove agent
, Agent info
, Metric info
. The Add agent
button opens a window for adding a new agent. The Remove agent
button removes the selected agent. The Agent info
button opens a window with detailed information about the selected agent. The Metric info
button opens a window with detailed information about the selected metric. In info section you can chage agent configuration (period, critical value, etc) and disconnect agent.
- C++ 17 - Programming language
- CMake - Build system
- Qt - GUI framework
- Google Test - Testing framework
This project was developed by:
LudwigAndreas | |
---|---|
AndrefHub |
- School 21 - Educational institution
This project is licensed under the School 21 License - see the LICENSE file for details.