Module: check_mk
Branch: master
Commit: b9fb3e586b0868767e88eb99bedf7268b2f86c3a
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=b9fb3e586b0868…
Author: Goetz Golla <gg(a)mathias-kettner.de>
Date: Tue Jan 20 12:13:27 2015 +0100
#1853 FIX cisco_power, cisco_fan, cisco_temp_perf: fixed algorithm to determine check item
for some special cases
For some Cisco switches the item name of sensors was incorrectly determined
from the snmp oid "ciscoEnvMonSupplyStatusDescr". When the status description
contains "Status is ..." or "PS1 ..." in the second field, this field
was
incorrectly included in the item name.
The problem is fixed. Since the item name changes due to this fix, you need to
redo a service discovery.
To our knowledge this problem only affects the cisco_power check. cisco_fan
and cisco_temp_perf may theorectically be affected since the same algorithm
is used, but the status descriptions for these checks are different.
Example:
status description: "Sw1, PS1 Normal, RPS Normal",
old item name: "Sw1 PS1 Normal 3036",
new item name: "Sw1"
---
.werks/1853 | 25 +++++++++++++++++++++++++
ChangeLog | 2 ++
checks/cisco_sensor_item.include | 2 +-
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/.werks/1853 b/.werks/1853
new file mode 100644
index 0000000..dce9c70
--- /dev/null
+++ b/.werks/1853
@@ -0,0 +1,25 @@
+Title: cisco_power, cisco_fan, cisco_temp_perf: fixed algorithm to determine check item
for some special cases
+Level: 1
+Component: checks
+Compatible: incomp
+Version: 1.2.7i1
+Date: 1421751304
+Class: fix
+
+For some Cisco switches the item name of sensors was incorrectly determined
+from the snmp oid "ciscoEnvMonSupplyStatusDescr". When the status description
+contains "Status is ..." or "PS1 ..." in the second field, this field
was
+incorrectly included in the item name.
+
+The problem is fixed. Since the item name changes due to this fix, you need to
+redo a service discovery.
+
+To our knowledge this problem only affects the cisco_power check. cisco_fan
+and cisco_temp_perf may theorectically be affected since the same algorithm
+is used, but the status descriptions for these checks are different.
+
+Example:
+
+status description: "Sw1, PS1 Normal, RPS Normal",
+old item name: "Sw1 PS1 Normal 3036",
+new item name: "Sw1"
diff --git a/ChangeLog b/ChangeLog
index 9c35fdd..1ce291f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -83,6 +83,8 @@
* 1844 FIX: oracle_crs_res: fix computation of node a ressource is running on...
* 1852 FIX: solaris_multipath: this check now works with inventory to remember the
number of total paths...
NOTE: Please refer to the migration notes!
+ * 1853 FIX: cisco_power, cisco_fan, cisco_temp_perf: fixed algorithm to determine
check item for some special cases...
+ NOTE: Please refer to the migration notes!
Multisite:
* 1758 Improved exception hander: Shows details without additional debug request,
added mailto link for error report...
diff --git a/checks/cisco_sensor_item.include b/checks/cisco_sensor_item.include
index 9bdaa18..dbe9c34 100644
--- a/checks/cisco_sensor_item.include
+++ b/checks/cisco_sensor_item.include
@@ -39,7 +39,7 @@ def cisco_sensor_item(trial_string, fall_back):
elif '#' in splited[-1] or 'Power' in splited[-1]:
item = " ".join(splited)
# If second last part start with Status, remove that part
- elif splited[-2].startswith(" Status"):
+ elif splited[-2].startswith("Status") or
splited[-2].startswith("PS1"):
item = " ".join(splited[:-2])
# Take anything, but without last part
else: