Skip to content

mxshell/MXStatus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MXStatus

MXStatus is a comprehensive system for monitoring the system status of multiple Linux machines from a centralized server.

System Structure

MXStatus is composed of three main components: Client, Server, and Web Client.

System Structure

Client

The Client component is installed on each Linux machine that you want to monitor. It actively periodically posts the host machine's status to the central server.

Server

The Server is deployed on a publicly accessible cloud server with a fixed IP address. It runs API endpoints to receive status updates from all clients. It also handles requests from the Web Client.

Web Client

The Web Client serves as the user interface to interact with the server and view the status of the monitored workstations.

Deployment

Deploy Server

We use Docker for easy server deployment. Follow these steps to get your server up and running:

  1. Make sure you have Docker installed.

  2. Clone this repository; Navigate to the project root directory.

  3. Run the following command to deploy the server:

    docker compose up --build -d
  4. To tear down the server and remove the Docker image, run:

    docker compose down --rmi all

Install Client

Please refer to the Client INSTALL.md.

Development

This section is for developers who want to contribute to the development of MXStatus.

Setup Environment

To set up the development environment:

  1. Create a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
  2. Install the required dependencies:

    pip install -r requirements.txt

Run Development Server

To run the development server, use the following command from the project root directory:

uvicorn server.main:app --reload --port 5000

Run Client

For testing the Client component:

  1. Navigate to the 'client' directory:

    cd client
  2. Run the Client using:

    python3 main.py

Feel free to explore and contribute to the development of MXStatus!

About

Status Monitoring for Linux Workstations

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages