My Nagios plugin wrapper
The goal of this project is running Nagios plugins without a monitoring system. It is intended for my personal use as the warning and critical alerts go to my notification mechanism. There is a small-ish binary that is created in the CI pipeline that doesn't have any external dependencies (like the Python VM or any 3rd party Python packages). The latest binary is avaiable at https://git.shore.co.il/shore/mnpw/-/jobs/artifacts/master/raw/dist/mnpw?job=build-executable and should work all Linux distro with glibc 2.17 or newer.
Usage
usage: mnpw [-h] [-v] [-V] [-d] [-q] [-w] [-u] [-e] [-t TIMEOUT] command [arguments ...]
My Nagios plugin wrapper.
positional arguments:
command Plugin command
arguments Command arguments
optional arguments:
-h, --help show this help message and exit
-v, --verbose Verbose output
-V, --version show program's version number and exit
-d, --dry-run Dry-run, don't notify
-q, --quiet, --silent
No output, except for errors.
-w, --warn Notify when the check status is WARNING.
-u, --unknown Notify when the check status is UNKNOWN.
-e, --errors Notify on check errors.
-t TIMEOUT, --timeout TIMEOUT
Command timeout (in seconds), defaults to 10
Usage as library
Although the CLI is of little use to anybody but me, you may find the Nagios plugin handling useful and would want to use it. The package is not published to PyPI so your best option is getting a direct download of the wheel package from the releases pages.
Development
For local development, the following is required:
To run all of the tests locally:
poetry install
poetry run pre-commit run --all-files
poetry run pytest
poetry run make bats
All of those tests (and more) run in the CI pipeline on each push.
To release a new verion:
poetry run bumpversion major|minor|patch
This will commit the version change, tag and push it and the pipeline will release a new version.
License
This software is licensed under the MIT license (see the LICENSE.txt
file).
Author
Nimrod Adar, contact me or visit my website. Patches are welcome via git send-email. The repository is located at: https://git.shore.co.il/nimrod/.