diff --git a/agent_based/snmp_uptime.py b/agent_based/snmp_uptime.py index 12f736f1f21e8a673998501c0cdd404b7f0473d6..111a697fcb39603161f98a2a0758a504df006c82 100644 --- a/agent_based/snmp_uptime.py +++ b/agent_based/snmp_uptime.py @@ -22,12 +22,14 @@ from cmk.base.plugins.agent_based.utils import uptime def parse_snmp_uptime(string_table: StringTable) -> Optional[uptime.Section]: """ - >>> parse_snmp_uptime([['2297331594', '']]) + >>> parse_snmp_uptime([['2297331594', '', '']]) Section(uptime_sec=22973315, message=None) - >>> parse_snmp_uptime([['124:21:26:42.03', '124:21:29:01.14']]) + >>> parse_snmp_uptime([['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']]) # nonsense + >>> None is parse_snmp_uptime([[u'', u'Fortigate 80C', 'Whatever']]) # nonsense True + >>> parse_snmp_uptime([['2297331594', '', '313671']]) + Section(uptime_sec=313671, message=None) """ if not string_table: @@ -41,7 +43,9 @@ def parse_snmp_uptime(string_table: StringTable) -> Optional[uptime.Section]: return None try: - return uptime.Section(int(snmpEngineTime), None) + value = int(snmpEngineTime) + if value > 0: + return uptime.Section(int(snmpEngineTime), None) except ValueError: pass diff --git a/snmp_uptime.mkp b/snmp_uptime.mkp index 68aa670db90158091d5bad148e878c39c616d9ba..4070253ad883f660bc8e432f1fdb528b4aef1ecb 100644 Binary files a/snmp_uptime.mkp and b/snmp_uptime.mkp differ