Skip to content
Snippets Groups Projects

My Nagios plugin wrapper

pipeline status

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/.