Module: check_mk
Branch: master
Commit: 7caf8fbf173a3a26509342cd93fab64bf81d0d97
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7caf8fbf173a3a…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Tue Apr 15 15:54:38 2014 +0200
wagner_titanus_topsense.alarm: New check for Alarms Triggered on Wagner Titanus Top Sens
devices
---
.werks/893 | 8 ++++
ChangeLog | 1 +
checkman/wagner_titanus_topsense.alarm | 17 +++++++
checks/wagner_titanus_topsense | 78 +++++++++++++++++++++++++++-----
4 files changed, 93 insertions(+), 11 deletions(-)
diff --git a/.werks/893 b/.werks/893
new file mode 100644
index 0000000..c43af74
--- /dev/null
+++ b/.werks/893
@@ -0,0 +1,8 @@
+Title: wagner_titanus_topsense.alarm: New check for Alarms Triggered on Wagner Titanus
Top Sens devices
+Level: 1
+Component: checks
+Version: 1.2.5i3
+Date: 1397570062
+Class: feature
+
+
diff --git a/ChangeLog b/ChangeLog
index 6d7932d..ac200e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,7 @@
* 0807 ibm_svc_enclosurestats.power: New check for power consumption of enclosures of
IBM SVC / Storwize V3700 / V7000 devices
* 0808 brocade_mlx*: Checks now also work correctly with Brocade ADX / FGS / ICX
devices
* 0892 wagner_titanus_topsense: new info check and overall status check for Wagner
Titanus Top Sens devices
+ * 0893 wagner_titanus_topsense.alarm: New check for Alarms Triggered on Wagner
Titanus Top Sens devices
* 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/checkman/wagner_titanus_topsense.alarm
b/checkman/wagner_titanus_topsense.alarm
new file mode 100644
index 0000000..71bb6d0
--- /dev/null
+++ b/checkman/wagner_titanus_topsense.alarm
@@ -0,0 +1,17 @@
+title: Wagner Titanus Top Sens: Alarms Triggered
+agents: snmp
+catalog: hw/environment/wagner
+license: GPL
+distribution: check_mk
+description:
+ Checks if alarms have been triggered on an Wagner Titanus Top Sens device.
+
+ If pswMainAlarm is triggered, the check returns {CRIT}, if pswPreAlarm or
+ pswInfAlarm is triggered, it return {WARN} and if none of these is triggered
+ it returns {OK}.
+
+item:
+ The ID of the detector.
+
+inventory:
+ Creates two checks on every Top Sense device, one for each detector.
diff --git a/checks/wagner_titanus_topsense b/checks/wagner_titanus_topsense
index 1b89bf7..c084814 100644
--- a/checks/wagner_titanus_topsense
+++ b/checks/wagner_titanus_topsense
@@ -24,17 +24,24 @@
# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA.
-wagner_titanus_topsense_info = [(".1.3.6.1.2.1.1", [1, #
sysDescr
- 3, #
sysUpTimeInstance
- 4, #
sysContact
- 5, # sysName
- 6]), #
sysLocation
- (".1.3.6.1.4.1.34187.21501.1.1", [1, #
company
- 2, # model
- 3, # revision
- 1006]), #
pswFailureDisplayOn
+wagner_titanus_topsense_info = [(".1.3.6.1.2.1.1", [1, #
sysDescr 0
+ 3, #
sysUpTimeInstance 1
+ 4, #
sysContact 2
+ 5, # sysName
3
+ 6]), #
sysLocation 4
+ (".1.3.6.1.4.1.34187.21501.1.1", [1, #
company 0
+ 2, # model
1
+ 3, # revision
2
+ 1000, #
pswMainAlarmD1 3
+ 1001, #
pswPreAlarmD1 4
+ 1002, #
pswInfAlarmD1 5
+ 1003, #
pswMainAlarmD2 6
+ 1004, #
pswPreAlarmD2 7
+ 1005, #
pswInfAlarmD2 8
+ 1006]), #
pswFailureDisplayOn 9
# off(0),
on(1)
- (".1.3.6.1.4.1.34187.21501.2.1", [24584008]), #
tsLSNbusOnline
+
+ (".1.3.6.1.4.1.34187.21501.2.1", [24584008]), #
tsLSNbusOnline 0
#
offline(0),online(1)
]
@@ -97,7 +104,7 @@ def inventory_wagner_titanus_topsense_overall_status(info):
return [ (None, None) ]
def check_wagner_titanus_topsense_overall_status(item, _no_params, info):
- psw_failure = info[1][0][3]
+ psw_failure = info[1][0][9]
status = 3
if psw_failure == "0":
message = "Overall Status reports OK"
@@ -117,3 +124,52 @@ check_info["wagner_titanus_topsense.overall_status"] = {
}
#.
+# .--alarm---------------------------------------------------------------.
+# | _ |
+# | __ _| | __ _ _ __ _ __ ___ |
+# | / _` | |/ _` | '__| '_ ` _ \ |
+# | | (_| | | (_| | | | | | | | | |
+# | \__,_|_|\__,_|_| |_| |_| |_| |
+# | |
+# '----------------------------------------------------------------------'
+
+def inventory_wagner_titanus_topsense_alarm(info):
+ return [ ("1", None), ("2", None) ]
+
+def check_wagner_titanus_topsense_alarm(item, _no_params, info):
+ if item == "1":
+ main_alarm = info[1][0][3]
+ pre_alarm = info[1][0][4]
+ info_alarm = info[1][0][5]
+ elif item == "2":
+ main_alarm = info[1][0][6]
+ pre_alarm = info[1][0][7]
+ info_alarm = info[1][0][8]
+ else:
+ return 3, "%s not found in SNMP" % item
+
+ status = 0
+ message = "No Alarm"
+ if info_alarm != "0":
+ message = "Info Alarm"
+ status = 1
+ if pre_alarm != "0":
+ message = "Pre Alarm"
+ status = 1
+ if main_alarm != "0":
+ message = "Main Alarm: Fire"
+ status = 2
+
+ return status, message
+
+check_info["wagner_titanus_topsense.alarm"] = {
+ "check_function" : check_wagner_titanus_topsense_alarm,
+ "inventory_function" : inventory_wagner_titanus_topsense_alarm,
+ "service_description" : "Alarm Detector %s",
+ "has_perfdata" : False,
+ "snmp_info" : wagner_titanus_topsense_info,
+ "snmp_scan_function" : wagner_titanus_topsense_scan
+}
+
+#.
+