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 d3f32429 authored by thl-cmk's avatar thl-cmk :flag_na:
Browse files

Delete checkpoint_vsx

parent 40bdb71f
No related branches found
No related tags found
No related merge requests found
#!/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 : 2017-17-05
#
# Check Point vsx Cluster status
#
# Monitor status of virtual systems in Check Point vsx/vsls cluster
#
# 03.08.2018 : changed snmp scan function
# 13.08.2018 : code cleanup, add metrics
# 08.06.2020 : changed snmp-scan function
#
# snmpwalk sample
#
# .1.3.6.1.4.1.2620.1.16.22.1.1.1.3.0 = Gauge32: 2
# .1.3.6.1.4.1.2620.1.16.22.1.1.2.3.0 = Gauge32: 2
# .1.3.6.1.4.1.2620.1.16.22.1.1.3.3.0 = STRING: "HRI"
# .1.3.6.1.4.1.2620.1.16.22.1.1.4.3.0 = STRING: "Virtual System"
# .1.3.6.1.4.1.2620.1.16.22.1.1.5.3.0 = STRING: "10.140.1.3"
# .1.3.6.1.4.1.2620.1.16.22.1.1.6.3.0 = STRING: "Standard"
# .1.3.6.1.4.1.2620.1.16.22.1.1.7.3.0 = STRING: "Active"
# .1.3.6.1.4.1.2620.1.16.22.1.1.8.3.0 = STRING: "Trust established"
# .1.3.6.1.4.1.2620.1.16.22.1.1.9.3.0 = STRING: "Standby"
# .1.3.6.1.4.1.2620.1.16.22.1.1.10.3.0 = Gauge32: 0
#
# .1.3.6.1.4.1.2620.1.16.23.1.1.2.3.0 = Gauge32: 40
# .1.3.6.1.4.1.2620.1.16.23.1.1.3.3.0 = Gauge32: 864
# .1.3.6.1.4.1.2620.1.16.23.1.1.4.3.0 = Gauge32: 14900
# .1.3.6.1.4.1.2620.1.16.23.1.1.5.3.0 = STRING: "69459"
# .1.3.6.1.4.1.2620.1.16.23.1.1.6.3.0 = STRING: "2405"
# .1.3.6.1.4.1.2620.1.16.23.1.1.7.3.0 = STRING: "67054"
# .1.3.6.1.4.1.2620.1.16.23.1.1.8.3.0 = STRING: "0"
# .1.3.6.1.4.1.2620.1.16.23.1.1.9.3.0 = STRING: "4228862"
# .1.3.6.1.4.1.2620.1.16.23.1.1.10.3.0 = STRING: "72445"
# .1.3.6.1.4.1.2620.1.16.23.1.1.11.3.0 = STRING: "0"
# .1.3.6.1.4.1.2620.1.16.23.1.1.12.3.0 = STRING: "7074"
# .1.3.6.1.4.1.2620.1.16.23.1.1.13.3.0 = INTEGER: 0
#
factory_settings['checkpoint_vsx_defaults'] = {
'vsType': ['virtual system', 'vsx gateway', 'virtual switch', 'virtual router']
}
def inventory_checkpoint_vsx(info):
for vs in info:
vsxStatusVsType = vs[2]
if vsxStatusVsType.lower() in ['virtual system']: # , 'vsx gateway', 'virtual switch', 'virtual router'
vsxStatusVsName = vs[1]
yield vsxStatusVsName, {'policyname': vs[4], 'ha_state': vs[7]}
def check_checkpoint_vsx(item, params, info):
for vs in info:
vsxStatusVsName = vs[1]
if vsxStatusVsName == item:
infotext = ''
longoutput = ''
vsxStatusVSId = vs[0]
# vsxStatusVsName = vs[1]
vsxStatusVsType = vs[2]
vsxStatusMainIP = vs[3]
vsxStatusPolicyName = vs[4]
vsxStatusVsPolicyType = vs[5]
vsxStatusSicTrustState = vs[6]
vsxStatusHAState = vs[7]
vsxStatusVSWeight = vs[8]
vsxCountersConnNum = int(vs[9])
vsxCountersConnPeakNum = int(vs[10])
vsxCountersConnTableLimit = int(vs[11])
vsxCountersPackets = int(vs[12])
vsxCountersDroppedTotal = int(vs[13])
vsxCountersAcceptedTotal = int(vs[14])
vsxCountersRejectedTotal = int(vs[15])
vsxCountersBytesAcceptedTotal = int(vs[16])
vsxCountersBytesDroppedTotal = int(vs[17])
vsxCountersBytesRejectedTotal = int(vs[18])
vsxCountersLoggedTotal = int(vs[19])
vsxCountersIsDataValid = vs[20]
now_time = time.time()
vsxCountersPackets = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersPackets', item), now_time, vsxCountersPackets, onwrap=SKIP)
vsxCountersDroppedTotal = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersDroppedTotal', item), now_time, vsxCountersDroppedTotal, onwrap=SKIP)
vsxCountersAcceptedTotal = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersAcceptedTotal', item), now_time, vsxCountersAcceptedTotal, onwrap=SKIP)
vsxCountersRejectedTotal = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersRejectedTotal', item), now_time, vsxCountersRejectedTotal, onwrap=SKIP)
vsxCountersBytesAcceptedTotal = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersBytesAcceptedTotal', item), now_time, vsxCountersBytesAcceptedTotal, onwrap=SKIP)
vsxCountersBytesDroppedTotal = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersBytesDroppedTotal', item), now_time, vsxCountersBytesDroppedTotal, onwrap=SKIP)
vsxCountersBytesRejectedTotal = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersBytesRejectedTotal', item), now_time, vsxCountersBytesRejectedTotal, onwrap=SKIP)
vsxCountersLoggedTotal = get_rate('checkpoint_vsx.%s.%s' % ('vsxCountersLoggedTotal', item), now_time, vsxCountersLoggedTotal, onwrap=SKIP)
# system information
infotext += 'IP: %s, VS ID: %s' % (vsxStatusMainIP, vsxStatusVSId)
# Counters
# infotext += ', Connections: %d, Packets prosessed: %0.2f/s, Logs send: %0.2f/s' % (vsxCountersConnNum, vsxCountersPackets, vsxCountersLoggedTotal)
longoutput += '\nSystem name: %s' % vsxStatusVsName
longoutput += '\nH/A status: %s' % vsxStatusHAState
longoutput += '\nVirtual System ID: %s' % vsxStatusVSId
longoutput += '\nType: %s' % vsxStatusVsType
longoutput += '\nWeight: %s' % vsxStatusVSWeight
longoutput += '\nMain IP: %s' % vsxStatusMainIP
longoutput += '\nPolicy name: %s' % vsxStatusPolicyName
longoutput += '\nPolicy type: %s' % vsxStatusVsPolicyType
longoutput += '\nSIC status: %s' % vsxStatusSicTrustState
longoutput += '\nConn Table Limit: %s' % vsxCountersConnTableLimit
longoutput += '\nIs Data Valid: %s' % vsxCountersIsDataValid
perfdata = [('connections', vsxCountersConnNum),
('connections_peak', vsxCountersConnPeakNum),
# ('connections_limit', vsxCountersConnTableLimit),
('packets_processed', vsxCountersPackets),
('packets_dropped', vsxCountersDroppedTotal),
('packets_accepted', vsxCountersAcceptedTotal),
('packets_rejected', vsxCountersRejectedTotal),
('bytes_accepted', vsxCountersBytesAcceptedTotal),
('bytes_dropped', vsxCountersBytesDroppedTotal),
('bytes_rejected', vsxCountersBytesRejectedTotal),
('logges_send', vsxCountersLoggedTotal),
]
if not vsxStatusHAState.lower() in ['active', 'standby']:
yield 2, 'Status: %s' % vsxStatusHAState
else:
yield 0, 'Status: %s' % vsxStatusHAState
if not vsxStatusSicTrustState.lower() in ['trust established']:
yield 2, 'SIC not established'
if not vsxStatusVsPolicyType.lower() in ['active']:
yield 2, 'No policy installed'
if params.get('policyname', 'unknown') != vsxStatusPolicyName:
yield 1, 'Policy name changed: expected %s, found %s' % (params.get('policyname', 'unknown'), vsxStatusPolicyName)
if params.get('ha_state', 'unknown') != vsxStatusHAState:
yield 1, 'State changed: expected/found %s/%s' % (params.get('ha_state', 'unknown'), vsxStatusHAState)
yield 0, infotext + longoutput, perfdata
check_info['checkpoint_vsx'] = {
'check_function' : check_checkpoint_vsx,
'inventory_function' : inventory_checkpoint_vsx,
'service_description' : 'VSX System %s',
'has_perfdata' : True,
'group': 'checkpoint_vsx',
'default_levels_variable': 'checkpoint_vsx_defaults',
'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.16', ['22.1.1.1', # vsxStatusVSId
'22.1.1.3', # vsxStatusVsName
'22.1.1.4', # vsxStatusVsType
'22.1.1.5', # vsxStatusMainIP
'22.1.1.6', # vsxStatusPolicyName
'22.1.1.7', # vsxStatusVsPolicyType
'22.1.1.8', # vsxStatusSicTrustState
'22.1.1.9', # vsxStatusHAState
'22.1.1.10', # vsxStatusVSWeight
'23.1.1.2', # vsxCountersConnNum
'23.1.1.3', # vsxCountersConnPeakNum
'23.1.1.4', # vsxCountersConnTableLimit
'23.1.1.5', # vsxCountersPackets
'23.1.1.6', # vsxCountersDroppedTotal
'23.1.1.7', # vsxCountersAcceptedTotal
'23.1.1.8', # vsxCountersRejectedTotal
'23.1.1.9', # vsxCountersBytesAcceptedTotal
'23.1.1.10', # vsxCountersBytesDroppedTotal
'23.1.1.11', # vsxCountersBytesRejectedTotal
'23.1.1.12', # vsxCountersLoggedTotal
'23.1.1.13', # vsxCountersIsDataValid
]),
}
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