Collection of CheckMK checks (see https://checkmk.com/). All checks and plugins are provided as is. Absolutely no warranty. Send any comments to thl-cmk[at]outlook[dot]com

Skip to content
Snippets Groups Projects
Commit 7bca3f83 authored by thl-cmk's avatar thl-cmk :flag_na:
Browse files

update project

parent e123fb87
No related branches found
No related tags found
No related merge requests found
No preview for this file type
#!/usr/bin/python
# -*- encoding: utf-8; py-indent-offset: 4 -*-
#
# License: GNU General Public License v2
#
# Author: thl-cmk[at]outlook[dot]com
# URL : https://thl-cmk.hopto.org
# Date : 2020-11-07
#
# Monitor Check Point Maestro SMO Vsls Chassis status
#
# sample snmpwalk
# .1.3.6.1.4.1.2620.1.48.30.20.1.0 = Gauge32: 50
# .1.3.6.1.4.1.2620.1.48.30.20.2.0 = STRING: "1 2 "
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.1.1.0 = Gauge32: 0
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.2.1.0 = STRING: "k01001s11-017500009"
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.3.1.0 = Gauge32: 1
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.4.1.0 = Gauge32: 1
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.5.1.0 = STRING: "OK"
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.6.1.0 = STRING: "Primary chassis health is good."
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.7.1.0 = Gauge32: 0
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.8.1.0 = Gauge32: 0
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.9.1.0 = Gauge32: 2
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.10.1.0 = Gauge32: 2
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.21.1.0 = Gauge32: 0
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.22.1.0 = Gauge32: 0
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.23.1.0 = Gauge32: 1
# .1.3.6.1.4.1.2620.1.48.30.20.10.1.24.1.0 = Gauge32: 1
#
# sample info
# [[[u'50', u'1 2']], [[u'0', u'k01001s11-017500009', u'1', u'1', u'OK', u'Primary chassis health is good.', u'2', u'2', u'1', u'1', u'', u'']]]
#
def inventory_checkpoint_asg_vsls(info):
chassis_info, chassis_state = info
try:
asgVslsSgmRatio, asgVslsSystemPrimaryChassis = chassis_info[0]
yield None, {'inv_state': chassis_state[0]}
except KeyError:
pass
def check_checkpoint_asg_vsls(_no_item, params, info):
chassis_info, chassis_state = info
asgVslsSgmRatio, asgVslsSystemPrimaryChassis = chassis_info[0]
asgVslsVsid, asgVslsVsName, asgVslsVsPrimaryChassis, asgVslsVsActiveChassis, asgVslsVsHealth, asgVslsVsReason, \
asgVslsVsChassis1FwksUp, asgVslsVsChassis1FwksTotal, \
asgVslsVsChassis2FwksUp, asgVslsVsChassis2FwksTotal, \
asgVslsVsChassis3FwksUp, asgVslsVsChassis3FwksTotal = chassis_state[0]
asgVslsSystemPrimaryChassis = asgVslsSystemPrimaryChassis.strip().split(' ')
inv_asgVslsVsActiveChassis = asgVslsVsActiveChassis
if params:
inv_state = params.get ('inv_state')
inv_asgVslsVsActiveChassis = inv_state[3]
infotext = ''
longoutput = ''
state = 0
# longoutput += '\n\nTo verify this output use the "asg monitor" command on the Check Point SMO cli,\n'
longoutput += '\nSystem name: %s' % asgVslsVsName
longoutput += '\nHealth status: %s' % asgVslsVsHealth
longoutput += '\nHealth reason: %s' % asgVslsVsReason
chassis_state = [
[int(asgVslsVsChassis1FwksUp), int(asgVslsVsChassis1FwksTotal)],
[int(asgVslsVsChassis2FwksUp), int(asgVslsVsChassis2FwksTotal)],
[int(asgVslsVsChassis2FwksUp), int(asgVslsVsChassis2FwksTotal)],
]
if asgVslsVsHealth != "OK":
yield 1, "Health: %s, Reason: %s" % (asgVslsVsHealth, asgVslsVsReason)
yield_text = 'Primary/Active chassis: %s/%s' % (asgVslsVsPrimaryChassis, asgVslsVsActiveChassis)
if inv_asgVslsVsActiveChassis != asgVslsVsActiveChassis:
yield 1, yield_text
else:
yield 0, yield_text
for chassis in asgVslsSystemPrimaryChassis:
asgVslsVsChassisFwksUp, asgVslsVsChassisFwksTotal = chassis_state[int(chassis) - 1]
yield_text = 'Chassis %s: %s/%s SGMs UP' % (chassis, asgVslsVsChassisFwksUp, asgVslsVsChassisFwksTotal )
if asgVslsVsChassisFwksUp != asgVslsVsChassisFwksTotal:
yield 2, yield_text
else:
yield 0, yield_text
yield state, infotext + longoutput + '\n'
check_info['checkpoint_asg_vsls'] = {
'check_function': check_checkpoint_asg_vsls,
'inventory_function': inventory_checkpoint_asg_vsls,
'service_description': "ASG VSLS",
'snmp_scan_function': scan_checkpoint,
'group': 'checkpoint_asg_vsls',
'snmp_info': [(
'.1.3.6.1.4.1.2620.1.48.30.20', # CHECKPOINT-MIB::asgVslsInfo
[
1, # asgVslsSgmRatio
2, # asgVslsSystemPrimaryChassis
]),
('.1.3.6.1.4.1.2620.1.48.30.20.10.1', # CHECKPOINT-MIB::asgVslsStateEntry
[
1, # asgVslsVsid
2, # asgVslsVsName
3, # asgVslsVsPrimaryChassis
4, # asgVslsVsActiveChassis
5, # asgVslsVsHealth
6, # asgVslsVsReason
9, # asgVslsVsChassis1FwksUp
10, # asgVslsVsChassis1FwksTotal
23, # asgVslsVsChassis2FwksUp
24, # asgVslsVsChassis2FwksTotal
33, # asgVslsVsChassis3FwksUp
34, # asgVslsVsChassis3FwksTotal
])
],
'includes': ['checkpoint.include'],
}
\ No newline at end of file
{'author': u'Th.L. (thl-cmk[at]outlook[dot]com)',
'description': u'Monitor Check Point Maestro SMO VSLS Chassis status',
'download_url': 'http://thl-cmk.hopto.org/',
'files': {'checks': ['checkpoint_asg_chassis']},
'files': {'checks': ['checkpoint_asg_vsls']},
'name': 'checkpoint_asg_vsls',
'num_files': 1,
'title': u'Check Point Maestro SMO ASG VSLS Chassis',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment