Module: check_mk
Branch: master
Commit: 1299c6d3820407c48db353c9e62195ec66c1dab0
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=1299c6d3820407…
Author: Simon Betz <si(a)mathias-kettner.de>
Date: Wed Apr 4 15:35:39 2018 +0200
5937 apc_system_events: New check which monitors active system events on an InRow Cooling
device
Change-Id: Ideeb22fb8800bf2a6d25728a67adb0492162e7c7
---
.werks/5937 | 10 ++++++
checkman/apc_inrow_system_events | 12 ++++++++
checks/apc_inrow_system_events | 59 ++++++++++++++++++++++++++++++++++++
web/plugins/wato/check_parameters.py | 17 +++++++++++
4 files changed, 98 insertions(+)
diff --git a/.werks/5937 b/.werks/5937
new file mode 100644
index 0000000..c39a089
--- /dev/null
+++ b/.werks/5937
@@ -0,0 +1,10 @@
+Title: apc_system_events: New check which monitors active system events on an InRow
Cooling device
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.5.0i4
+Date: 1522848872
+Class: feature
+
+
diff --git a/checkman/apc_inrow_system_events b/checkman/apc_inrow_system_events
new file mode 100644
index 0000000..caface8
--- /dev/null
+++ b/checkman/apc_inrow_system_events
@@ -0,0 +1,12 @@
+title: APC InRow Cooling Devices: System events
+agents: snmp
+catalog: hw/environment/apc
+license: GPL
+distribution: check_mk
+description:
+ This check monitors active system events on an InRow Cooling device.
+ In case of open events, the check takes a configurable state.
+
+inventory:
+ One check will be created for each host
+
diff --git a/checks/apc_inrow_system_events b/checks/apc_inrow_system_events
new file mode 100644
index 0000000..1362f80
--- /dev/null
+++ b/checks/apc_inrow_system_events
@@ -0,0 +1,59 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | Copyright Mathias Kettner 2018 mk(a)mathias-kettner.de |
+# +------------------------------------------------------------------+
+#
+# This file is part of Check_MK.
+# The official homepage is at
http://mathias-kettner.de/check_mk.
+#
+# check_mk is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation in version 2. check_mk is distributed
+# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
+# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE. See the GNU General Public License for more de-
+# tails. You should have received a copy of the GNU General Public
+# License along with GNU Make; see the file COPYING. If not, write
+# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301 USA.
+
+#.1.3.6.1.4.1.318.1.1.13.3.1.2.1.3.1 Power Source B Failure
+#.1.3.6.1.4.1.318.1.1.13.3.1.2.1.3.2 Fan Power Supply Right Fault
+
+def parse_apc_inrow_system_events(info):
+ parsed = {}
+ events = []
+ for line in info:
+ events.append(line[0])
+ parsed.update({"events":events})
+ return parsed
+
+
+def inventory_apc_inrow_system_events(parsed):
+ yield (None, {})
+
+
+def check_apc_inrow_system_events(_no_item, params, parsed):
+ if parsed["events"]:
+ state = params.get("state", 2)
+ return state, ", ".join(parsed["events"])
+ else:
+ return 0, "No service events"
+
+
+check_info["apc_inrow_system_events"] = {
+ "parse_function" : parse_apc_inrow_system_events,
+ "inventory_function" : inventory_apc_inrow_system_events,
+ "check_function" : check_apc_inrow_system_events,
+ "service_description" : "System events",
+ "snmp_info" : (".1.3.6.1.4.1.318.1.1.13.3.1.2.1",
["3"]), #airIRAlarmDescription
+ "snmp_scan_function" : lambda oid:
oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.318.1.3"),
+ "group" : "apc_system_events",
+}
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index b3db19b..2062898 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -5807,6 +5807,23 @@ register_check_parameters(
"dict",
)
+register_check_parameters(
+ subgroup_environment,
+ "apc_system_events",
+ _("APC Inrow System Events"),
+ Dictionary(
+ title = _("System Events on APX Inrow Devices"),
+ elements = [
+ ( "state",
+ MonitoringState(
+ title = _("State during active system events"),
+ default_value = 2,
+ )),
+ ]),
+ None,
+ "dict"
+)
+
#.
# .--Printing------------------------------------------------------------.
# | ____ _ _ _ |