The System Monitoring Tool is a web application designed to monitor system health metrics, manage alerts, and perform maintenance tasks. It provides a user-friendly dashboard for visualizing system performance and integrates with various notification services to keep users informed of critical events.
- Dashboard: Displays real-time system health metrics.
- Alerts: Sends notifications for system issues via Twilio, SendGrid, or Slack.
- Maintenance Tasks: Interfaces for executing tasks like disk cleanup and service restarts.
- API Endpoints: Provides endpoints for system status, logs, maintenance tasks, and notifications.
- Resource Monitoring: Periodically checks system metrics and updates the database.
- Frontend: React.js or Vue.js
- Backend: Flask (Python) or Express (Node.js)
- Database: SQLite or PostgreSQL
- Testing: pytest (Python) or Jest (Node.js)
- Deployment: Heroku, AWS, or DigitalOcean
- Node.js and npm (for frontend)
- Python and pip (for backend)
- PostgreSQL or SQLite (for database)
-
Clone the repository:
git clone https://github.com/SarcasticGaymerNerd/System-Monitoring-Tool.git cd system-monitoring-tool
-
Set up the frontend:
- Navigate to the frontend directory and install dependencies:
cd frontend npm install
- Navigate to the frontend directory and install dependencies:
-
Set up the backend:
- Navigate to the backend directory and install dependencies:
cd backend pip install -r requirements.txt
- Navigate to the backend directory and install dependencies:
-
Configure the database and environment variables as needed.
-
Start the backend server:
cd backend python app.py
-
Start the frontend development server:
cd frontend npm start
-
Access the application at
http://localhost:3000
.
- Use the dashboard to monitor system health metrics.
- Set up alerts for critical system events.
- Execute maintenance tasks directly from the interface.
-
To run unit tests for the backend:
cd backend pytest
-
To run unit tests for the frontend:
cd frontend npm test
- Choose a hosting service (Heroku, AWS, DigitalOcean) and follow the deployment instructions in the Step-by-Step Development Guide.
Contributions are welcome! Please read the Contribution Guidelines for details on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the open-source community for their contributions and support.