2020-05-15 07:37:34 +02:00
|
|
|
#! /usr/bin/env python3
|
2017-01-12 08:29:29 +00:00
|
|
|
"""
|
2021-08-10 01:49:29 +02:00
|
|
|
This is a Bootstrap script for wrapper.py, in order to retain compatibility with earlier LibreNMS setups
|
2017-01-12 08:29:29 +00:00
|
|
|
"""
|
2020-05-15 07:37:34 +02:00
|
|
|
|
2021-08-10 01:49:29 +02:00
|
|
|
import os
|
|
|
|
from argparse import ArgumentParser
|
2017-01-12 08:29:29 +00:00
|
|
|
|
2021-08-10 01:49:29 +02:00
|
|
|
import LibreNMS
|
|
|
|
import LibreNMS.wrapper as wrapper
|
2017-01-12 08:29:29 +00:00
|
|
|
|
2021-08-10 01:49:29 +02:00
|
|
|
WRAPPER_TYPE = "service"
|
|
|
|
DEFAULT_WORKERS = 1
|
2017-01-12 08:29:29 +00:00
|
|
|
|
|
|
|
"""
|
2021-08-10 01:49:29 +02:00
|
|
|
Take the amount of threads we want to run in parallel from the commandline
|
|
|
|
if None are given or the argument was garbage, fall back to default
|
2017-01-12 08:29:29 +00:00
|
|
|
"""
|
2021-08-10 01:49:29 +02:00
|
|
|
usage = (
|
|
|
|
"usage: %(prog)s [options] <amount_of_workers> (Default: {}"
|
|
|
|
"(Do not set too high, or you will get an OOM)".format(DEFAULT_WORKERS)
|
|
|
|
)
|
|
|
|
description = "Spawn multiple check-services.php processes in parallel."
|
|
|
|
parser = ArgumentParser(usage=usage, description=description)
|
|
|
|
parser.add_argument(dest="amount_of_workers", default=DEFAULT_WORKERS)
|
|
|
|
parser.add_argument(
|
|
|
|
"-d",
|
|
|
|
"--debug",
|
|
|
|
dest="debug",
|
|
|
|
action="store_true",
|
|
|
|
default=False,
|
|
|
|
help="Enable debug output. WARNING: Leaving this enabled will consume a lot of disk space.",
|
|
|
|
)
|
|
|
|
args = parser.parse_args()
|
2017-01-12 08:29:29 +00:00
|
|
|
|
2021-08-10 01:49:29 +02:00
|
|
|
config = LibreNMS.get_config_data(os.path.dirname(os.path.realpath(__file__)))
|
|
|
|
log_dir = config["log_dir"]
|
|
|
|
log_file = os.path.join(log_dir, WRAPPER_TYPE + ".log")
|
|
|
|
logger = LibreNMS.logger_get_logger(log_file, debug=args.debug)
|
2018-06-20 16:56:51 -05:00
|
|
|
|
2021-08-10 01:49:29 +02:00
|
|
|
try:
|
|
|
|
amount_of_workers = int(args.amount_of_workers)
|
|
|
|
except (IndexError, ValueError):
|
|
|
|
amount_of_workers = DEFAULT_WORKERS
|
|
|
|
logger.warning(
|
|
|
|
"Bogus number of workers given. Using default number ({}) of workers.".format(
|
|
|
|
amount_of_workers
|
2021-03-28 18:02:33 +02:00
|
|
|
)
|
|
|
|
)
|
2020-05-15 07:37:34 +02:00
|
|
|
|
2021-08-10 01:49:29 +02:00
|
|
|
wrapper.wrapper(
|
|
|
|
WRAPPER_TYPE,
|
|
|
|
amount_of_workers=amount_of_workers,
|
|
|
|
config=config,
|
|
|
|
log_dir=log_dir,
|
|
|
|
_debug=args.debug,
|
|
|
|
)
|