Skip to content

Challenge: Build a project that automatically monitors, reports, and performs basic maintenance tasks for IT systems, including servers, networks, and workstations.

License

Notifications You must be signed in to change notification settings

SarcasticGaymerNerd/System-Monitoring-Tool

Repository files navigation

System Monitoring Tool

Overview

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.

Features

  • 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.

Technologies Used

  • 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

Getting Started

Prerequisites

  • Node.js and npm (for frontend)
  • Python and pip (for backend)
  • PostgreSQL or SQLite (for database)

Installation

  1. Clone the repository:

    git clone https://github.com/SarcasticGaymerNerd/System-Monitoring-Tool.git
    cd system-monitoring-tool
  2. Set up the frontend:

    • Navigate to the frontend directory and install dependencies:
      cd frontend
      npm install
  3. Set up the backend:

    • Navigate to the backend directory and install dependencies:
      cd backend
      pip install -r requirements.txt
  4. Configure the database and environment variables as needed.

Running the Application

  • 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.

Usage

  • Use the dashboard to monitor system health metrics.
  • Set up alerts for critical system events.
  • Execute maintenance tasks directly from the interface.

Testing

  • To run unit tests for the backend:

    cd backend
    pytest
  • To run unit tests for the frontend:

    cd frontend
    npm test

Deployment

Documentation

Contributing

Contributions are welcome! Please read the Contribution Guidelines for details on how to contribute to this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Thanks to the open-source community for their contributions and support.

About

Challenge: Build a project that automatically monitors, reports, and performs basic maintenance tasks for IT systems, including servers, networks, and workstations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published