If you encounter the 'Time synchronization failed during discovery' error using the perl Net::SNMP library there may be a fairly easy work around. It may be as easy as editing the Net::SNMP module to not invoke this error. The following advice should be executed as root.
...
Code Block |
---|
$ diff -bu SNMP.pm.original SNMP.pm.patched --- SNMP.pm.original 2018-01-26 08:36:28.833348881 +0900 +++ SNMP.pm.patched 2018-01-26 14:25:42.798070662 +0900 @@ -2617,8 +2617,9 @@ # counter in the varBindList..." If another error is returned, we # assume that the synchronization has failed. - if (($this->{_security}->discovered()) && - ($this->{_error} =~ /usmStatsNotInTimeWindows/)) + if ($this->{_security}->discovered()) + #if (($this->{_security}->discovered()) && + # ($this->{_error} =~ /usmStatsNotInTimeWindows/)) { $this->_error_clear(); DEBUG_INFO('discovery and synchronization complete'); @@ -2628,10 +2629,10 @@ # If we received the usmStatsNotInTimeWindows report or no error, but # we are still not synchronized, provide a generic error message. - if ((!$this->{_error}) || ($this->{_error} =~ /usmStatsNotInTimeWindows/)) { - $this->_error_clear(); - $this->_error('Time synchronization failed during discovery'); - } + #if ((!$this->{_error}) || ($this->{_error} =~ /usmStatsNotInTimeWindows/)) { + # $this->_error_clear(); + # $this->_error('Time synchronization failed during discovery'); + #} DEBUG_INFO('synchronization failed'); |
...