Ejemplo n.º 1
0
 def client_call(self, result, parsed_coms):
     u_dict = hm_classes.net_to_sys(result[3:])
     # pprint.pprint(u_dict)
     ret_state = limits.mon_STATE_OK
     used = u_dict["total_size"]
     if "max_size" in u_dict:
         max_size = u_dict["max_size"]
         perc_used = 100. * float(used) / float(max_size)
         quota_perc = "%.2f %%" % (perc_used)
         quota_info = "%s of %s" % (quota_perc,
                                    logging_tools.get_size_str(
                                        max_size,
                                        long_version=True).strip())
         if perc_used > 100:
             ret_state = limits.mon_STATE_CRITICAL
             used_info = "over quota (%s)" % (quota_info)
         elif perc_used > 80:
             ret_state = limits.mon_STATE_WARNING
             used_info = "reaching quota (%s)" % (quota_info)
         else:
             used_info = "quota ok (%s)" % (quota_info)
     else:
         used_info = "no quota info"
     account_stat = u_dict.get("mail_account", "unknown")
     if account_stat.lower() != "unlocked":
         ret_state = max(ret_state, limits.mon_STATE_WARNING)
     return ret_state, "%s %s (%s), used size is %s, %s" % (
         limits.get_state_str(ret_state),
         (u_dict.get("user_name", "name not set").split("/")[0]).strip(),
         account_stat, used and logging_tools.get_size_str(
             used, long_version=True).strip() or "not known", used_info)
Ejemplo n.º 2
0
 def client_call(self, result, parsed_coms):
     s_dict = hm_classes.net_to_sys(result[3:])
     if s_dict:
         ret_state = limits.mon_STATE_OK
         if s_dict["act_state"].lower() not in ["enabled", "started"]:
             ret_state = limits.mon_STATE_CRITICAL
         ret_str = "%s: %s %s" % (limits.get_state_str(ret_state),
                                  s_dict["name"], s_dict["act_state"])
     else:
         ret_state, ret_str = limits.mon_STATE_CRITICAL, "Error no info found"
     return ret_state, ret_str