55ok
| Direktori : /bin/fm-agent/ |
| Current File : //bin/fm-agent/maintenance.py |
#!/usr/bin/env python
import sys
from optparse import OptionParser
AGG_URL = "rx.us01.fortimonitor.com"
VERSION = "2026.2.4"
BASE_CONFIG_DIR = "/etc"
PKG_DIR = "fm-agent"
BRAND = "fm"
if "freebsd" in sys.platform.lower() or "darwin" in sys.platform.lower():
sys.path.insert(0, "/usr/local/fm-agent/lib/library")
else:
sys.path.insert(0, "/usr/lib/fm-agent/library")
sys.path.insert(0, "/usr/lib/fm-agent/")
from maintenance import Maintenance
if __name__ == "__main__":
parser = OptionParser()
parser.add_option(
"-s",
"--start",
dest="start",
action="store_true",
help="Flag to determine if we are going to start a maintenance",
default=False,
)
parser.add_option(
"-e",
"--end",
dest="end",
action="store_true",
help="Flag to determine if we are going to end a maintenance",
default=False,
)
parser.add_option(
"-d",
"--duration",
dest="duration",
help="The duration of the maintenance in minutes",
)
parser.add_option(
"-t",
"--metric-tags",
dest="metric_tags",
help="Optional comma separated list of tags to pass to the maintenance.",
)
options, args = parser.parse_args()
start = options.start
end = options.end
duration = options.duration
if not start and not end:
print("Please specify an action for the maintenance, --start/--end")
sys.exit(1)
if start and end:
print("Please specific only one of our 2 actions, --start/--end")
sys.exit(1)
if not duration and not end:
print("Please specify a duration for the maintenance.")
sys.exit(1)
metric_tags = options.metric_tags
maintenance = Maintenance(BRAND, AGG_URL, VERSION, BASE_CONFIG_DIR, PKG_DIR)
if end:
maintenance.end()
elif start:
maintenance.start(duration, metric_tags)