Skip to content

rubikproxy/ServerMonPy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to ServerMonPy - Real-time Server Monitoring 2023

In an increasingly interconnected world, the reliable and efficient operation of servers and remote machines is paramount. Whether you are managing a critical infrastructure, a cloud-based application, or a personal server, having real-time insights into system performance is invaluable. That's where ServerMonPy comes into play.

Features

ServerMonPy is a powerful Python package and command-line tool designed to empower system administrators, DevOps professionals, and developers with the ability to monitor remote servers and machines in real-time, effortlessly. It leverages the simplicity and security of SSH (Secure Shell) connections to provide you with critical insights into the performance and health of your systems.

  1. Real-Time Monitoring ServerMonPy excels at real-time monitoring, delivering vital information about your remote server's performance as it happens. With just a few simple commands, you can gain immediate insights into CPU usage, memory utilization, network activity, and more.

  2. Secure Authentication Authentication is a cornerstone of secure server management. ServerMonPy ensures your credentials are protected by utilizing SSH for secure and encrypted connections. Your login credentials remain confidential throughout the monitoring process.

  3. User-Friendly Interfaces The command-line interface of ServerMonPy is designed for simplicity and ease of use. Anyone, from beginners to seasoned professionals, can quickly grasp its functionality and start monitoring servers with confidence.

  4. Customizable Monitoring We understand that different users have unique monitoring needs. ServerMonPy provides customization options, allowing you to tailor monitoring intervals and parameters to match your specific requirements.

Installing

The tool will prompt you for the hostname or public IP, your username, and securely obtain your password. Once authenticated, real-time monitoring begins, displaying a wealth of information about your remote server's performance.

pip install ServerMonPy

Project Information

Project documentation can be found here <http://ServerMonPy-mail.readthedocs.org/>__

Fork and Contribute

We welcome and encourage contributions from the open-source community. If you find a bug, have a feature request, or want to improve ServerMonPy, here's how you can contribute:

  1. Fork the Repository: Click the "Fork" button at the top-right corner of this repository to create your own copy.

  2. Clone your Fork: Use git clone to clone your forked repository to your local machine.

    git clone https://github.com/rubikproxy/ServerMonPy.git
  3. Create a New Branch: Create a new branch for your changes.

    git checkout -b feature-or-fix-name
  4. Make Changes: Make your desired changes or additions to the code.

  5. Test: Ensure that your changes don't introduce new issues and pass existing tests.

  6. Commit Changes: Commit your changes with clear and concise commit messages.

    git commit -m "Add feature: YourFeatureName"
  7. Push to Your Fork: Push your changes to your fork on GitHub.

    git push origin feature-or-fix-name
  8. Open a Pull Request: Go to the original repository and open a pull request from your branch to the main branch of the original repository.

  9. Discuss and Review: Collaborate with other contributors and maintainers to review your changes. Be open to feedback and address any necessary adjustments.

  10. Merge: Once your pull request is approved, it will be merged into the main project.

  11. Congratulations: You've successfully contributed to ServerMonPy! Your changes will now be part of this open-source project. Thank you for helping improve ServerMonPy! Your contributions are valuable to the community.

Source

You can find the source on GitHub:

click here

Advanced Usage

For advanced users and developers, ServerMonPy can be integrated into your own Python projects. Import the main function and incorporate server monitoring into your scripts and applications, giving you even more flexibility and control.

from ServerMonPy import main

if __name__ == "__main__":
    main()

License

ServerMonPy is released under the MIT License , which can be found click here

Testing


We take testing seriously to maintain the reliability and quality of ServerMonPy. To contribute effectively or use the tool with confidence, it's crucial to understand how to run tests and ensure everything is working as expected.

Running Tests

To run the project's tests locally, follow these steps:

  1. Clone the Repository: If you haven't already, clone the ServerMonPy repository to your local machine.

    git clone https://github.com/rubikproxy/ServerMonPy.git
  2. Install Dependencies: Ensure you have the required dependencies installed. You can install them using pip:

    pip install -r requirements.txt
  3. Navigate to the Tests Directory: Change your working directory to the tests folder.

    cd ServerMonPy/tests
  4. Run the Tests: Execute the test suite using your preferred test runner, typically unittest or pytest.

    For unittest:

    python -m unittest test_main.py

    For pytest:

    pytest test_main.py

Writing New Tests

Contributions that include new functionality or bug fixes should ideally include corresponding tests. These tests help maintain and improve code quality.

  1. Create a New Test File: If necessary, create a new test file in the tests directory. Test files should have names following the convention test_*.py.

  2. Write Your Tests: Add test cases using the testing framework of your choice (e.g., unittest, pytest). Ensure your test cases cover the intended behavior.

  3. Run Your Tests: Execute your new tests to ensure they pass and do not introduce new issues.

  4. Submit a Pull Request: When you submit your changes, include your new tests in the pull request. This helps reviewers understand the purpose and functionality of your code.

Continuous Integration (CI)

Our project uses continuous integration (CI) to automatically run tests on every pull request. This ensures that changes are tested in a controlled environment and helps maintain code quality.

Reporting Issues

If you encounter any issues while running tests or have questions about testing procedures, please open an issue. We'll be happy to assist you.

By contributing to testing and maintaining test coverage, you play a vital role in the ongoing reliability and stability of ServerMonPy.

Thank you for your commitment to quality and your contributions to the project!

Development

ServerMonPy is written entirely in Python and runs on Python 3. It should hopefully run on any platform that supports Python and has Unix semantics.

If you find yourself lost in source code, just yell.

PEP-8 should be followed where possible, but feel free to ignore the 80 character limit it imposes (120 is a good marker IMO).

Contributors

  1. LOGU
  2. GANESAN
  3. SURESH
  4. HEMACHANDERAN-R
  5. SANJAY KUMAR