def main(): argp = argparse.ArgumentParser(description=__doc__) argp.add_argument('-H', '--host', required=True, metavar='hostname', help='server hostname') argp.add_argument('-p', '--port', required=False, metavar='port', default=1489, type=int, help='server port, default 1489') argp.add_argument('-s', '--secure', action='store_true', help='use ssl') argp.add_argument('-f', '--fullmap', action='store_true', help='check for malicious servers registered on docbroker, ' '-d/--docbase argument must specify all servers supposed to be registered') argp.add_argument('-d', '--docbase', required=False, metavar='docbase', help='docbase name') argp.add_argument('-n', '--name', metavar='name', default='', help='name of check that appears in output') argp.add_argument('-t', '--timeout', metavar='timeout', default=60, type=int, help='check timeout, default is 60 seconds') argp.add_argument('-w', '--warning', metavar='RANGE', help='warning threshold') argp.add_argument('-c', '--critical', metavar='RANGE', help='critical threshold') args = argp.parse_args() if ':' in args.host: chunks = args.host.split(':') setattr(args, 'host', chunks[0]) setattr(args, 'port', int(chunks[1])) check = Check(CheckSummary()) if getattr(args, 'name', None): check.name = args.name check.add(CheckDocbroker(args, check.results)) check.add( ScalarContext( TIME_THRESHOLDS, getattr(args, "warning"), getattr(args, "critical"), fmt_metric=fmt_metric ) ) check.main(timeout=args.timeout)
def main(): args = parse_args() check = Check( CloudFileStats( args.username, args.api_key, args.container, float(args.timeout))) check.add(ScalarContext('time', args.warn, args.critical)) check.add(ScalarContext('count', '', '')) check.main(timeout=args.timeout)
def main(): argp = argparse.ArgumentParser(description=__doc__) argp.add_argument('-H', '--host', required=True, metavar='hostname', help='server hostname') argp.add_argument('-p', '--port', required=False, metavar='port', type=int, help='server port') argp.add_argument('-i', '--docbaseid', required=False, metavar='docbaseid', type=int, help='docbase identifier') argp.add_argument('-l', '--login', metavar='username', help='username') argp.add_argument('-a', '--authentication', metavar='password', help='password') argp.add_argument('-s', '--secure', action='store_true', help='use ssl') argp.add_argument( '-t', '--timeout', metavar='timeout', default=60, type=int, help='check timeout, default is 60 seconds') argp.add_argument( '-m', '--mode', required=True, metavar='mode', help="mode to use, one of: " + ", ".join("%s (%s)" % (x, modes[x][3]) for x in modes.keys())) argp.add_argument('-j', '--jobs', metavar='jobs', default='', help='jobs to check, comma-separated list') argp.add_argument('-n', '--name', metavar='name', default='', help='name of check that appears in output') argp.add_argument('-q', '--query', metavar='query', default='', help='query to run') argp.add_argument('--stores', metavar='stores', default='', help='stores to check') argp.add_argument('-f', '--format', metavar='format', default='', help='query output format') argp.add_argument( '-w', '--warning', metavar='RANGE', help='warning threshold for query results, supported in following modes: ' + ", ".join(x for x in modes.keys() if modes[x][1])) argp.add_argument( '-c', '--critical', metavar='RANGE', help='critical threshold for query results, supported in following modes: ' + ", ".join(x for x in modes.keys() if modes[x][1])) argp.add_argument( '--warningtime', metavar='RANGE', help='warning threshold for execution time, supported in following modes: ' + ", ".join(x for x in modes.keys() if modes[x][2])) argp.add_argument( '--criticaltime', metavar='RANGE', help='critical threshold for execution time, supported in following modes: ' + ", ".join(x for x in modes.keys() if modes[x][2])) args = argp.parse_args() m = re.match('^(dctm(s)?://((.*?)(:(.*))?@)?)?([^/:]+?)(:(\d+))?(/(\d+))?$', args.host) if m: if m.group(2): setattr(args, 'secure', True) pass if m.group(4): setattr(args, 'login', m.group(4)) if m.group(6): setattr(args, 'authentication', m.group(6)) if m.group(7): setattr(args, 'host', m.group(7)) if m.group(9) is not None: setattr(args, 'port', int(m.group(9))) if m.group(11) is not None: setattr(args, 'docbaseid', int(m.group(11))) if args.login and not args.authentication: m = re.match('^(.*?):(.*)$', args.login) if m: setattr(args, 'login', m.group(1)) setattr(args, 'authentication', m.group(2)) check = Check(CheckSummary()) if args.name: check.name = args.name else: check.name = args.mode check.add(CheckDocbase(args, check.results)) check.add( ScalarContext( THRESHOLDS, getattr(args, "warning"), getattr(args, "critical"), fmt_metric=fmt_metric ) ) check.add( ScalarContext( TIME_THRESHOLDS, getattr(args, "warningtime"), getattr(args, "criticaltime"), fmt_metric=fmt_nometric, ) ) check.main(timeout=args.timeout)