Mailcow-CheckMK/local/share/check_mk/web/plugins/wato/mailcow_info_rules.py

108 lines
3.5 KiB
Python

from cmk.gui.i18n import _
from cmk.gui.plugins.wato import (
CheckParameterRulespecWithoutItem,
rulespec_registry,
RulespecGroupCheckParametersApplications
)
from cmk.gui.valuespec import (
Dictionary,
ListChoice,
Tuple,
Percentage,
Integer,
Float,
)
def _parameter_spec_mailcow_info():
return Dictionary(
elements=[
("levels_num_domains", Tuple(
title=_("Number of email domains"),
elements=[
Integer(
title=_("Warning at"),
size=32,
default_value=100,
),
Integer(
title=_("Critical at"),
size=32,
default_value=200,
)
],
)),
("levels_num_mailboxes", Tuple(
title=_("Number of mailboxes"),
elements=[
Integer(
title=_("Warning at"),
size=32,
default_value=500,
),
Integer(
title=_("Critical at"),
size=32,
default_value=1000,
)
],
)),
("levels_num_global_messages", Tuple(
title=_("Number of messages"),
elements=[
Integer(
title=_("Warning at"),
size=32,
default_value=100000,
),
Integer(
title=_("Critical at"),
size=32,
default_value=250000,
)
],
)),
("levels_solr_size", Tuple(
title=_("Solr size"),
elements=[
Float(
title=_("Warning at"),
size=32,
default_value=4096.0,
unit="MBytes",
),
Float(
title=_("Critical at"),
size=32,
default_value=8192.0,
unit="MBytes",
)
],
)),
("levels_solr_documents", Tuple(
title=_("Number of Solr documents"),
elements=[
Integer(
title=_("Warning at"),
size=32,
default_value=20000,
),
Integer(
title=_("Critical at"),
size=32,
default_value=40000,
)
],
)),
],
)
rulespec_registry.register(
CheckParameterRulespecWithoutItem(
check_group_name="mailcow_info",
group=RulespecGroupCheckParametersApplications,
match_type="dict",
parameter_valuespec=_parameter_spec_mailcow_info,
title=lambda: _("Levels for Mailcow info"),
)
)