Skip to main content

Python library to write Icinga plugins.

Project description

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.


To install, simply use pip or easy_install:

pip install pycinga


Documentation for the latest version can always be found at


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.


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

    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.

While the above example subclasses Plugin, you’re of course welcome to simply call Plugin`s methods directly and build a ``Response` yourself.

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pycinga-1.0.0-py2.py3-none-any.whl (13.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page