File: //usr/lib/fm-agent/countermeasures/plugins/top.py
"""
FortiMonitor top Countermeasure
Copyright 2023 Fortinet, Inc. All Rights Reserved.
fm-ops@fortinet.com
"""
from CountermeasurePlugin import CountermeasurePlugin
import sys
class TopCountermeasure(CountermeasurePlugin):
name = "top"
textkey = "info.top"
description = "Gather most recent top output"
max_frequency = None
max_runtime = None
sudo_requirements = []
author = "support@panopta.com"
def run(self):
"""
Execute the countermeasure action
"""
if "freebsd" in sys.platform or "darwin" in sys.platform:
return_code, output = self.execute("top -l 1")
else:
return_code, output = self.execute("top -b -n 1")
self.save_text_output(output)
self.save_return_code(return_code)