__author__ = "Zenon Mousmoulas"

import os
import sys
import socket
import traceback
import urllib2
import cookielib
import simplejson as json
from optparse import OptionGroup
from NagiosPlugin import NagiosPlugin
from MultiPartForm import MultiPartForm

# Setup plugin
plugin = NagiosPlugin(
    version="1.0",
    usage="Usage: %prog -H <hostname> [-U <username>] -P <password> [options]",
    description="Nagios plugin for UBNT-M radios (over HTTP)")

plugin.parser.get_option(
    "-w"
).help += "s (signal,signal chain0,signal chain1,noise,ccq,airmax quality,airmax capacity,tx rate,rx rate)"
plugin.parser.get_option(
    "-c"
).help += "s (signal,signal chain0,signal chain1,noise,ccq,airmax quality,airmax capacity,tx rate,rx rate)"

connGroup = OptionGroup(plugin.parser, "Connection options")
connGroup.add_option(
    "-H",
    "--httphost",
    help=
    "HTTP(S) protocol, hostname, port (optional), as URL, e.g: http://example.com:port, https://example.com etc."
Пример #2
0
#!/usr/bin/env python
"""Example plugin for NagiosPlugin class."""

import sys

from NagiosPlugin import NagiosPlugin

n = NagiosPlugin("An example check")
argparser = n.defaultArgs()
try:
    args = argparser.parse_args(sys.argv[1:])

    # Check something
    def checkSomething():
        return 5

    res = checkSomething()

    messages = { 
        n.CRITICAL: "Something gone wild.",
        n.WARNING: "Something getting out of bounds.",
        n.OK: "Everything fine."
        }

    stat = n.CRITICAL * args.critical[0](res)
    stat = stat or n.WARNING * args.warning[0](res)

    out = n.format([(stat, messages[stat])])
except Exception as Err:
    out = n.format([(n.UNKNOWN, Err[-1])])