Module: check_mk
Branch: master
Commit: 1cb1502e883ae72c9b2f602d938ddb0b30bca714
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=1cb1502e883ae7…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Fri Jun 22 11:41:10 2012 +0200
New check: W&T Web IO 12Port Digital IO module (mod. 57630)
---
checks/wut_webio_io | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/checks/wut_webio_io b/checks/wut_webio_io
new file mode 100644
index 0000000..a5ee87f
--- /dev/null
+++ b/checks/wut_webio_io
@@ -0,0 +1,51 @@
+#!/usr/bin/python
+
+# snmpwalk fehlt
+
+webio_state_names = {
+ 0 : "Off",
+ 1 : "On",
+}
+
+
+def parse_webio_io_inputs(inputdesc):
+ if inputdesc.startswith("Input"):
+ inputdesc = inputdesc.split(" ")[1]
+ return inputdesc
+
+
+def inventory_wut_webio_io_inputs(info):
+ inventory = []
+ for line in info:
+ inputdesc, state = line
+ inventory.append((parse_webio_io_inputs(inputdesc), int(state)))
+ return inventory
+
+
+def check_wut_webio_io_inputs(item, params, info):
+ for line in info:
+ inputdesc, state = line
+ if parse_webio_io_inputs(inputdesc) == item:
+ state = saveint(state)
+ if state != params:
+ return (2, "CRITICAL - state should be %s but is %s (!!)" %
(webio_state_names[params], webio_state_names[state]))
+ else:
+ return (0, "OK - state is %s" % webio_state_names[state])
+
+ return (3, "UNKNOWN - Check not implemented")
+
+ return (3, "UNKNOWN - Item not found in agent output")
+
+
+check_info['wut_webio_io.inputs'] = {
+ "check_function" : check_wut_webio_io_inputs,
+ "inventory_function" : inventory_wut_webio_io_inputs,
+ "service_description": "IO INPUT %s",
+ "has_perfdata" : True,
+ # "group" : "",
+ # "default_levels_variable" : "services_default_levels",
+ "snmp_scan_function" : lambda oid:
oid(".1.3.6.1.4.1.5040.1.2.4.3.3.5").lower().startswith("web-io"),
+ "snmp_info" : (".1.3.6.1.4.1.5040.1.2.4", [
+ "3.2.1.1.1",
+ "1.3.1.4", ]),
+}