- Download: https://pypi.org/project/ServerMonPy/
- Source: https://github.com/rubikproxy/ServerMonPy
- Docs: https://rubikproxy.github.io/ServerMonPy/
- GUI : https://github.com/rubikproxy/ServerMonPy/releases
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.
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.
-
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.
-
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.
-
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.
-
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.
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 documentation can be found
here <http://ServerMonPy-mail.readthedocs.org/>
__
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:
-
Fork the Repository: Click the "Fork" button at the top-right corner of this repository to create your own copy.
-
Clone your Fork: Use
git clone
to clone your forked repository to your local machine.git clone https://github.com/rubikproxy/ServerMonPy.git
-
Create a New Branch: Create a new branch for your changes.
git checkout -b feature-or-fix-name
-
Make Changes: Make your desired changes or additions to the code.
-
Test: Ensure that your changes don't introduce new issues and pass existing tests.
-
Commit Changes: Commit your changes with clear and concise commit messages.
git commit -m "Add feature: YourFeatureName"
-
Push to Your Fork: Push your changes to your fork on GitHub.
git push origin feature-or-fix-name
-
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. -
Discuss and Review: Collaborate with other contributors and maintainers to review your changes. Be open to feedback and address any necessary adjustments.
-
Merge: Once your pull request is approved, it will be merged into the main project.
-
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.
You can find the source on GitHub:
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()
ServerMonPy is released under the MIT License , which can be found click here
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.
To run the project's tests locally, follow these steps:
-
Clone the Repository: If you haven't already, clone the ServerMonPy repository to your local machine.
git clone https://github.com/rubikproxy/ServerMonPy.git
-
Install Dependencies: Ensure you have the required dependencies installed. You can install them using
pip
:pip install -r requirements.txt
-
Navigate to the Tests Directory: Change your working directory to the
tests
folder.cd ServerMonPy/tests
-
Run the Tests: Execute the test suite using your preferred test runner, typically
unittest
orpytest
.For
unittest
:python -m unittest test_main.py
For
pytest
:pytest test_main.py
Contributions that include new functionality or bug fixes should ideally include corresponding tests. These tests help maintain and improve code quality.
-
Create a New Test File: If necessary, create a new test file in the
tests
directory. Test files should have names following the conventiontest_*.py
. -
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. -
Run Your Tests: Execute your new tests to ensure they pass and do not introduce new issues.
-
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.
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.
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!
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).