Problem with polling

Hello,
I have common “compose” setup

all starts fine but after some time(24h) dispatcher stops polling - At this point i see in web Ui at /polling that
“Device Actioned Last interval” is 0.

Started checking logs. And i see next exceptions which repeats over time:

[2021-01-20 02:12:13] production.ERROR: Cannot unset string offsets {“exception”:"[object] (Error(code: 0): Cannot unset string offsets at /opt/librenms/includes/discovery/route.inc.php:265)
[stacktrace]
#0 /opt/librenms/includes/discovery/functions.inc.php(165): include()
#1 /opt/librenms/discovery.php(116): discover_device(Array, false)
#2 {main}
"}

I checked this line:
/opt/librenms/includes/discovery/route.inc.php:265
Its smth about mpls discovery. I disabled mpls discovery_module and restarted. But exceptions appear again.
Noob in php, so need your help with this issue.

Validate:

bash-5.0# ./validate.php
====================================
Component | Version
--------- | -------
LibreNMS | 1.69
DB Schema | 2020_10_21_124101_allow_nullable_ospf_columns (188)
PHP | 7.3.24
Python | 3.8.5
MySQL | 10.4.16-MariaDB-1:10.4.16+maria~focal
RRDTool | 1.7.2
SNMP | NET-SNMP 5.8
OpenSSL |
====================================
[OK] Installed from the official Docker image; no Composer required
[OK] Database connection successful
[OK] Database schema correct
[WARN] IPv6 is disabled on your server, you will not be able to add IPv6 devices.
[WARN] Updates are managed through the official Docker image

Configuration

  • Docker version 18.09.2, build 6247962
  • docker-compose version 1.18.0, build 8dd22a9
  • Platform Centos 7.
  • Virtualization: vmware
  • Linux 3.10.0-957.5.1.el7.x86_64

If i check inside container when in fault state:

And after execution of the command “docker restart librenms_dispatcher” all backs to normal for some time and inside container i see a lot of monitoring processes

Error in logs, that i mentioned before was cleared by seting
$config[‘discovery_modules’][‘route’] = false;

But polling process stoped again after i fixed this.
I have found new exception that i did not see before. It’s not presented in librenms log file but in docker logs

librenms_dispatcher | File “/opt/librenms/librenms-service.py”, line 48, in
librenms_dispatcher | Poller_0-22(INFO):Completed poller run for 28 in 3.06s
librenms_dispatcher | service.start()
librenms_dispatcher | File “/opt/librenms/LibreNMS/service.py”, line 404, in start
librenms_dispatcher | sleep(self.config.master_resolution)
librenms_dispatcher | File “/opt/librenms/LibreNMS/service.py”, line 550, in reap
librenms_dispatcher | handler = signal(SIGCHLD, SIG_DFL)
librenms_dispatcher | File “/usr/lib/python3.8/signal.py”, line 48, in signal
librenms_dispatcher | return _int_to_enum(handler, Handlers)
librenms_dispatcher | TypeError: ‘int’ object is not callable

After this exception polling stops. Any ideas how to fix it?

Updated to the new version and problem gone

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.