From 7c3cfabcbb02126a882a97d6dd495406017f00da Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 16:16:22 +0300 Subject: [PATCH] addded disk boards, sfps; repaired channel_boards, cache_flash_memories --- .../checks/hitachivsp_cache_flash_memories | 2 +- .../check_mk/checks/hitachivsp_channel_board | 12 +-- .../check_mk/checks/hitachivsp_disk_boards | 60 +++++++++++++++ .../share/check_mk/checks/hitachivsp_sfps | 75 +++++++++++++++++++ 4 files changed, 142 insertions(+), 7 deletions(-) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_sfps diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories index e5324c0..3b7b2e5 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories @@ -48,7 +48,7 @@ def check_hitachivsp_cache_flash_memories(item, params, info): yield 1, "Cache memory status is Warning" elif line[1] == "Blocked": yield 2, "Cache memory status is Blocked" - elif line[1] == "Blocked": + elif line[1] == "Failed": yield 2, "Cache memory status is Failed" diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board b/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board index 75c3b20..f0c434f 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board @@ -25,12 +25,12 @@ # Boston, MA 02110-1301 USA. #example output -<<>> -location status type -CHB-1A Normal 32G Ready 4Port FC -CHB-1B Normal 32G Ready 4Port FC -CHB-2A Normal 32G Ready 4Port FC -CHB-2B Normal 32G Ready 4Port FC +#<<>> +#location status type +#CHB-1A Normal 32G Ready 4Port FC +#CHB-1B Normal 32G Ready 4Port FC +#CHB-2A Normal 32G Ready 4Port FC +#CHB-2B Normal 32G Ready 4Port FC def inventory_hitachivsp_channel_board(info): diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards b/hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards new file mode 100644 index 0000000..5fb8040 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards @@ -0,0 +1,60 @@ +#!/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 +#<<>> +#location status type +#DKB-1G Normal Disk Board +#DKB-1H Normal Disk Board +#DKB-2G Normal Disk Board +#DKB-2H Normal Disk Board + +def inventory_hitachivsp_disk_boards(info): + for line in info: + if "location" not in line: + yield line[0], {} + + +def check_hitachivsp_disk_boards(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "Disk Board status is Normal" + elif line[1] == "Warning": + yield 1, "Disk Board status is Warning" + elif line[1] == "Blocked": + yield 2, "Disk Board status is Blocked" + elif line[1] == "Failed": + yield 2, "Disk Board status is Failed" + + +check_info['hitachivsp_disk_boards'] = { + 'inventory_function': inventory_hitachivsp_disk_boards, + 'check_function': check_hitachivsp_disk_boards, + 'service_description': 'Disk Board %s', + 'has_perfdata': True +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps b/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps new file mode 100644 index 0000000..89687a1 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps @@ -0,0 +1,75 @@ +#!/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 +#<<>> +#portId status type speed portCondition +#1A Normal Short Wave 16 Gbps Available (Connected) +#3A Normal Short Wave 16 Gbps Available (Connected) +#5A Normal Short Wave 16 Gbps Available (Connected) +#7A Normal Short Wave 16 Gbps Available (Connected) +#1B Normal Short Wave 16 Gbps Available (Connected) +#3B Normal Short Wave 16 Gbps Available (Connected) +#5B Normal Short Wave 16 Gbps Available (Connected) +#7B Normal Short Wave 16 Gbps Available (Connected) +#2A Normal Short Wave 16 Gbps Available (Connected) +#4A Normal Short Wave 16 Gbps Available (Connected) +#6A Normal Short Wave 16 Gbps Available (Connected) +#8A Normal Short Wave 16 Gbps Available (Connected) +#2B Normal Short Wave 16 Gbps Available (Connected) +#4B Normal Short Wave 16 Gbps Available (Connected) +#6B Normal Short Wave 16 Gbps Available (Connected) +#8B Normal Short Wave 16 Gbps Available (Connected) + +def inventory_hitachivsp_sfps(info): + for line in info: + if "portID" not in line: + yield line[0], {} + + +def check_hitachivsp_sfps(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "SFP status is Normal" + elif line[1] == "Warning": + yield 1, "SFP status is Warning" + elif line[1] == "Not fix": + yield 2, "SFP status is Not fix" + if line[4] == "Available (Connected)": + yield 0, "SFP is Connected" + elif line[4] == "Available (Not Connected)": + yield 1, "SFP is not Connected" + elif line[4] == "Not Available": + yield 2, "SFP is not available" + +check_info['hitachivsp_sfps'] = { + 'inventory_function': inventory_hitachivsp_sfps, + 'check_function': check_hitachivsp_sfps, + 'service_description': 'SFP Port %s', + 'has_perfdata': False +} +