From 8461b1a948d36ca3198d21842c40a761fffb2bb7 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Tue, 8 Mar 2022 19:02:42 +0100 Subject: [PATCH] update project --- agent_based/snmp_uptime.py | 20 ++++++++++++-------- snmp_uptime.mkp | Bin 1907 -> 1978 bytes 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/agent_based/snmp_uptime.py b/agent_based/snmp_uptime.py index 111a697..10c5a1f 100644 --- a/agent_based/snmp_uptime.py +++ b/agent_based/snmp_uptime.py @@ -4,7 +4,6 @@ # This file is part of Checkmk (https://checkmk.com). It is subject to the terms and # conditions defined in the file COPYING, which is part of this source code package. -# 2022-03-06: extended to use snmpEngineTime if available # snmpEngineTime : The number of seconds since the value of the snmpEngineBoots object last changed. When # incrementing this object's value would cause it to exceed its maximum, snmpEngineBoots is # incremented as if a re-initialization had occurred, and this object's value consequently @@ -12,6 +11,10 @@ # snmpEngineBoots: The number of times that the SNMP engine has (re-)initialized itself since snmpEngineID was # last configured. On Cisco Device this gives the number of reboots # +# 2022-03-06: extended to use snmpEngineTime if available +# 2022-03-07: fixed if snmpEngineTime == 0 +# 2022-03-08: renamed to snmp_uptime_extended to avoid caching issues with the original check +# from typing import Optional @@ -20,15 +23,15 @@ from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import StringTabl from cmk.base.plugins.agent_based.utils import uptime -def parse_snmp_uptime(string_table: StringTable) -> Optional[uptime.Section]: +def parse_snmp_uptime_extended(string_table: StringTable) -> Optional[uptime.Section]: """ - >>> parse_snmp_uptime([['2297331594', '', '']]) + >>> parse_snmp_uptime_extended([['2297331594', '', '']]) Section(uptime_sec=22973315, message=None) - >>> parse_snmp_uptime([['124:21:26:42.03', '124:21:29:01.14', '']]) + >>> parse_snmp_uptime_extended([['124:21:26:42.03', '124:21:29:01.14', '']]) Section(uptime_sec=10790941, message=None) - >>> None is parse_snmp_uptime([[u'', u'Fortigate 80C', 'Whatever']]) # nonsense + >>> None is parse_snmp_uptime_extended([[u'', u'Fortigate 80C', 'Whatever']]) # nonsense True - >>> parse_snmp_uptime([['2297331594', '', '313671']]) + >>> parse_snmp_uptime_extended([['2297331594', '', '313671']]) Section(uptime_sec=313671, message=None) """ @@ -67,9 +70,10 @@ def parse_snmp_uptime(string_table: StringTable) -> Optional[uptime.Section]: register.snmp_section( - name="snmp_uptime", + name="snmp_uptime_extended", parsed_section_name="uptime", - parse_function=parse_snmp_uptime, + parse_function=parse_snmp_uptime_extended, + supersedes=['snmp_uptime'], fetch=SNMPTree( base=".1.3.6.1", oids=[ diff --git a/snmp_uptime.mkp b/snmp_uptime.mkp index 4070253ad883f660bc8e432f1fdb528b4aef1ecb..4dd7410995c1bfdea7f0628ea401095e824384b1 100644 GIT binary patch delta 1965 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 delta 1893 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 -- GitLab