MKP 2.2.0 released, bugfixes for rules with no levels set
This commit is contained in:
@@ -19,6 +19,9 @@ def get_state_upper(
|
||||
levels: tuple[int | float, int | float], value: int | float
|
||||
) -> State:
|
||||
"""returns OK/WARN/CRIT depending on the given parameters"""
|
||||
if levels is None:
|
||||
# a rule with no levels set is active, assume OK state
|
||||
return State.OK
|
||||
warn, crit = levels
|
||||
if value >= crit:
|
||||
return State.CRIT
|
||||
@@ -117,7 +120,7 @@ def check_mailcow_domains(item, params, section):
|
||||
percent_storage_used_for_messages = domain[12]
|
||||
|
||||
# create (main) service for used storage (domain quota)
|
||||
_type, levels = params["levels_mailcow_domains_quota_used"]
|
||||
_level_type, levels = params["levels_mailcow_domains_quota_used"]
|
||||
state_quota = get_state_upper(levels, percent_storage_used_for_messages)
|
||||
|
||||
# create graph for used quota
|
||||
@@ -142,28 +145,28 @@ def check_mailcow_domains(item, params, section):
|
||||
yield Result(state=State.OK, notice=notice)
|
||||
|
||||
# create service for number of configured mailboxes (percent)
|
||||
_type, levels = params["levels_mailcow_domains_mailboxes_used"]
|
||||
_level_type, levels = params["levels_mailcow_domains_mailboxes_used"]
|
||||
state_mailboxes = get_state_upper(levels, percent_used_mailboxes)
|
||||
yield Metric("mailcow_domains_mailboxes", percent_used_mailboxes, levels=levels)
|
||||
notice = f"Used mailboxes: {render.percent(percent_used_mailboxes)}, {number_of_mailboxes} of {max_number_of_mailboxes} in use"
|
||||
yield Result(state=state_mailboxes, notice=notice)
|
||||
|
||||
# create service for number of configured aliases (percent)
|
||||
_type, levels = params["levels_mailcow_domains_aliases_used"]
|
||||
_level_type, levels = params["levels_mailcow_domains_aliases_used"]
|
||||
state_aliases = get_state_upper(levels, percent_used_aliases)
|
||||
yield Metric("mailcow_domains_aliases", percent_used_aliases, levels=levels)
|
||||
notice = f"Used aliases: {render.percent(percent_used_aliases)}, {number_of_aliases} of {max_number_of_aliases} in use"
|
||||
yield Result(state=state_aliases, notice=notice)
|
||||
|
||||
# create service for number of messages
|
||||
_type, levels = params["levels_mailcow_domains_num_messages"]
|
||||
_level_type, levels = params["levels_mailcow_domains_num_messages"]
|
||||
state_messages = get_state_upper(levels, total_number_of_messages)
|
||||
yield Metric("mailcow_domains_messages", total_number_of_messages, levels=levels)
|
||||
notice = f"Number of messages: {total_number_of_messages}"
|
||||
yield Result(state=state_messages, notice=notice)
|
||||
|
||||
# create service for number of configured aliases (absolute)
|
||||
_type, levels = params["levels_mailcow_domains_num_aliases"]
|
||||
_level_type, levels = params["levels_mailcow_domains_num_aliases"]
|
||||
state_aliases = get_state_upper(levels, number_of_aliases)
|
||||
yield Metric("mailcow_domains_configured_aliases", number_of_aliases, levels=levels)
|
||||
notice = (
|
||||
@@ -172,7 +175,7 @@ def check_mailcow_domains(item, params, section):
|
||||
yield Result(state=state_aliases, notice=notice)
|
||||
|
||||
# create service for number of configured mailboxes (absolute)
|
||||
_type, levels = params["levels_mailcow_domains_num_mailboxes"]
|
||||
_level_type, levels = params["levels_mailcow_domains_num_mailboxes"]
|
||||
state_mailboxes = get_state_upper(levels, number_of_mailboxes)
|
||||
yield Metric(
|
||||
"mailcow_domains_configured_mailboxes", number_of_mailboxes, levels=levels
|
||||
|
||||
Reference in New Issue
Block a user