Pycinga is a simple Python library meant to make writing Icinga plugins much easier. Icinga plugins have quite a few guidelines to adhere to, and Pycinga provides helpers to make this easy.
Install
To install, simply use pip or easy_install:
pip install pycinga
Documentation
Documentation for the latest version can always be found at http://pycinga.readthedocs.io/en/latest.
Features
The core features supported by Pycinga:
Parsing command line arguments such that the standard expected arguments (such as -H, -w, -c) are accepted.
Returning proper POSIX exit code based on status.
Parsing Icinga range formats (such as “@10:20”, “~:50”, “10”, etc.)
Outputting status and message.
Outputting performance data.
Example
What all these features result in is a concise, simple, and guidelines-compliant Python-based Icinga plugin:
from pycinga import Plugin
class UserCheck(Plugin):
"""
Icinga plugin to check how many users are logged into this
machine.
"""
def check(self):
# Get the number of logged in users, for now we hardcode
users = 27
# Build a response and exit. This `response_for_value` automatically
# creates a response with the proper status given the value and the
# warning/critical ranges passed in via the command line.
response = self.response_for_value(users, "%d users" % users)
response.set_perf_data("users", users)
response.set_perf_data("another metric", 27, "MB")
return response
if __name__ == '__main__':
# Build the plugin instance and run it. This will also parse
# command line arguments by default.
UserCheck().check().exit()
While the above example subclasses Plugin, you’re of course welcome to simply call Plugin`s methods directly and build a ``Response` yourself.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pycinga-1.0.1.tar.gz.
File metadata
- Download URL: pycinga-1.0.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68f31ea79e6c67bf85fd238fd812ba21581a610d47c5dd50f088f82b6002230f
|
|
| MD5 |
c23a305f50adf11d33ee332d9a373957
|
|
| BLAKE2b-256 |
7834853f4180e057d6012a3aeb93210927686fcb59276674ed7e26899138b975
|