Module: check_mk
Branch: master
Commit: 1dd2260ea5de83c548c65ec9293c7786309bb5ea
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=1dd2260ea5de83…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Feb 21 11:24:19 2012 +0100
WATO: formalized further checks
---
checks/multipath | 2 +
checks/nfsmounts | 5 ++-
checks/nvidia | 3 +-
checks/omd_status | 2 +
checks/oracle_asm_disk | 6 +++-
checks/services | 3 +-
checks/smbios_sel | 3 +-
checks/snia_sml | 2 +
checks/vbox_guest | 3 +-
checks/vmware_state | 5 ++-
doc/helpers/validate_checks | 3 ++
web/htdocs/wato.py | 1 +
web/plugins/wato/check_parameters.py | 62 ++++++++++++++++++++++++++++++++-
13 files changed, 89 insertions(+), 11 deletions(-)
diff --git a/checks/multipath b/checks/multipath
index c0e9031..2eb1a40 100644
--- a/checks/multipath
+++ b/checks/multipath
@@ -273,3 +273,5 @@ check_info['multipath'] = (
"Multipath %s",
0,
inventory_multipath)
+
+checkgroup_of['multipath'] = 'multipath'
diff --git a/checks/nfsmounts b/checks/nfsmounts
index c3c0bd8..03720c3 100644
--- a/checks/nfsmounts
+++ b/checks/nfsmounts
@@ -26,9 +26,9 @@
def inventory_nfsmounts(info):
- return [ (line[0], None, None) for line in info ]
+ return [ (line[0], None) for line in info ]
-def check_nfsmounts(item, params, info):
+def check_nfsmounts(item, _no_params, info):
for line in info:
mountpoint = line[0]
if mountpoint == item:
@@ -54,3 +54,4 @@ def check_nfsmounts(item, params, info):
return (3, "UNKNOWN - not mounted")
check_info['nfsmounts'] = (check_nfsmounts, "NFS mount %s", 0, inventory_nfsmounts)
+checkgroup_of['nfsmounts'] = 'network_fs'
diff --git a/checks/nvidia b/checks/nvidia
index 3ce3caa..9b8c787 100644
--- a/checks/nvidia
+++ b/checks/nvidia
@@ -58,7 +58,7 @@ def inventory_nvidia_errors(info):
if line[0] == 'GPUErrors:':
return [(None, None)]
-def check_nvidia_errors(item, params, info):
+def check_nvidia_errors(_no_item, _no_params, info):
for line in info:
if line[0] == "GPUErrors:":
errors = int(line[1])
@@ -70,3 +70,4 @@ def check_nvidia_errors(item, params, info):
check_info['nvidia.errors'] = ( check_nvidia_errors, "NVIDIA GPU Errors", 0, inventory_nvidia_errors )
+checkgroup_of['nvidia.errors'] = 'hw_errors'
diff --git a/checks/omd_status b/checks/omd_status
index ada746f..98229dd 100644
--- a/checks/omd_status
+++ b/checks/omd_status
@@ -63,3 +63,5 @@ def check_omd_status(item, _no_params, info):
check_info['omd_status'] = \
(check_omd_status, "OMD %s status", 0, inventory_omd_status)
+
+checkgroup_of["omd_status"] = "omd_status"
diff --git a/checks/oracle_asm_disk b/checks/oracle_asm_disk
index 9712471..e77a616 100644
--- a/checks/oracle_asm_disk
+++ b/checks/oracle_asm_disk
@@ -24,9 +24,12 @@
# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA.
+# Note: this check only works with a customer specific agent
+# plugin that is not portable and not shipped with Check_MK.
+# It will be removed in a future version.
def inventory_oracle_asm_disk(info):
- return [ (line[0], "", '""') for line in info if line[1] != "0" ]
+ return [ (line[0], '""') for line in info if line[1] != "0" ]
def check_oracle_asm_disk(diskname, params, info):
for line in info:
@@ -47,3 +50,4 @@ check_info['oracle_asm_disk'] = (
"ASM disk %s",
0,
inventory_oracle_asm_disk)
+checkgroup_of['oracle_asm_disk'] = "obsolete"
diff --git a/checks/services b/checks/services
index fcd0e3c..1b7ecc6 100644
--- a/checks/services
+++ b/checks/services
@@ -110,7 +110,7 @@ def inventory_windows_services(info):
return inventory
-def check_windows_services(item, params, info):
+def check_windows_services(item, _no_params, info):
# make sure, that thing also works for clusters:
# here a service can be listed more than once.
# It is sufficient of at least one "running" is
@@ -139,3 +139,4 @@ def check_windows_services(item, params, info):
check_info['services'] = (check_windows_services, "service_%s", 0, inventory_windows_services)
+checkgroup_of['services'] = 'services'
diff --git a/checks/smbios_sel b/checks/smbios_sel
index 556ee88..5914556 100644
--- a/checks/smbios_sel
+++ b/checks/smbios_sel
@@ -98,7 +98,7 @@ smbios_sel_msg_types = {
def inventory_smbios_sel(info):
if len(info) > 0:
- return [(None, "", "None")]
+ return [(None, "None")]
def check_smbios_sel(_no_item, _no_params, info):
if len(info) == 0:
@@ -164,3 +164,4 @@ def check_smbios_sel(_no_item, _no_params, info):
return (sum_status, "%s: %s" % (nagios_state_names[sum_status], sum_output))
check_info['smbios_sel'] = (check_smbios_sel, "SMBIOS Event Log", 0, inventory_smbios_sel)
+checkgroup_of['smbios_sel'] = 'hw_errors'
diff --git a/checks/snia_sml b/checks/snia_sml
index 1736be4..72ad923 100644
--- a/checks/snia_sml
+++ b/checks/snia_sml
@@ -33,3 +33,5 @@ check_info['snia_sml'] = (
"%s",
0,
no_inventory_possible)
+
+checkgroup_of["snia_sml"] = "obsolete"
diff --git a/checks/vbox_guest b/checks/vbox_guest
index 7821c6b..adf1d14 100644
--- a/checks/vbox_guest
+++ b/checks/vbox_guest
@@ -27,7 +27,7 @@
def vbox_guest_make_dict(info):
return dict([(l[1].split('/',2)[2].rstrip(','), l[3]) for l in info])
-def check_vbox_guest(item, _no_params, info):
+def check_vbox_guest(_no_item, _no_params, info):
if len(info) == 1 and info[0][0] == "ERROR":
return (3, "UNKNOWN - Error running VBoxControl guestproperty enumerate")
try:
@@ -56,3 +56,4 @@ def inventory_vbox_guest(info):
return [(None, None)]
check_info["vbox_guest"] = ( check_vbox_guest, "VBox Guest Additions", 0, inventory_vbox_guest)
+checkgroup_of["vbox_guest"] = "vm_state"
diff --git a/checks/vmware_state b/checks/vmware_state
index ce59058..04878a9 100644
--- a/checks/vmware_state
+++ b/checks/vmware_state
@@ -54,7 +54,7 @@ def inventory_vmware_state(info):
vm_ipaddr = line[0][7:]
# add machine to inventory (if IP address is not empty)
if vm_ipaddr != '':
- inventory.append((vm_name, vm_ipaddr, None))
+ inventory.append((vm_name, None))
return inventory
# 1. Variant: loop over all machines and
@@ -86,7 +86,7 @@ def inventory_vmware_state(info):
# we do the check and return immediately.
# If we go through the loop without finding
# the machine, we return an UNKNOWN state.
-def check_vmware_state(item, params, info):
+def check_vmware_state(item, _no_params, info):
# item is the name of the machine.
for line in info:
if line[0].startswith("name:"):
@@ -101,3 +101,4 @@ def check_vmware_state(item, params, info):
return (3, "UNKNOWN - no such machine")
check_info['vmware_state'] = (check_vmware_state, "VM %s", 0, inventory_vmware_state)
+checkgroup_of['vmware_state'] = 'vm_state'
diff --git a/doc/helpers/validate_checks b/doc/helpers/validate_checks
index 752606f..1a101f2 100755
--- a/doc/helpers/validate_checks
+++ b/doc/helpers/validate_checks
@@ -316,6 +316,9 @@ def is_valid_wato(check):
def verify_wato(check):
group = check_info[check]["group"]
+ if group == "obsolete":
+ return True
+
now = False
for line in file("web/plugins/wato/check_parameters.py"):
line = line.strip()
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index aea6e16..5f90ed2 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -8148,6 +8148,7 @@ def mode_rulesets(phase):
for groupname in groupnames:
# Show information about a ruleset
title_shown = False
+ g_rulespec_groups[groupname].sort()
for rulespec in g_rulespec_groups[groupname]:
varname = rulespec["varname"]
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index 134f4cf..64085c7 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -820,11 +820,68 @@ checkgroups.append((
checkgroups.append((
"zpool_status",
- _("Check ZFS Storage Pool status"),
+ _("ZFS storage pool status"),
None,
None, None))
checkgroups.append((
+ "vm_state",
+ _("Overall state of a virtual machine"),
+ None,
+ None, None))
+
+checkgroups.append((
+ "hw_errors",
+ _("Simple checks for BIOS/Hardware errors without parameters"),
+ None,
+ None, None))
+
+checkgroups.append((
+ "omd_status",
+ _("OMD site status"),
+ None,
+ TextAscii(
+ title = _("Name of the OMD site"),
+ help = _("The name of the OMD site to check the status for")),
+ "first"))
+
+checkgroups.append((
+ "network_fs",
+ _("Network filesystem - overall status (e.g. NFS)"),
+ None,
+ TextAscii(
+ title = _("Name of the mount point"),
+ help = _("For NFS enter the name of the mount point.")),
+ "first"))
+
+checkgroups.append((
+ "multipath",
+ _("Multipathing - health of a multipath LUN"),
+ Integer(
+ title = _("Expected number of active paths")),
+ TextAscii(
+ title = _("Name of the MP LUN"),
+ help = _("For Linux multipathing this is either the UUID (e.g. "
+ "60a9800043346937686f456f59386741), or the configured "
+ "alias.")),
+ "first"))
+
+checkgroups.append((
+ "services",
+ _("Windows services"),
+ None,
+ TextAscii(
+ title = _("Name of the service"),
+ help = _("Pleae Please note, that the agent replaces spaces in "
+ "the service names with underscores. If you are unsure about the "
+ "correct spelling of the name then please look at the output of "
+ "the agent (cmk -d HOSTNAME). The service names are in the first "
+ "column of the section <<<services>>>. Please "
+ "do not mix up the service name with the display name of the service."
+ "The latter one is just being displayed as a further information.")),
+ "first"))
+
+checkgroups.append((
"room_temperature",
_("Room temperature (e.g. external thermal sensors in datacenters)"),
Tuple(
@@ -920,7 +977,8 @@ for checkgroup, title, valuespec, itemspec, matchtype in checkgroups:
FixedValue(None,
help = _("This check has no parameters."),
totext = "")
- valuespec._title = _("Parameters")
+ if not valuespec.title():
+ valuespec._title = _("Parameters")
elements.append(valuespec)
register_rule(