I use on R80.20 the MIB iso.3.6.1.4.1.2620.500.9000.1.2 and get all current Users via SNMPv3.
Then we wrote a own check-plugin additional to the standard Checkpoint Plugins to have a overview on our "Check MK" monitoring server with counter and usernames.
The check is a little bit rudimentary (not much configurable now) but perhaps it´s useful for someone else here:
#!/usr/bin/python
# -*- encoding: utf-8; py-indent-offset: 4 -*-
# +------------------------------------------------------------------+
# | ____ _ _ __ __ _ __ |
# | / ___| |__ ___ ___| | __ | \/ | |/ / |
# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
# | | |___| | | | __/ (__| < | | | | . \ |
# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
# | |
# | Copyright Mathias Kettner 2014 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.
# .1.3.6.1.2.1.1.1.0 Linux gateway1 2.6.18-92cp #1 SMP Tue Dec 4 21:44:22 IST 2012 i686
# .1.3.6.1.4.1.2620.1.1.25.3.0 19190
#checkpoint_connections_default_levels = (40000, 50000)
import datetime
vpn_states = {
"3": "Active",
"4": "Destroy",
"129": "Idle",
"130": "Phase1",
"131": "Down",
"132": "Init",
}
def inventory_checkpoint_vpnconnections(info):
# pprint.pprint(info)
return [(None, None)]
def check_checkpoint_vpnconnections(item, params, info):
state = 0
counter = 0
infotext1 = ""
for lauf in info:
# print (lauf[2])
user = lauf[0].split("@")
starttime = saveint(lauf[2])
timea = datetime.datetime.fromtimestamp(starttime)
timeb = timea.strftime("%m/%d/%Y, %H:%M:%S")
# print (timea)
infotext1 += user[0] + " Status: " + vpn_states[lauf[1]] + " Since: " + timeb + "\n"
counter =+ counter +1
# + vpn_states[lauf[1]
# + " since : " + datetime.fromtimestamp(lauf[2]) + "\n"
infotext=("%d VPN Connections\n" % counter )
return state, infotext + infotext1, [("vpnconnctions", counter)]
check_info["checkpoint_vpnconnections"] = {
"check_function": check_checkpoint_vpnconnections,
"inventory_function": inventory_checkpoint_vpnconnections,
"service_description": "VPNConnections",
"has_perfdata": True,
"group": "checkpoint_connections",
"snmp_scan_function": scan_checkpoint,
"snmp_info": (".1.3.6.1.4.1.2620.500.9000.1" , [ "2", "4", "29" ]),
"includes": ["checkpoint.include"],
}
Regards,
Andi