Module: check_mk
Branch: master
Commit: 3961952ccb03eff129bdc092e834bba3df764f55
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3961952ccb03ef…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Dec 11 10:31:59 2014 +0100
Remove bogus process specification from parameter rule
---
web/htdocs/wato.py | 69 +++++++++++++++++-----------------
web/plugins/icons/wato.py | 4 +-
web/plugins/wato/check_parameters.py | 32 +++++++++++++---
3 files changed, 64 insertions(+), 41 deletions(-)
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index 4867850..c950320 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -15285,7 +15285,7 @@ def register_rule(group, varname, valuespec = None, title = None,
# Special version of register_rule, dedicated to checks. This is not really
# modular here, but we cannot put this function into the plugins file because
# the order is not defined there.
-def register_check_parameters(subgroup, checkgroup, title, valuespec, itemspec,
matchtype, has_inventory=True):
+def register_check_parameters(subgroup, checkgroup, title, valuespec, itemspec,
matchtype, has_inventory=True, register_static_check=True):
# Register rule for inventorized checks
if valuespec and has_inventory: # would be useless rule if check has no parameters
itemenum = None
@@ -15312,40 +15312,41 @@ def register_check_parameters(subgroup, checkgroup, title,
valuespec, itemspec,
itemenum = itemenum,
match = matchtype)
- # Register rule for static checks
- elements = [
- CheckTypeGroupSelection(
- checkgroup,
- title = _("Checktype"),
- help = _("Please choose the check plugin")) ]
- if itemspec:
- elements.append(itemspec)
- else:
- # In case of static checks without check-item, add the fixed
- # valuespec to add "None" as second element in the tuple
- elements.append(FixedValue(
- None,
- totext = '',
- ))
- if not valuespec:
- valuespec =\
- FixedValue(None,
- help = _("This check has no parameters."),
- totext = "")
- if not valuespec.title():
- valuespec._title = _("Parameters")
- elements.append(valuespec)
+ if register_static_check:
+ # Register rule for static checks
+ elements = [
+ CheckTypeGroupSelection(
+ checkgroup,
+ title = _("Checktype"),
+ help = _("Please choose the check plugin")) ]
+ if itemspec:
+ elements.append(itemspec)
+ else:
+ # In case of static checks without check-item, add the fixed
+ # valuespec to add "None" as second element in the tuple
+ elements.append(FixedValue(
+ None,
+ totext = '',
+ ))
+ if not valuespec:
+ valuespec =\
+ FixedValue(None,
+ help = _("This check has no parameters."),
+ totext = "")
+ if not valuespec.title():
+ valuespec._title = _("Parameters")
+ elements.append(valuespec)
- register_rule(
- "static/" + subgroup,
- "static_checks:%s" % checkgroup,
- title = title,
- valuespec = Tuple(
- title = valuespec.title(),
- elements = elements,
- ),
- itemspec = itemspec,
- match = "all")
+ register_rule(
+ "static/" + subgroup,
+ "static_checks:%s" % checkgroup,
+ title = title,
+ valuespec = Tuple(
+ title = valuespec.title(),
+ elements = elements,
+ ),
+ itemspec = itemspec,
+ match = "all")
# Registers notification parameters for a certain notification script,
# e.g. "mail" or "sms". This will create:
diff --git a/web/plugins/icons/wato.py b/web/plugins/icons/wato.py
index cf03036..f86cabf 100644
--- a/web/plugins/icons/wato.py
+++ b/web/plugins/icons/wato.py
@@ -36,10 +36,12 @@ def wato_link(folder, site, hostname, where):
if where == "inventory":
url += "&mode=inventory"
help = _("Edit services")
+ icon = "services"
else:
url += "&mode=edithost"
help = _("Edit this host")
- return '<a href="%s">%s</a>' % (url,
html.render_icon('services', help))
+ icon = "wato"
+ return '<a href="%s">%s</a>' % (url,
html.render_icon(icon, help))
else:
return ""
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index d5ff0e4..73e80d7 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -340,7 +340,7 @@ register_rule(group + '/' + subgroup_inventory,
register_rule(group + '/' + subgroup_inventory,
varname = "inventory_processes_rules",
- title = _('Process Inventory'),
+ title = _('Process Discovery'),
help = _("This ruleset defines criteria for automatically creating checks
for running processes "
"based upon what is running when the service discovery is done.
These services will be "
"created with default parameters. They will get critical when no
process is running and "
@@ -348,10 +348,10 @@ register_rule(group + '/' + subgroup_inventory,
valuespec = Dictionary(
elements = [
('descr', TextAscii(
- title = _('Service Description'),
+ title = _('Process Name'),
style = "dropdown",
allow_empty = False,
- help = _('<p>The service description may contain one or more
occurances of <tt>%s</tt>. If you do this, then the pattern must be a regular
'
+ help = _('<p>The process name may contain one or more
occurances of <tt>%s</tt>. If you do this, then the pattern must be a regular
'
'expression and be prefixed with ~. For each
<tt>%s</tt> in the description, the expression has to contain one
"group". A group '
'is a subexpression enclosed in brackets, for example
<tt>(.*)</tt> or <tt>([a-zA-Z]+)</tt> or
<tt>(...)</tt>. When the inventory finds a process '
'matching the pattern, it will substitute all such groups
with the actual values when creating the check. That way one '
@@ -419,6 +419,7 @@ register_rule(group + '/' + subgroup_inventory,
'the actual user name. For example "\\\\NT
AUTHORITY\NETWORK SERVICE" or
"\\\\CHKMKTEST\Administrator".</p>'),
)),
],
+ required_keys = [ "descr" ],
# Some keys have moved into a check parameter ruleset
ignored_keys = [ 'levels', 'perfdata', 'handle_count',
'cpulevels', 'cpu_average', 'virtual_levels',
'resident_levels'],
@@ -6233,6 +6234,25 @@ def ps_convert_from_singlekeys(old_params):
return params
+# Rule for disovered process checks
+register_check_parameters(
+ subgroup_applications,
+ "ps",
+ _("State and count of processes"),
+ Transform(
+ Dictionary(
+ elements = process_level_elements,
+ ),
+ forth = ps_convert_from_singlekeys,
+ ),
+ TextAscii(
+ title = _("Process name as defined at discovery"),
+ ),
+ "dict",
+ has_inventory = True,
+ register_static_check = False,
+)
+
# Rule for static process checks
register_check_parameters(
subgroup_applications,
@@ -6242,7 +6262,7 @@ register_check_parameters(
Dictionary(
elements = [
( "process", Alternative(
- title = _("Name of the process"),
+ title = _("Process Matching"),
style = "dropdown",
elements = [
TextAscii(
@@ -6296,7 +6316,7 @@ register_check_parameters(
forth = ps_convert_from_singlekeys,
),
TextAscii(
- title = _("Name of service"),
+ title = _("Process Name"),
help = _("This name will be used in the description of the service"),
allow_empty = False,
regex = "^[a-zA-Z_0-9 _.-]*$",
@@ -6304,7 +6324,7 @@ register_check_parameters(
"dot and hyphon for your service description"),
),
"dict",
- True,
+ has_inventory = False,
)
register_check_parameters(