From 17b61e133555249a9b1ec0ab2bc6b99a3026d988 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sat, 5 Aug 2023 11:04:23 +0200 Subject: [PATCH] update project --- README.md | 1 + agent_based/snmp_uptime.py | 24 ++++++++++++------------ packages/snmp_uptime | 9 ++++----- snmp_uptime-0.0.2-20230805.mkp | Bin 0 -> 1977 bytes snmp_uptime.mkp | Bin 1980 -> 0 bytes 5 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 snmp_uptime-0.0.2-20230805.mkp delete mode 100644 snmp_uptime.mkp diff --git a/README.md b/README.md index b52f8a2..2f7d00c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[PACKAGE]: ../../raw/master/snmp_uptime-0.0.2-20230805.mkp "snmp_uptime-0.0.2-20230805.mkp" # SNMP uptime This check is based on the snmp_uptime check form CMK. It adds the SNMP-FRAMEWORK-MIB::snmpEngineTime OID to the check. Its value is in seconds not ticks and therefore the Uptime can now be around 68 years before a rollover of the counter :-) diff --git a/agent_based/snmp_uptime.py b/agent_based/snmp_uptime.py index 10c5a1f..41e0273 100644 --- a/agent_based/snmp_uptime.py +++ b/agent_based/snmp_uptime.py @@ -14,7 +14,7 @@ # 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 -# +# 2023-08-05: made parse function more stable (try/except/else) from typing import Optional @@ -35,22 +35,23 @@ def parse_snmp_uptime_extended(string_table: StringTable) -> Optional[uptime.Sec Section(uptime_sec=313671, message=None) """ - if not string_table: - return None - - sysUpTime, hrSystemUptime, snmpEngineTime = string_table[0] + try: + sysUpTime, hrSystemUptime, snmpEngineTime = string_table[0] + except ValueError: + return ticks = sysUpTime or hrSystemUptime if len(ticks) < 3: - return None + return try: value = int(snmpEngineTime) - if value > 0: - return uptime.Section(int(snmpEngineTime), None) except ValueError: pass + else: + if value > 0: + return uptime.Section(int(snmpEngineTime), None) try: return uptime.Section(int(ticks[:-2]), None) @@ -59,14 +60,13 @@ def parse_snmp_uptime_extended(string_table: StringTable) -> Optional[uptime.Sec try: days, h, m, s = ticks.split(":") + except ValueError: + pass + else: return uptime.Section( (int(days) * 86400) + (int(h) * 3600) + (int(m) * 60) + int(float(s)), None, ) - except ValueError: - pass - - return None register.snmp_section( diff --git a/packages/snmp_uptime b/packages/snmp_uptime index b8c3394..922b4a0 100644 --- a/packages/snmp_uptime +++ b/packages/snmp_uptime @@ -7,9 +7,8 @@ 'download_url': 'https://thl-cmk.hopto.org', 'files': {'agent_based': ['snmp_uptime.py']}, 'name': 'snmp_uptime', - 'num_files': 1, 'title': 'SNMP Uptime', - 'version': '20220306.v0.0.1', - 'version.min_required': '2021.09.20', - 'version.packaged': '2021.09.20', - 'version.usable_until': None} \ No newline at end of file + 'version': '0.0.2-20230805', + 'version.min_required': '2.0.0b1', + 'version.packaged': '2.2.0p7', + 'version.usable_until': None} diff --git a/snmp_uptime-0.0.2-20230805.mkp b/snmp_uptime-0.0.2-20230805.mkp new file mode 100644 index 0000000000000000000000000000000000000000..ffdf984d70cb9990bdfd1b177ceeae986a5f4984 GIT binary patch literal 1977 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 L6Jc~G08jt`x(MXA literal 0 HcmV?d00001 diff --git a/snmp_uptime.mkp b/snmp_uptime.mkp deleted file mode 100644 index 816516f34f3d5b449efca0eb7d6cd2c579fbc189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1980 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 O3-}v7Qy&HZPyhhL%-wYW -- GitLab