PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` import agent_util class PostfixPlugin(agent_util.Plugin): textkey = "postfix" label = "Postfix" @classmethod def get_metadata(self, config): status = agent_util.SUPPORTED msg = None # check if mailq is even installed installed = agent_util.which("mailq") if not installed: self.log.info("mailq binaries not found") status = agent_util.UNSUPPORTED msg = "mailq not found" return {} if status is agent_util.SUPPORTED: try: ret, output = agent_util.execute_command("mailq") if ret != 0: raise Exception except: self.log.error("couldn't get postfix status") status = agent_util.MISCONFIGURED msg = "Couldn't get postfix status, make sure mail system is running " return {} data = { "postfix.queue_size": { "label": "Postfix queue size", "options": None, "status": status, "error_message": msg, "unit": "kB" }, "postfix.requests": { "label": "Number of requests", "options": None, "status": status, "error_message": msg, "unit": "requsts" }, } return data def check(self, textkey, data, config): try: res = 0 ret, output = agent_util.execute_command("mailq | tail -n 1") self.log.debug("mailq | tail -n 1: %s" % str(output)) if ret == 0: output = output.strip().replace("--", "").replace(".","") if textkey == "postfix.queue_size": res = output.split("Kbytes")[0] else: res = output.split("in")[-1].split("Request")[0] res = int(res) except: res = 0 return res