#!/usr/bin/env python from pynag.Plugins import PluginHelper, ok, warning, critical, unknown from pynag.Utils import runCommand from collections import namedtuple valid_queries = "lsarray lsdrive lsenclosurebattery lsenclosurecanister lsenclosurepsu lsenclosureslot lsenclosure lsmdiskgrp lsmdskgrp lsmgrp lsrcrelationship lsvdisk" p = PluginHelper() p.add_option("-H", "--hostname", '-M', help="Hostname or ip address", dest="hostname") p.add_option("-U", "--user", help="Log in as this user to storwize", dest="user", default="nagios") p.add_option("-Q", "--query", help="Query to send to storwize (see also -L)", dest="query", default="lsarray") p.add_option("-L", "--list-queries", help="List of valid queries", dest="list_queries", action="store_true") p.add_option("--test", help="Run this plugin in test mode",
#!/usr/bin/env python from pynag.Plugins import PluginHelper, ok, warning, critical, unknown from pynag.Utils import runCommand from collections import namedtuple valid_queries = "lsarray lsdrive lsenclosurebattery lsenclosurecanister lsenclosurepsu lsenclosureslot lsenclosure lsmdiskgrp lsmdskgrp lsmgrp lsrcrelationship lsvdisk" p = PluginHelper() p.add_option("-H", "--hostname", '-M', help="Hostname or ip address", dest="hostname") p.add_option("-U", "--user", help="Log in as this user to storwize", dest="user", default="nagios") p.add_option("-Q", "--query", help="Query to send to storwize (see also -L)", dest="query", default="lsarray") p.add_option("-L", "--list-queries", help="List of valid queries", dest="list_queries", action="store_true") p.add_option("--test", help="Run this plugin in test mode", dest="test", action="store_true") p.parse_arguments() if p.options.list_queries is True: p.parser.error("Valid Queries: %s" % valid_queries) if not p.options.hostname: p.parser.error("Required options -H is missing") if p.options.query not in valid_queries.split(): p.parser.error("%s does not look like a valid query. Use -L for a list of valid queries" % p.options.query) query = p.options.query # Connect to remote storwize and run a connect def run_query(): """ Connect to a remote storwize box and run query """ command = "ssh %s@%s %s -delim ':'" % (p.options.user, p.options.hostname, p.options.query)