Hello
We had some odd new bug which i think is either discovery or polling related, since the update of 1.68 on some IOS-XE devices, validate and librenms.log output when the error starts below:
When the error starts in librenms.log file, all interfaces are set to NULL on the IOS-XE devices.
Eventlog snippet
Librenms.log snippet
/opt/librenms/poller.php 135 2020-10-01 00:15:13 - 1 devices polled in 150.2 secs
/opt/librenms/poller.php 160 2020-10-01 00:15:13 - 1 devices polled in 148.5 secs
/opt/librenms/poller.php 162 2020-10-01 00:15:14 - 1 devices polled in 149.1 secs
[2020-10-01 00:15:15] production.ERROR: Call to undefined method LibreNMS\OS\Iosxe::getDeviceArray() {"exception":"[object] (Error(code: 0): Call to undefined method LibreNMS\\OS\\Iosxe::getDeviceArray() at /opt/librenms/LibreNMS/Device/Sensor.php:310)
[stacktrace]
#0 /opt/librenms/includes/polling/wireless.inc.php(29): LibreNMS\\Device\\Sensor::poll(Object(LibreNMS\\OS\\Iosxe))
#1 /opt/librenms/includes/polling/functions.inc.php(315): include('/opt/l...')
#2 /opt/librenms/poller.php(142): poll_device(Array, false)
#3 {main}
"}
[2020-10-01 00:15:16] production.ERROR: Call to undefined method LibreNMS\OS\Iosxe::getDeviceArray() {"exception":"[object] (Error(code: 0): Call to undefined method LibreNMS\\OS\\Iosxe::getDeviceArray() at /opt/librenms/LibreNMS/Device/Sensor.php:310)
[stacktrace]
#0 /opt/librenms/includes/polling/wireless.inc.php(29): LibreNMS\\Device\\Sensor::poll(Object(LibreNMS\\OS\\Iosxe))
#1 /opt/librenms/includes/polling/functions.inc.php(315): include('/opt/l...')
#2 /opt/librenms/poller.php(142): poll_device(Array, false)
#3 {main}
"}
[2020-10-01 00:15:17] production.ERROR: Call to a member function getOriginal() on array {"exception":"[object] (Error(code: 0): Call to a member function getOriginal() on array at /opt/librenms/LibreNMS/Modules/OS.php:97)
[stacktrace]
#0 /opt/librenms/LibreNMS/Modules/OS.php(81): LibreNMS\\Modules\\OS->handleChanges(Object(LibreNMS\\OS\\Iosxe))
#1 /opt/librenms/includes/polling/os.inc.php(8): LibreNMS\\Modules\\OS->poll(Object(LibreNMS\\OS\\Iosxe))
#2 /opt/librenms/includes/polling/functions.inc.php(315): include('/opt/l...')
#3 /opt/librenms/poller.php(142): poll_device(Array, false)
#4 {main}
"}
[2020-10-01 00:15:17] production.ERROR: Call to a member function getOriginal() on array {"exception":"[object] (Error(code: 0): Call to a member function getOriginal() on array at /opt/librenms/LibreNMS/Modules/OS.php:97)
[stacktrace]
#0 /opt/librenms/LibreNMS/Modules/OS.php(81): LibreNMS\\Modules\\OS->handleChanges(Object(LibreNMS\\OS\\Iosxe))
#1 /opt/librenms/includes/polling/os.inc.php(8): LibreNMS\\Modules\\OS->poll(Object(LibreNMS\\OS\\Iosxe))
#2 /opt/librenms/includes/polling/functions.inc.php(315): include('/opt/l...')
#3 /opt/librenms/poller.php(142): poll_device(Array, false)
(Errors continue for 2 minutes, I can get full log if that will help)
After 5 minutes the interfaces return to normal state, so not sure what happened. Maybe related to the new discovery changes in 1.68?
Validate.php
====================================
Component | Version
--------- | -------
LibreNMS | 1.68
DB Schema | 2020_09_22_172321_add_alert_log_index (174)
PHP | 7.3.18
Python | 3.6.8
MySQL | 5.5.65-MariaDB
RRDTool | 1.7.1
SNMP | NET-SNMP 5.7.2
====================================
[OK] Composer Version: 1.10.13
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct
Any ideas ?
Thanks