Module: check_mk
Branch: master
Commit: fca5c62bfd8466339fcefed3de39ca3dbb7de976
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=fca5c62bfd8466…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Tue Apr 22 17:10:17 2014 +0200
wagner_titanus_topsense.temp: New Check for Temperature measured by Wagner Titanus Top
Sens devices
---
.werks/897 | 8 ++++
ChangeLog | 3 +-
checkman/wagner_titanus_topsense.temp | 43 +++++++++++++++++
checks/wagner_titanus_topsense | 49 +++++++++++++++++++-
.../check_mk-wagner_titanus_topsense.temp.php | 1 +
web/plugins/perfometer/check_mk.py | 1 +
6 files changed, 103 insertions(+), 2 deletions(-)
diff --git a/.werks/897 b/.werks/897
new file mode 100644
index 0000000..e0c01b1
--- /dev/null
+++ b/.werks/897
@@ -0,0 +1,8 @@
+Title: wagner_titanus_topsense.temp: New Check for Temperature measured by Wagner Titanus
Top Sens devices
+Level: 1
+Component: checks
+Version: 1.2.5i3
+Date: 1398179376
+Class: feature
+
+
diff --git a/ChangeLog b/ChangeLog
index 7c05bee..d51b00a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -32,8 +32,9 @@
* 0893 wagner_titanus_topsense.alarm: New check for Alarms Triggered on Wagner
Titanus Top Sens devices
* 0894 wagner_titanus_topsense.smoke: New check for Smoke Detectors in Wagner Titanus
Top Sens devices
* 0895 wagner_titanus_topsense.chamber_deviation: New Check for Chamber Deviation
from Calibration Point in Wagner Titanus Top Sens devices
- * 0896 wagner_titanus_topsense.airflow_deviation: New Check for Airflow Deviation in
Wagner Titanus Top Sens devices
* 0152 fsc_fans: Added support for Wato configuration and upper limits
+ * 0896 wagner_titanus_topsense.airflow_deviation: New Check for Airflow Deviation in
Wagner Titanus Top Sens devices
+ * 0897 wagner_titanus_topsense.temp: New Check for Temperature measured by 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.temp
b/checkman/wagner_titanus_topsense.temp
new file mode 100644
index 0000000..fd34c68
--- /dev/null
+++ b/checkman/wagner_titanus_topsense.temp
@@ -0,0 +1,43 @@
+title: Wagner Titanus Top Sens: Temperature
+agents: snmp
+catalog: hw/environment/wagner
+license: GPL
+distribution: check_mk
+description:
+ Checks the temperature measured by Detectors in Wagner Titanus Top Sens devices.
+
+ Returns {WARN} or {CRIT} if the value exeeds given levels and {OK} otherwise.
+
+inventory:
+ Creates two checks per device, one for every Detector.
+
+item:
+ The ID of the detector.
+
+perfdata:
+ One value: The temperature in degree celsius, together with levels for warning
+ and critical.
+
+examples:
+ # set other default levels
+ wagner_titanus_topsense_temperature_default_values = (25, 40)
+
+ # check detector 1 with default levels
+ checks += [
+ ("ras", "wagner_titanus_topsense.temp", '1',
wagner_titanus_topsense_temperature_default_values)
+ ]
+
+ # check detector 1 with individual levels
+ checks += [
+ ( "ras", "wagner_titanus_topsense.temp", '1', (20, 50)
)
+ ]
+
+[parameters]
+parameters (tuple): A pair of numbers for warn and crit level.
+ If the temperature in degree celsius is higher or equal warn,
+ the check returns {WARN}. If the temperature in degree celsius is higher
+ or equal crit, the check returns {CRIT}.
+
+[configuration]
+wagner_titanus_topsense_temperature_default_values(int, int):
+ Default levels for warning and critical, preset to (30, 35)
diff --git a/checks/wagner_titanus_topsense b/checks/wagner_titanus_topsense
index 587ccfd..53bee65 100644
--- a/checks/wagner_titanus_topsense
+++ b/checks/wagner_titanus_topsense
@@ -48,7 +48,9 @@ wagner_titanus_topsense_info = [(".1.3.6.1.2.1.1",
[1, #
245950000, #
tsD1ChamberValueString
246090000, #
tsD2ChamberValueString
245960000, #
tsD1AirFlowDeviationString
- 246100000]), #
tsD2AirFlowDeviationString
+ 246100000, #
tsD2AirFlowDeviationString
+ 245970000, #
tsD1AirTemperatureString
+ 246110000]), #
tsD2AirTemperatureString
]
def wagner_titanus_topsense_scan(oid):
@@ -295,3 +297,48 @@ check_info["wagner_titanus_topsense.airflow_deviation"] =
{
}
#.
+# .--air temp------------------------------------------------------------.
+# | _ _ |
+# | __ _(_)_ __ | |_ ___ _ __ ___ _ __ |
+# | / _` | | '__| | __/ _ \ '_ ` _ \| '_ \ |
+# | | (_| | | | | || __/ | | | | | |_) | |
+# | \__,_|_|_| \__\___|_| |_| |_| .__/ |
+# | |_| |
+# '----------------------------------------------------------------------'
+
+wagner_titanus_topsense_temperature_default_values = (30, 35)
+
+def inventory_wagner_titanus_topsense_temp(info):
+ return [ ("1",
"wagner_titanus_topsense_temperature_default_values"),
+ ("2",
"wagner_titanus_topsense_temperature_default_values") ]
+
+def check_wagner_titanus_topsense_temp(item, params, info):
+ warn, crit = params
+ status=0
+ if item == "1":
+ temp = float(info[2][0][7])
+ elif item == "2":
+ temp = float(info[2][0][8])
+ else:
+ return 3, "Temperature Detector %s not found in SNMP" % item
+
+ if temp >= warn:
+ status = 1
+ if temp >= crit:
+ status = 2
+
+ perfdata = [("temp", str(temp) + "C", warn, crit)]
+
+ return status, "Temperature is %0.2f °C" % temp, perfdata
+
+check_info["wagner_titanus_topsense.temp"] = {
+ "check_function" : check_wagner_titanus_topsense_temp,
+ "inventory_function" : inventory_wagner_titanus_topsense_temp,
+ "service_description" : "Temperature Detector %s",
+ "has_perfdata" : True,
+ "group" : "room_temperature",
+ "snmp_info" : wagner_titanus_topsense_info,
+ "snmp_scan_function" : wagner_titanus_topsense_scan
+}
+
+#.
diff --git a/pnp-templates/check_mk-wagner_titanus_topsense.temp.php
b/pnp-templates/check_mk-wagner_titanus_topsense.temp.php
new file mode 120000
index 0000000..23897c1
--- /dev/null
+++ b/pnp-templates/check_mk-wagner_titanus_topsense.temp.php
@@ -0,0 +1 @@
+check_mk-hitachi_hnas_temp.php
\ No newline at end of file
diff --git a/web/plugins/perfometer/check_mk.py b/web/plugins/perfometer/check_mk.py
index 94bdf97..166ae6f 100644
--- a/web/plugins/perfometer/check_mk.py
+++ b/web/plugins/perfometer/check_mk.py
@@ -288,6 +288,7 @@ perfometers["check_mk-dell_chassis_temp"] =
perfometer_temperature
perfometers["check_mk-innovaphone_temp"] = perfometer_temperature
perfometers["check_mk-cmciii.temp"] = perfometer_temperature
perfometers["check_mk-ibm_svc_enclosurestats.temp"] = perfometer_temperature
+perfometers["check_mk-wagner_titanus_topsense.temp"] = perfometer_temperature
def perfometer_temperature_multi(row, check_command, perf_data):
display_value = -1