Module: check_mk
Branch: master
Commit: 530baaf67c790063c8fc4c77ff0a8b7e03c17ae9
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=530baaf67c7900…
Author: Florian Kromer <fk(a)mathias-kettner.de>
Date: Fri Dec 7 16:56:59 2018 +0100
6898 alcatel_cpu_aos7: Add support for new switches
This werk adds cpu usage monitoring (alcatel_cpu) support for the new
switch devices running at least AOS7. The check alcatel_cpu_aos7 reuses
the default values of check alcatel_cpu for consistent check behaviour.
CMK-1188
Change-Id: Ib9e4972a5fc77f5991ae6269c3ab1f5ac4f42af8
---
.werks/6898 | 14 ++++++++
checkman/alcatel_cpu_aos7 | 13 ++++++++
checks/alcatel.include | 13 ++++++++
checks/alcatel_cpu_aos7 | 38 ++++++++++++++++++++++
.../checks/generictests/datasets/alcatel_aos7.py | 7 ++++
5 files changed, 85 insertions(+)
diff --git a/.werks/6898 b/.werks/6898
new file mode 100644
index 0000000..1c16f78
--- /dev/null
+++ b/.werks/6898
@@ -0,0 +1,14 @@
+Title: alcatel_cpu_aos7: Add support for new switches
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.6.0i1
+Date: 1544198052
+Class: feature
+
+This werk adds cpu usage monitoring (alcatel_cpu) support for the new
+switch devices running at least AOS7. The check alcatel_cpu_aos7 reuses
+the default values of check alcatel_cpu for consistent check behaviour.
+
+CMK-1188
diff --git a/checkman/alcatel_cpu_aos7 b/checkman/alcatel_cpu_aos7
new file mode 100644
index 0000000..e79d8cf
--- /dev/null
+++ b/checkman/alcatel_cpu_aos7
@@ -0,0 +1,13 @@
+title: Alcatel switches (>=AOS7): CPU utilization
+agents: snmp
+catalog: hw/network/alcatel
+license: GPL
+distribution: check_mk
+description:
+
+ This Check Monitors the CPU utilization on new Alcatel switches running at least AOS7
supporting
+ the ALCATEL-IND1-HEALTH-MIB (version for >=AOS7). The value is a average in percent
over the
+ last hour. This average is calculated by the device.
+
+inventory:
+ One check is created
diff --git a/checks/alcatel.include b/checks/alcatel.include
index fe19844..fc89291 100644
--- a/checks/alcatel.include
+++ b/checks/alcatel.include
@@ -32,11 +32,24 @@ factory_settings['alcatel_temp'] = {
def alcatel_networking_products_scan_function(oid):
+ """
+ Devices running until AOS6 (including).
+ """
sys_object_id = ".1.3.6.1.2.1.1.2.0" # MIB object "sysObjectID"
alcatel_ind_1_base_mib = ".1.3.6.1.4.1.6486.800" # MIB object
"alcatelIND1BaseMIB"
return oid(sys_object_id).startswith(alcatel_ind_1_base_mib)
+def alcatel_new_networking_products_scan_function(oid):
+ """
+ Devices running at least AOS7 (including).
+ Refer to alcatelENT1BaseMIB for more information.
+ """
+ sys_object_id = ".1.3.6.1.2.1.1.2.0" # MIB object "sysObjectID"
+ alcatel_ent_1_base_mib = ".1.3.6.1.4.1.6486.801" # MIB object
"alcatelENT1BaseMIB"
+ return oid(sys_object_id).startswith(alcatel_ent_1_base_mib)
+
+
def inventory_alcatel_cpu(info):
return [(None, "alcatel_cpu_default_levels")]
diff --git a/checks/alcatel_cpu_aos7 b/checks/alcatel_cpu_aos7
new file mode 100644
index 0000000..2af5eb7
--- /dev/null
+++ b/checks/alcatel_cpu_aos7
@@ -0,0 +1,38 @@
+#!/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.
+
+check_info["alcatel_cpu_aos7"] = {
+ "check_function": check_alcatel_cpu,
+ "inventory_function": inventory_alcatel_cpu,
+ "service_description": "CPU utilization",
+ "has_perfdata": True,
+ "snmp_scan_function": alcatel_new_networking_products_scan_function,
+ "snmp_info": (
+ "1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1" # MIB object
"healthModuleTable"
+ [15] # MIB object "healthModuleCpuLatest"
+ ),
+ "includes": ["alcatel.include"],
+}
diff --git a/tests/unit/checks/generictests/datasets/alcatel_aos7.py
b/tests/unit/checks/generictests/datasets/alcatel_aos7.py
new file mode 100644
index 0000000..f0365bb
--- /dev/null
+++ b/tests/unit/checks/generictests/datasets/alcatel_aos7.py
@@ -0,0 +1,7 @@
+checkname = 'alcatel_cpu_aos7'
+
+info = [['17']]
+
+discovery = {'': [(None, 'alcatel_cpu_default_levels')]}
+
+checks = {'': [(None, (90.0, 95.0), [(0, 'total: 17.0%',
[('util', 17, 90.0, 95.0, 0, 100)])])]}