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/plugins/exim.py
import agent_util


class EximPlugin(agent_util.Plugin):
    textkey = "exim"
    label = "Exim"

    @classmethod
    def get_metadata(self, config):
        status = agent_util.SUPPORTED
        msg = None

        exim_bin = agent_util.which("exim")
        if not exim_bin:
            self.log.info("couldn't find exim binary")
            status = agent_util.UNSUPPORTED
            msg = "Couldn't find exim binary"
            return {}

        data = {
            "queue_depth": {
                "label": "Exim queue depth",
                "options": None,
                "status": status,
                "error_message": msg,
            }
        }

        return data

    def check(self, textkey, data, config={}):
        exim_bin = agent_util.which("exim", exc=True)
        retcode, output = agent_util.execute_command("%s -bpc" % exim_bin)
        self.log.debug("exim -bpc output: %s" % str(output))
        output = output.splitlines()
        fields = output[0].split()

        return int(fields[0])