Simplemonitor

A Python-based network and host monitor

Download as .zip Download as .tar.gz View on GitHub

SimpleMonitor is a Python script which monitors hosts and network connectivity. It is designed to be quick and easy to set up and lacks complex features that can make things like Nagios, OpenNMS and Zenoss overkill for a small business or home network. Remote monitor instances can send their results back to a central location.

SimpleMonitor supports:

Adding more monitor types is quite simple if you are able to code in Python.

Logging and alerting options are:

Again, adding more logging/alerting methods is simply a case of writing some Python.

SimpleMonitor also features:

Getting started

SimpleMonitor requires Python >= 3.6.2 (check with python -V). You may need to install something like python3-pip with your package manager to get the right version installed. Make sure that the pip you use in the command below is the one for Python 3. (Again, check with pip -V). It might be called pip3.

If you want to be able to query the Ring API for your doorbell battery level, use simplemonitor[ring]

(Ubuntu 20.04 users may find this page helpful for setting up Python 3.)

I quite like pyenv for installing different versions of Python, instead of using the system package manager. You may also want to check out pipx which lets you easily install tools in their own virtualenv.

Running SimpleMonitor

Assuming your $PATH covers where pip installs things, you can just run simplemonitor.

SimpleMonitor does not fork.

In the scripts folder you can find startup scripts for various systems. You will need to adjust paths, usernames and options before using them! If you want to run it as a Windows Service, you want winmonitor.exe. I am not a Windows user so cannot offer advice on correctly setting this up.

Command line options

Configuration

Testing

These options exist mainly for automated testing and validation.

Output

SimpleMonitor currently outputs everything to stdout.

Licence

SimpleMonitor is released under the BSD licence.

Fork me on GitHub