Class library for writing monitoring (Nagios/Icinga) plugins
Project description
This is a fork of the nagiosplugin. Changes:
Drop support for Python versions 3.9 and below
Add type hints
Remove deprecated code: ScalarResult
Rename all four service state objects to lower-class names. For example, Ok was renamed to ok, and so on
Rename the warning state from warn to warning
Export the class ServiceState
Convert all namped tuples in classes (Metric, Performance, ServiceState)
Remove compat.py
Replace the result_cls attribute with a result method
Add helper methods ok(), warning(), critical(), unknown() in Context
Add the setup_argparse function
Add the timespan() function to convert time interval strings, such as 2h30min, into seconds.
Merge all code into a single source file,
Merge the entire code base into a single file to make it easier to embed the code in a monitoring plugin instead of importing it. This allows a plugin to be implemented without dependencies.
About
mplugin is a Python class library which helps writing Nagios or Icinga compatible plugins easily in Python. It cares for much of the boilerplate code and default logic commonly found in monitoring checks, including:
Monitoring Plugin API compliant parameters and output formatting
Full monitoring range syntax support
Automatic threshold checking
Multiple independend measures
Custom status line to communicate the main point quickly
Long output and performance data
Timeout handling
Persistent “cookies” to retain state information between check runs
Resume log file processing at the point where the last run left
No dependencies beyond the Python standard library.
mplugin runs on POSIX and Windows systems. It is compatible with and Python 3.10 and later.
Feedback and Suggestions
mplugin is currently maintained by Josef Friedrich <josef@friedrich.rocks>. A public issue tracker can be found at <https://github.com/Josef-Friedrich/mplugin/issues> for bugs, suggestions, and patches.
License
The mplugin package is released under the Zope Public License 2.1 (ZPL), a BSD-style Open Source license.
Documentation
Comprehensive documentation is available online. The examples mentioned in the tutorials can also be found in the examples directory of the source distribution.
Acknowledgements
mplugin was originally written and maintained by Christian Kauhaus <kc@flyingcircus.io>. Additional contributions from the community are acknowledged in the file CONTRIBUTORS.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mplugin-2.0.0.tar.gz.
File metadata
- Download URL: mplugin-2.0.0.tar.gz
- Upload date:
- Size: 24.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80af0c4aa67c1520426764853248583b4c325f3eed4053c13160986cd3c4af47
|
|
| MD5 |
0b539ee3a6fdf4fe6ca7fbec888af95b
|
|
| BLAKE2b-256 |
edc13f586437f02a21a4b83a9964840b9826a90469ada3e0d72ddd43024a63ab
|
File details
Details for the file mplugin-2.0.0-py3-none-any.whl.
File metadata
- Download URL: mplugin-2.0.0-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e550898316828cd1b763e4c424579376d511e32a4dd290315a3bc12a3f21b750
|
|
| MD5 |
a2a4c9aa4590ba03f17ddd5607bb999a
|
|
| BLAKE2b-256 |
bef23ab0dd405276c225f1ac9520bf01a21535323b2e48411ef821109025b8a8
|