HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/root/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)