From 23df535492154c48cba91deece662c04c075ced3 Mon Sep 17 00:00:00 2001 From: Thl CMK <thl-cmk@outlook.com> Date: Mon, 8 Jun 2020 21:28:30 +0200 Subject: [PATCH] update project --- checkpoint_soft_raid.mkp | Bin 3890 -> 3895 bytes checks/checkpoint_soft_raid | 46 +++++++++----------- packages/checkpoint_soft_raid | 4 +- web/plugins/metrics/checkpoint_soft_raid.py | 27 +++++++----- 4 files changed, 37 insertions(+), 40 deletions(-) diff --git a/checkpoint_soft_raid.mkp b/checkpoint_soft_raid.mkp index dfdb61c4bd34e178e14268469828634e06e714e6..3897ab2a2d9a6e33e0883ab7fb335bdcb343de34 100644 GIT binary patch literal 3895 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 VO(w$sr^qMV7c&#;SVdS^{{w>VU;qFB literal 3890 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 diff --git a/checks/checkpoint_soft_raid b/checks/checkpoint_soft_raid index eaa0046..5ee8a93 100644 --- a/checks/checkpoint_soft_raid +++ b/checks/checkpoint_soft_raid @@ -1,11 +1,16 @@ #!/usr/bin/python # -*- encoding: utf-8; py-indent-offset: 4 -*- - # -# 31.05.2016 : Th.L. : monitor Check Point appliance soft RAID -# 08.03.2018 : Th.L. : changed snmp scan function -# 13.03.2018 : Th.L. : code cleanup -# 15.03.2018 : Th.L. : more code cleanup +# License: GNU General Public License v2 +# +# Author: thl-cmk[at]outlook[dot]com +# URL : https://thl-cmk.hopto.org +# +# 31.05.2016 : monitor Check Point appliance soft RAID +# 08.03.2018 : changed snmp scan function +# 13.03.2018 : code cleanup +# 15.03.2018 : more code cleanup +# 08.06.2020 : changed snmp-scan function # # sample snmpwalk (one volume / two disks) # @@ -121,11 +126,9 @@ def inventory_checkpoint_soft_raid(parse): disksonvolume.append(disk) disks.remove(disk) yield item, [volume, disksonvolume] - else: - return -def check_checkpoint_soft_raid(item, params, parse): +def check_checkpoint_soft_raid(_no_item, _no_params, parse): raidvolumestate = { 0: 'OPTIMAL', 1: 'DEGRADED', @@ -199,8 +202,6 @@ def check_checkpoint_soft_raid(item, params, parse): return description volumes, disks = parse - disksonvolume = [] - state = 0 infotext = '' longoutput = '' perfdata = [] @@ -217,7 +218,7 @@ def check_checkpoint_soft_raid(item, params, parse): if volume.get('volumestate') != 0: yield 2, 'Volume state %s' % raidvolumestate.get(volume.get('volumestate')) else: - infotext += 'Volume state: %s, ' % raidvolumestate.get(volume.get('volumestate')) + yield 0, 'Volume state: %s' % raidvolumestate.get(volume.get('volumestate')) infotext += '%s, ' % volume.get('volumetype') infotext += '%d disks, ' % volume.get('numofdisksonraid') @@ -230,7 +231,6 @@ def check_checkpoint_soft_raid(item, params, parse): longoutput += 'max LBA: %d, ' % volume.get('volumemaxlba') longoutput += 'Flags: %s' % getflags(volume.get('volumeflags'), raidvolumeflags) - # disk infos for disk in disks: diskid = disk.get('diskid') @@ -238,7 +238,7 @@ def check_checkpoint_soft_raid(item, params, parse): if disk.get('diskstate') != 0: yield 2, 'Disk ID: %d state: %s' % (diskid, raiddiskstate.get(disk.get('diskstate'))) else: - infotext += 'Disk ID %d state %s, ' % (diskid, raiddiskstate.get(disk.get('diskstate'))) + yield 0, 'Disk ID %d state %s' % (diskid, raiddiskstate.get(disk.get('diskstate'))) longoutput += '\n%s disk (id %d): ' % (raiddiskid.get(diskid), diskid) longoutput += 'State: %s, ' % raiddiskstate.get(disk.get('diskstate')) @@ -253,9 +253,9 @@ def check_checkpoint_soft_raid(item, params, parse): perfdata.append(('disk_id_%d' % diskid, syncstate, None, None, 0, 100)) # remove last ', ' - infotext = infotext[:-2] + # infotext = infotext[:-2] - yield state, infotext + longoutput, perfdata + yield 0, infotext + longoutput, perfdata check_info['checkpoint_soft_raid'] = { @@ -264,16 +264,11 @@ check_info['checkpoint_soft_raid'] = { 'parse_function' : parse_checkpoint_soft_raid, 'default_levels_variable' : 'checkpoint_soft_raid_defaults', 'service_description' : 'Soft RAID', - 'group' : 'cp_soft_raid', + 'group' : 'checkpoint_soft_raid', 'has_perfdata' : True, - - #'snmp_scan_function': lambda oid: oid('.1.3.6.1.2.1.1.2.0') in ['.1.3.6.1.4.1.2620.1.6.123.1.67', # ClusterXL Gateway - # '.1.3.6.1.4.1.2620.1.6.123.1.65', # Appliance - # '.1.3.6.1.4.1.2620.1.6.123.1.64', # VSX Gateway - # '.1.3.6.1.4.1.2620.1.6.123.1.62', # Gateway - # '.1.3.6.1.4.1.2620.1.6.123.1.49', # R77.30 Gateway - # '.1.3.6.1.4.1.2620.1.6.123.1.48', # Mgmt - 'snmp_scan_function': lambda oid: oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.2620.1.6.123.1'), + 'snmp_scan_function': lambda oid: (oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.2620.1.6.123.1') or + oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.8072.3.2.10')) and + oid('.1.3.6.1.4.1.2620.1.6.1.0', '').lower().startswith('svn foundation'), 'snmp_info' : [('.1.3.6.1.4.1.2620.1.6.7.7.1.1', [ # CHECKPOINT-MIB::raidVolumeEntry '1', # raidVolumeIndex '2', # raidVolumeID @@ -298,5 +293,4 @@ check_info['checkpoint_soft_raid'] = { '11', # raidDiskSyncState '12', # raidDiskSize ])], -} - +} \ No newline at end of file diff --git a/packages/checkpoint_soft_raid b/packages/checkpoint_soft_raid index d79f4dc..992578c 100644 --- a/packages/checkpoint_soft_raid +++ b/packages/checkpoint_soft_raid @@ -6,6 +6,6 @@ 'name': 'checkpoint_soft_raid', 'num_files': 2, 'title': u'Check Point appliance soft RAID', - 'version': '20180731.v0.2b', + 'version': '20200608.v0.2c', 'version.min_required': '1.2.8b8', - 'version.packaged': '1.4.0p35'} \ No newline at end of file + 'version.packaged': '1.4.0p38'} \ No newline at end of file diff --git a/web/plugins/metrics/checkpoint_soft_raid.py b/web/plugins/metrics/checkpoint_soft_raid.py index 94f5fb4..53cd9ce 100644 --- a/web/plugins/metrics/checkpoint_soft_raid.py +++ b/web/plugins/metrics/checkpoint_soft_raid.py @@ -1,24 +1,27 @@ #!/usr/bin/python # -*- encoding: utf-8; py-indent-offset: 4 -*- # -# Check Point soft RAID metrics plugin +# License: GNU General Public License v2 # -# Author: Th.L. +# Author: thl-cmk[at]outlook[dot]com +# URL : https://thl-cmk.hopto.org # Date : 2018-04-11 # +# Check Point soft RAID metrics plugin +# -##################################################################################################################### +############################################################################## # # define units for perfdata # -##################################################################################################################### +############################################################################## -##################################################################################################################### +############################################################################## # # define metrics for perfdata # -##################################################################################################################### +############################################################################## metric_info['checkpoint_soft_raid_disk_id_0'] = { 'title': _('Sync Disk 0'), @@ -33,22 +36,22 @@ metric_info['checkpoint_soft_raid_disk_id_1'] = { 'color': '21/a', } -###################################################################################################################### +############################################################################## # # map perfdata to metric # -###################################################################################################################### +############################################################################## check_metrics['check_mk-checkpoint_soft_raid'] = { 'disk_id_0': {'name': 'checkpoint_soft_raid_disk_id_0', }, 'disk_id_1': {'name': 'checkpoint_soft_raid_disk_id_1', } } -###################################################################################################################### +############################################################################## # # how to graph perdata # -###################################################################################################################### +############################################################################## graph_info.append({ 'title': _('Check Point soft RAID sync status'), @@ -58,11 +61,11 @@ graph_info.append({ ], }) -###################################################################################################################### +############################################################################## # # define perf-o-meter # -###################################################################################################################### +############################################################################## perfometer_info.append(('stacked', [ -- GitLab