From fcf01837706183e70ffb670aa6d5e15f578d9a84 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 12:16:02 +0300 Subject: [PATCH] added pools, info, clprs checks --- .../share/check_mk/checks/hitachivsp_clprs | 54 +++++++++++++++++ .../share/check_mk/checks/hitachivsp_pools | 59 +++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_clprs create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_pools diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs new file mode 100644 index 0000000..dd1faed --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs @@ -0,0 +1,54 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@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. + +#example output +#<<>> +#clprId cacheMemoryCapacity cacheMemoryUsedCapacity writePendingDataCapacity cacheUsageRate +#0 924672 901454 44959 99 + + +def inventory_hitachivsp_clprs(info): + for line in info: + if "clprId" not in line: + yield line[0], {} + + +def check_hitachivsp_clprs(item, params, info): + for line in info: + if item == line[0]: + yield 0, "CacheMemoryCapacity[GB]: %s ; CacheMemoryUsedCapacity[GB]: %s ; cacheUsageRate %s " % \ + ( int(line[1])/1024 , int(line[2])/1024, line[4] ), \ + [("CacheMemoryCapacity", int(line[1])/1024, None, None, 0), + ("CacheMemoryUsedCapacity", int(line[2])/1024, None, None, 0), + ("CacheUsageRate", line[4], None, None, 0)] + + +check_info['hitachivsp_clprs'] = { + 'inventory_function': inventory_hitachivsp_clprs, + 'check_function': check_hitachivsp_clprs, + 'service_description': 'CLPR %s', + 'has_perfdata': True +} \ No newline at end of file diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_pools b/hitachi-vsp/share/check_mk/checks/hitachivsp_pools new file mode 100644 index 0000000..c0ef66c --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_pools @@ -0,0 +1,59 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@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. + +#example output +#<<>> +#poolID poolType poolName totalPhysicalCapacity totalPoolCapacity availableVolumeCapacity usedCapacityRate poolStatus +#0 RT RAID6_HDT_01 397630296 397630296 208964826 47 POLN +#1 HTI THIN_IMAGE_POOL 46453344 46453344 46453344 0 POLN + + +def inventory_hitachivsp_pools(info): + for line in info: + if "totalPhysicalCapacity" not in line: + yield line[0], {} + + +def check_hitachivsp_pools(item, _no_params, info): + for line in info: + if item == line[0]: + perf_data = line[6] + if line[7] == "POLE": + yield 2, "Pool is suspended in failure status" + elif line[7] == "POLN": + yield 0, "Pool is Normal" + elif line[7] == "POLF": + yield 2, "Pool is Full" + elif line[7] == "POLS": + yield 2, "Pool is Suspended" + + +check_info['hitachivsp_pools'] = { + 'inventory_function': inventory_hitachivsp_pools, + 'check_function': check_hitachivsp_pools, + 'service_description': 'Pool %s', + 'has_perfdata': False +} \ No newline at end of file