{"id":18710737,"url":"https://github.com/ludwigandreas/monitoringsystem","last_synced_at":"2025-11-09T13:30:19.026Z","repository":{"id":181176199,"uuid":"666341814","full_name":"LudwigAndreas/MonitoringSystem","owner":"LudwigAndreas","description":"Implementation of the monitoring system project. The project is a part of the School 21 curriculum.","archived":false,"fork":false,"pushed_at":"2024-06-18T12:07:24.000Z","size":1023,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-28T08:09:28.571Z","etag":null,"topics":["cpp","dynamic-library","educational-project","monitoring-plugins","monitoring-tool","plugin-architecture"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LudwigAndreas.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-14T09:20:36.000Z","updated_at":"2024-08-07T12:11:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"b8ac86b4-16fd-4a67-8f6e-021a1a1310fb","html_url":"https://github.com/LudwigAndreas/MonitoringSystem","commit_stats":null,"previous_names":["ludwigandreas/monitoringsystem"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LudwigAndreas%2FMonitoringSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LudwigAndreas%2FMonitoringSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LudwigAndreas%2FMonitoringSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LudwigAndreas%2FMonitoringSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LudwigAndreas","download_url":"https://codeload.github.com/LudwigAndreas/MonitoringSystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239576251,"owners_count":19662106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","dynamic-library","educational-project","monitoring-plugins","monitoring-tool","plugin-architecture"],"created_at":"2024-11-07T12:35:28.286Z","updated_at":"2025-11-09T13:30:18.971Z","avatar_url":"https://github.com/LudwigAndreas.png","language":"C++","readme":"# Monitoring System\n\nImplementation of the monitoring system project. The project is a part of the School 21 curriculum.\n\n## Table of Contents\n\n- [About](#about)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installing](#installing)\n- [Running the tests](#running-the-tests)\n- [Usage](#usage)\n- [Built Using](#built-using)\n- [Authors](#authors)\n- [Acknowledgements](#acknowledgements)\n- [License](#license)\n\n## About\n\nMonitoring 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.\n\nKernel 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.\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nWhat things you need to install the software and how to install them.\n\n```text\ncmake \u003e= 3.10\ngcc \u003e= 7.5.0\nQt \u003e= 5.12.8\n```\n\n```bash\nsudo apt-get install cmake\nsudo apt-get install gcc\nsudo apt-get install qt5-default\n```\n\n### Installing\n\nA step by step series of examples that tell you how to get a development env running.\n\nClone the repository.\n\n```bash\ngit clone\n\ncd MonitoringSystem\n```\n\nCreate a build directory and run cmake.\n\n```bash\n\nmkdir build\ncd build\n\ncmake ..\n```\n\nBuild the project.\n\n```bash\nmake\n```\n\nRun the project.\n\n```bash\n./MonitoringSystem\n```\n\n## Running the tests\n\nExplain how to run the automated tests for this system.\n\n```bash\nmake test\n```\n\n## Usage\n\nAfter 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.\n\nThe 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.\n\n## Built Using\n\n- [C++ 17](https://isocpp.org/) - Programming language\n- [CMake](https://cmake.org/) - Build system\n- [Qt](https://www.qt.io/) - GUI framework\n- [Google Test](https://google.github.io/googletest/) - Testing framework\n\n## Authors\n\nThis project was developed by:\n\n| \u003cimg src=\"https://avatars.githubusercontent.com/u/88089961?v=4\" alt=\"drawing\" width=\"50\"/\u003e |[LudwigAndreas](https://github.com/LudwigAndreas)|\n| --- | --- |\n| \u003cimg src=\"https://avatars.githubusercontent.com/u/57820208?s=60\u0026v=4\" alt=\"drawing\" width=\"50\"/\u003e | [AndrefHub](https://github.com/AndrefHub) |\n\n## Acknowledgements\n\n- [School 21](https://21-school.ru/) - Educational institution\n\n## License\n\nThis project is licensed under the School 21 License - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fludwigandreas%2Fmonitoringsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fludwigandreas%2Fmonitoringsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fludwigandreas%2Fmonitoringsystem/lists"}