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

Delete snmp_uptime

parent a6210167
No related branches found
No related tags found
No related merge requests found
#!/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.
#
# 19/08/2019: modified by th.l. to use hrSystemUptime if available instead of sysUpTime
# sysUpTime is the uptime of the snmp agent
# hrSystemUptime it the uptime of the system
#
# info = [[u'78872', u'203804']]
# info[0][0] = '78872' # sysUpTime
# info[0][1] = '203804' # hrSystemUptime
def inventory_snmp_uptime(info):
if len(info) > 0 and (len(info[0]) >= 1 and (len(info[0][0]) >= 1 or len(info[0][1]) >= 1)):
return [(None, {})]
def check_snmp_uptime(checktype, params, info):
uptime = '0'
if len(info[0]) >= 1 and len(info[0][1]) >= 1:
uptime = parse_snmp_uptime(info[0][1])
elif len(info[0]) >= 1 and len(info[0][0]) >= 1:
uptime = parse_snmp_uptime(info[0][0])
return check_uptime_seconds(params, uptime)
check_info["snmp_uptime"] = {
'check_function': check_snmp_uptime,
'inventory_function': inventory_snmp_uptime,
'service_description': 'Uptime',
'has_perfdata': True,
'snmp_info': ('.1.3.6.1.2.1', ['1.3.0', # DISMAN-EVENT-MIB::sysUpTime
'25.1.1.0']), # HOST-RECOURCES-MIB::hrSystemUptime
'snmp_scan_function': lambda oid: oid(".1.3.6.1.2.1.1.1.0") not in [None, ""],
'group': 'uptime',
'includes': ['uptime.include'],
}
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