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/reboot.py
"""
FortiMonitor Reboot Countermeasure

Copyright 2023 Fortinet, Inc. All Rights Reserved.
fm-ops@fortinet.com

"""

from CountermeasurePlugin import CountermeasurePlugin


class RebootCountermeasure(CountermeasurePlugin):
    name = "Reboot Server"
    textkey = "reboot"
    description = "Reboot the server"
    wall_announce_delay = 30
    max_frequency = 1800
    max_runtime = None
    sudo_requirements = ["shutdown"]
    author = "support@panopta.com"

    def run(self):
        """
        Issue a "shutdown -r" command, with an 15 second sleep to give us time report the result
        back to Panopta before the reboot happens.
        """

        return_code, output = self.execute("sleep 15; sudo -n shutdown -r", block=False)
        self.save_text_output("Server reboot initiated")
        self.save_return_code(c.return_code)