Module: check_mk
Branch: master
Commit: ec91def6450950385aed975036794113f5ece913
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ec91def6450950…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Thu Apr 10 10:26:39 2014 +0200
snmp scan function now first scans system description oid
---
checks/rmon_stats | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/checks/rmon_stats b/checks/rmon_stats
index 1c25688..9f7f3ef 100644
--- a/checks/rmon_stats
+++ b/checks/rmon_stats
@@ -73,5 +73,7 @@ check_info["rmon_stats"] = {
]),
# for the scan we need to check for any single object in the RMON tree,
# we choose netDefaultGateway in the hope that it will always be present
- 'snmp_scan_function' : lambda oid: oid(".1.3.6.1.2.1.16.19.12.0") != None,
+ 'snmp_scan_function' : lambda oid: ( oid(".1.3.6.1.2.1.1.1.0").lower().startswith("cisco") \
+ or oid(".1.3.6.1.2.1.1.1.0").startswith("10G Managed Switch)" ) \
+ and oid(".1.3.6.1.2.1.16.19.12.0") != None,
}
Module: check_mk
Branch: master
Commit: 776fb043bde528ba2c90815640b26ac4083c1f8c
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=776fb043bde528…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Apr 10 10:19:04 2014 +0200
rmon_stats: now needs to be activated via a rule in order to be inventorized
The relatively new <tt>rmon_stats</tt> check creates one new service per network
interface (if RMON is enabled on your switch). In order to keep low the number
of services and the SNMP traffic this check is now <b>disabled per default</b>.
In order to have RMON checks created please activate RMON in the rule set
<i>Network Interface and Switch Port Inventory</i>.
---
.werks/881 | 13 +++++++++++++
ChangeLog | 2 ++
checks/if.include | 2 +-
checks/rmon_stats | 10 ++++++----
web/plugins/wato/check_parameters.py | 18 ++++++++++++++----
5 files changed, 36 insertions(+), 9 deletions(-)
diff --git a/.werks/881 b/.werks/881
new file mode 100644
index 0000000..a6788f5
--- /dev/null
+++ b/.werks/881
@@ -0,0 +1,13 @@
+Title: rmon_stats: now needs to be activated via a rule in order to be inventorized
+Level: 2
+Component: checks
+Version: 1.2.5i3
+Date: 1397117799
+Class: incomp
+
+The relatively new <tt>rmon_stats</tt> check creates one new service per network
+interface (if RMON is enabled on your switch). In order to keep low the number
+of services and the SNMP traffic this check is now <b>disabled per default</b>.
+
+In order to have RMON checks created please activate RMON in the rule set
+<i>Network Interface and Switch Port Inventory</i>.
diff --git a/ChangeLog b/ChangeLog
index b454eb6..8e4293a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -19,6 +19,8 @@
* 0829 oracle_tablespaces: improved formatting of levels text in check output...
* 0757 Linux multipath check can now use the alias instead of the UUID as item...
* 0879 windows_tasks: output last and next run time
+ * 0881 rmon_stats: now needs to be activated via a rule in order to be inventorized...
+ NOTE: Please refer to the migration notes!
* 0777 FIX: special agent emcvnx: did not work with security file authentication...
* 0786 FIX: zfsget: fixed compatibility with older Solaris agents...
* 0809 FIX: brocade_fcport: Fixed recently introduced problem with port speed detection
diff --git a/checks/if.include b/checks/if.include
index 897fb12..ba97de3 100644
--- a/checks/if.include
+++ b/checks/if.include
@@ -136,7 +136,7 @@ def inventory_if_common(info, has_nodeinfo = False):
# Determine whether single, grouped or both
for line in info:
- node, line = if_extract_node(line,has_nodeinfo)
+ node, line = if_extract_node(line, has_nodeinfo)
ifIndex, ifDescr, ifType, ifSpeed, ifOperStatus, ifInOctets, \
inucast, inmcast, inbcast, ifInDiscards, ifInErrors, ifOutOctets, \
outucast, outmcast, outbcast, ifOutDiscards, ifOutErrors, \
diff --git a/checks/rmon_stats b/checks/rmon_stats
index d0ab8ea..1c25688 100644
--- a/checks/rmon_stats
+++ b/checks/rmon_stats
@@ -31,10 +31,12 @@
def inventory_rmon_stats(info):
- inventory = []
- for line in info:
- inventory.append((line[0], None))
- return inventory
+ settings = host_extra_conf_merged(g_hostname, inventory_if_rules)
+ if settings.get("rmon"):
+ inventory = []
+ for line in info:
+ inventory.append((line[0], None))
+ return inventory
def check_rmon_stats(item, _no_params, info):
bytes = { 1: 'bcast', 2: 'mcast', 3: '0-63b', 4: '64-127b', 5: '128-255b', 6: '256-511b', 7: '512-1023b', 8: '1024-1518b' }
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index 3b6d28f..5fe4377 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -222,9 +222,9 @@ _if_porttype_choices = [
"fcipLink(224)" ), ("225", "rpr(225)" ), ("226", "qam(226)" ), ("227", "lmp(227)" ), ("228",
"cblVectaStar(228)" ), ("229", "docsCableMCmtsDownstream(229)" ), ("230", "adsl2(230)" ), ]
-register_rule(group + '/' + subgroup_networking,
+register_rule(group + '/' + subgroup_inventory,
varname = "inventory_if_rules",
- title = _("Network interface and switch port Inventory"),
+ title = _("Network Interface and Switch Port Inventory"),
valuespec = Dictionary(
elements = [
("use_desc", Checkbox(
@@ -254,6 +254,16 @@ register_rule(group + '/' + subgroup_networking,
toggle_all = True,
default_value = [ '6', '32', '62', '117' ]
)),
+ ("rmon", Checkbox(
+ title = _("RMON statistics data"),
+ help = _("If you enable this option then for every switch port an additional service will be created "
+ "that is always OK and collects RMON data. This will give you detailed information about "
+ "the distribution about the packet sizes that are transferred over the port. Note: currently "
+ "this extra RMON check does not honor the inventory settings for switch ports. In a future "
+ "version of Check_MK RMON data will be added to the normal interface service and not add "
+ "an additional service."),
+ label = _("Create extra service with RMON statistics data"),
+ )),
],
help = _('This rule can be used to control the inventory for network ports. '
'You can configure the port types and port states for inventory'
@@ -423,7 +433,7 @@ register_rule(group + '/' + subgroup_inventory,
register_rule(group + '/' + subgroup_inventory,
varname = "inventory_sap_values",
- title = _('SAP Single Value Inventory'),
+ title = _('SAP R/3 Single Value Inventory'),
valuespec = Dictionary(
elements = [
('match', Alternative(
@@ -564,7 +574,7 @@ register_check_parameters(
register_check_parameters(
subgroup_storage,
"brocade_fcport",
- _("Brocade FC FibreChannel ports"),
+ _("Brocade FibreChannel ports"),
Dictionary(
elements = [
("bw",
Module: check_mk
Branch: master
Commit: 60052b82632fff563e01a1718a77bffbc3acfe13
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=60052b82632fff…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Apr 9 16:29:29 2014 +0200
FIX logwatch: fix case where rule wouldn't be applied
If you are using CMC core <tt>cmk -v</tt> on the commandline and
had inventorized the checks by a newer version of Check_MK then the
reclassification patterns of logwatch would not work. This has been
fixed. The reason was that the inventory now correctly sets <tt>None</tt>
as a parameter whereas older versions used an empty string.
---
.werks/889 | 13 +++++++++++++
ChangeLog | 1 +
checks/logwatch | 2 +-
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/.werks/889 b/.werks/889
new file mode 100644
index 0000000..b59ae2a
--- /dev/null
+++ b/.werks/889
@@ -0,0 +1,13 @@
+Title: logwatch: fix case where rule wouldn't be applied
+Level: 2
+Component: checks
+Class: fix
+State: unknown
+Version: 1.2.5i3
+Date: 1397053661
+
+If you are using CMC core <tt>cmk -v</tt> on the commandline and
+had inventorized the checks by a newer version of Check_MK then the
+reclassification patterns of logwatch would not work. This has been
+fixed. The reason was that the inventory now correctly sets <tt>None</tt>
+as a parameter whereas older versions used an empty string.
diff --git a/ChangeLog b/ChangeLog
index c4a879a..8ed3c48 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -29,6 +29,7 @@
* 0603 FIX: cmciii checks: more general scan function plus perf-o-meters for humidity and temperature checks
* 0604 FIX: windows_updates: now handles situations with forced reboot and no limits correctly
* 0605 FIX: enterasys_cpu_util enterasys_lsnat: syntax fixes
+ * 0889 FIX: logwatch: fix case where rule wouldn't be applied...
Multisite:
* 0779 Hostgroups (Summary): Empty hostgroups are no longer shown (can be re-enabled by filter)
diff --git a/checks/logwatch b/checks/logwatch
index d57316e..b238f32 100644
--- a/checks/logwatch
+++ b/checks/logwatch
@@ -286,7 +286,7 @@ def check_logwatch(item, params, info):
# Check_MK creates an empty string if the precompile function has
# not been exectued yet. The precomile function creates an empty
# list when no rules/patterns are defined.
- if params != '':
+ if params not in ('', None):
patterns = params # patterns already precompiled
else:
patterns = logwatch_precompile(g_hostname, item, None)
Module: check_mk
Branch: master
Commit: ebc91c1992a3d6cd2bf3e5b13803b70f56145020
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ebc91c1992a3d6…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Apr 9 15:31:55 2014 +0200
Fixed some trailing spaces
---
checkman/cisco_secure | 2 +-
checkman/enterasys_lsnat | 2 +-
checks/cisco_secure | 8 ++++----
checks/enterasys_cpu_util | 2 +-
checks/ibm_svc_nodestats | 4 ++--
checks/ibm_svc_systemstats | 2 +-
web/plugins/views/availability.py | 12 ++++++------
7 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/checkman/cisco_secure b/checkman/cisco_secure
index c79b9cd..41a508f 100644
--- a/checkman/cisco_secure
+++ b/checkman/cisco_secure
@@ -6,7 +6,7 @@ distribution: check_mk
description:
This check monitors the port Security feature of cisco_switches. It returns a {CRITICAL} state for
each port which is locked due a security isse. If is port security configured but cant be enabled
- the check returns {WARNING}. If a port goes down, the check ignores that and only shows a information in the
+ the check returns {WARNING}. If a port goes down, the check ignores that and only shows a information in the
check output.
item:
diff --git a/checkman/enterasys_lsnat b/checkman/enterasys_lsnat
index 4c4953b..c3c1b16 100644
--- a/checkman/enterasys_lsnat
+++ b/checkman/enterasys_lsnat
@@ -4,7 +4,7 @@ catalog: hw/network/enterasys
license: GPL
distribution: check_mk
description:
- This check monitors the number of current LSNAT bindings if the feature is activated
+ This check monitors the number of current LSNAT bindings if the feature is activated
on this device (oid .1.3.6.1.4.1.5624.1.2.74.1.1.5.0 must contain a value)
inventory:
diff --git a/checks/cisco_secure b/checks/cisco_secure
index f3e9fa6..aa7e030 100644
--- a/checks/cisco_secure
+++ b/checks/cisco_secure
@@ -38,9 +38,9 @@ def inventory_cisco_secure(info):
inventory = []
for name, op_state, enabled, status, violationCount, lastmac in info:
#if portsecurity enabled and port up OR currently there is sercurity issue`
- if ( enabled == 1 and op_state == 1) or status == 3:
+ if ( enabled == 1 and op_state == 1) or status == 3:
inventory.append( (name, None) )
- return inventory
+ return inventory
def check_cisco_secure(item, params, info):
secure_states = {
@@ -72,9 +72,9 @@ check_info["cisco_secure"] = {
"service_description" : "Security Port %s",
"snmp_scan_function" : lambda oid: "cisco" in oid(".1.3.6.1.2.1.1.1.0").lower() and \
oid(".1.3.6.1.4.1.9.9.315.1.2.1.1.1.*"),
- "snmp_info" : [ (".1.3.6.1.2.1.2.2.1", [OID_END, 2, 8 ] ),
+ "snmp_info" : [ (".1.3.6.1.2.1.2.2.1", [OID_END, 2, 8 ] ),
( ".1.3.6.1.4.1.9.9.315.1.2.1.1",
- [
+ [
OID_END,
"1", # cpsIfPortSecurityEnable
"2", # cpsIfPortSecurityStatus
diff --git a/checks/enterasys_cpu_util b/checks/enterasys_cpu_util
index fc0de09..0f8317b 100644
--- a/checks/enterasys_cpu_util
+++ b/checks/enterasys_cpu_util
@@ -27,7 +27,7 @@ enterasys_cpu_default_levels = (90, 95)
def inventory_enterasys_cpu_util(info):
# [:-2] to remove the oid end
- return [ ( x[0][:-2], "enterasys_cpu_default_levels" ) for x in info ]
+ return [ ( x[0][:-2], "enterasys_cpu_default_levels" ) for x in info ]
def check_enterasys_cpu_util( item, params, info):
for core, util in info:
diff --git a/checks/ibm_svc_nodestats b/checks/ibm_svc_nodestats
index 5a70883..2e25110 100644
--- a/checks/ibm_svc_nodestats
+++ b/checks/ibm_svc_nodestats
@@ -77,8 +77,8 @@
# 'Drives BLUBBSVC03': {'r_mb': 0, 'w_mb': 0, 'r_io': 0, 'w_io': 0},
# 'Drives BLUBBSVC04': {'r_mb': 0, 'w_mb': 0, 'r_io': 0, 'w_io': 0},
# 'MDisks BLUBBSVC01': {'r_mb': 1, 'w_mb': 16, 'r_io': 15, 'w_io': 865},
-# 'MDisks BLUBBSVC02': {'r_mb': 3, 'w_mb': 6, 'r_io': 245, 'w_io': 361},
-# 'MDisks BLUBBSVC03': {'r_mb': 28, 'w_mb': 5, 'r_io': 1194, 'w_io': 901},
+# 'MDisks BLUBBSVC02': {'r_mb': 3, 'w_mb': 6, 'r_io': 245, 'w_io': 361},
+# 'MDisks BLUBBSVC03': {'r_mb': 28, 'w_mb': 5, 'r_io': 1194, 'w_io': 901},
# 'MDisks BLUBBSVC04': {'r_mb': 0, 'w_mb': 162, 'r_io': 0, 'w_io': 1414},
# 'VDisks BLUBBSVC01': {'r_mb': 0, 'w_mb': 0, 'r_io': 19, 'w_io': 110},
# 'VDisks BLUBBSVC02': {'r_mb': 101, 'w_mb': 13, 'r_io': 1105, 'r_mb': 101},
diff --git a/checks/ibm_svc_systemstats b/checks/ibm_svc_systemstats
index ace12ce..9610fac 100644
--- a/checks/ibm_svc_systemstats
+++ b/checks/ibm_svc_systemstats
@@ -98,7 +98,7 @@ def ibm_svc_systemstats_parse(info):
# | |
# '----------------------------------------------------------------------'
-def inventory_ibm_svc_systemstats_diskio(info):
+def inventory_ibm_svc_systemstats_diskio(info):
inventory = []
parsed = ibm_svc_systemstats_parse(info)
for key in parsed.keys():
diff --git a/web/plugins/views/availability.py b/web/plugins/views/availability.py
index d55c04e..e57dcaa 100644
--- a/web/plugins/views/availability.py
+++ b/web/plugins/views/availability.py
@@ -40,17 +40,17 @@
# done in get_availability_data().
#
# - htdocs/views.py:show_view()
-# - plugins/views/availability.py:render_availability()
+# - plugins/views/availability.py:render_availability()
# - plugins/views/availability.py:get_availability_data()
# - plugins/views/availability.py:do_render_availability()
# - plugins/views/availability.py:render_availability_table()
-#
+#
# 2a) timeline of hosts/services
# It is much the same as for 1a), just that in get_availability_data()
# an additional filter is being added for selecting just one host/serivce.
#
# - htdocs/views.py:show_view()
-# - plugins/views/availability.py:render_availability()
+# - plugins/views/availability.py:render_availability()
# - plugins/views/availability.py:get_availability_data()
# - plugins/views/availability.py:do_render_availability()
# - plugins/views/availability.py:render_timeline()
@@ -59,18 +59,18 @@
# In order to use the filter logic of the aggr datasource, we
# also start in show_view(). But this time we let the actual
# rows being computed - just we make sure that only the two
-# columns aggr_name, aggr_group and aggr_tree are being fetched. The
+# columns aggr_name, aggr_group and aggr_tree are being fetched. The
# other columns won't be displayed. We just need the correct
# result set. With that we fork into render_bi_availability().
# This computes the historic states of the aggregate by using
# data from hosts/services from state_hist.
#
# - htdocs/views.py:show_view()
-# - plugins/views/availability.py:render_bi_availability()
+# - plugins/views/availability.py:render_bi_availability()
# - plugins/views/availability.py:get_bi_timeline()
# - plugins/views/availability.py:do_render_availability()
# - plugins/views/availability.py:render_availability_table()
-#
+#
# 2b) timeline of bi aggregates
# In this case we do not need any logic from the view, since
# we just diplay one element - which is identified by aggr_group