Fail: The poller has not completed within the last 5 minutes, check the cron job

  • Steps to reproduce an issue.
    New install (just under a week ago). It was working after I followed all the install docs. This AM, went nuts and started reporting most everything down (5 out of 40 devices successfully polled.
    I have gone through logs of suggested fixes and found several errors with validate (both in the web-gui and via the cli) including at time zone mis-match in the config file (missing underscore in New York). I have all the errors fixed except one.

  • The output of ./validate.php
    ====================================
    Component | Version
    --------- | -------
    LibreNMS | 1.33-18-g1dfcde3
    DB Schema | 215
    PHP | 7.0.22-0ubuntu0.16.04.1
    MySQL | 10.0.31-MariaDB-0ubuntu0.16.04.2
    RRDTool | 1.5.5
    SNMP | NET-SNMP 5.7.3
    ====================================

[OK] Database connection successful
[OK] Database schema correct
[FAIL] The poller (sandbox) has not completed within the last 5 minutes, check the cron job

I have, based on suggestions on other posts, run
sudo /opt/librenms/poller-wrapper.py

With these results.
ERROR: Could not load or parse configuration, are PATHs correct?

Can’t figure out next steps. Almost ready to nuke the box and start over from scratch - perhaps I missed a step (was a day full of distractions).

Got any ideas where I should go next?
Thanks.

If you have devices suddenly showing as down, you need to set $config[‘fping’] = ‘/usr/sbin/fping’; or $config[‘fping’] = ‘/usr/bin/fping’; in your config.php and it will start working again. We fixed a bug where fping always showed up even if the command failed.(edited)

Pretty sure that I have already tried that earlier today. I will check tomorrow. I am off duty for now and I am not going to be able to do anything with it until tomorrow morning.

If you have an old install make sure you don’t have any fping_options in your config.php. Once I commented out the following lines all of my polling began working again.

$config[‘fping’] = ‘/usr/bin/fping’;
$config[‘fping6’] = ‘/usr/bin/fping6’;
// $config[‘fping_options’][‘retries’] = 3;
// $config[‘fping_options’][‘timeout’] = 500;
// $config[‘fping_options’][‘count’] = 3;
// $config[‘fping_options’][‘millisec’] = 5;

I have verified that
$config[‘fping’] = ‘/usr/bin/fping’;
$config[‘fping6’] = ‘/usr/bin/fping6’;

are both in my config.php file. Also commented out any lines similar to the 'fping_options" lines. Have waited several minutes (about 15 now) and no change.

Here is the contents (with authentication info redacted) of my complete /opt/librenms/config.php file.

Have a look in defaults.inc.php for examples of settings you can set here. DO NOT EDIT defaults.i$

Database config

$config[‘db_host’] = ‘localhost’;
$config[‘db_port’] = ‘3306’;
$config[‘db_user’] = ‘librenms’;
$config[‘db_pass’] = ‘********’;
$config[‘db_name’] = ‘librenms’;
$config[‘db_socket’] = ‘’;
//$config[‘fping’] = “/usr/sbin/fping”;
$config[‘discovery_by_ip’] = true;
$config[‘fping’] = ‘/usr/bin/fping’;
$config[‘fping6’] = ‘/usr/bin/fping6’;

// This is the user LibreNMS will run as
//Please ensure this user is created and has the correct permissions to your install
$config[‘user’] = ‘librenms’;

Memcached config - We use this to store realtime usage

$config[‘memcached’][‘enable’] = FALSE;
$config[‘memcached’][‘host’] = “localhost”;
$config[‘memcached’][‘port’] = 11211;

Locations - it is recommended to keep the default

#$config[‘install_dir’] = “/opt/librenms”;

This should only be set if you want to force a particular hostname/port

It will prevent the web interface being usable form any other hostname

#$config[‘base_url’] = “http://librenms.company.com”;

Enable this to use rrdcached. Be sure rrd_dir is within the rrdcached dir

and that your web server has permission to talk to rrdcached.

#$config[‘rrdcached’] = “unix:/var/run/rrdcached.sock”;

Default community

$config[‘snmp’][‘community’] = array(“public”);
$config[‘snmp’][‘community’][] = “public”;

Authentication Model

$config[‘auth_mechanism’] = “mysql”; # default, other options: ldap, http-auth
#$config[‘http_auth_guest’] = “guest”; # remember to configure this user if you use http-auth

List of RFC1918 networks to allow scanning-based discovery

#$config[‘nets’][] = “10.0.0.0/8”;
#$config[‘nets’][] = “172.16.0.0/12”;
#$config[‘nets’][] = “192.168.0.0/16”;
$config[‘nets’][] = ‘10.5.0.0/21’;
$config[‘nets’][] = ‘172.16.0.0/21’;

Uncomment the next line to disable daily updates

#$config[‘update’] = 0;

//$config[‘fping_options’][‘retries’] = 5;
//$config[‘fping_options’][‘timeout’] = 1000;
//$config[‘fping_options’][‘count’] = 4;
//$config[‘fping_options’][‘millisec’] = 1000;

Any more ideas? And thanks for the help!

Please disregard the bolding. The system converted some lines pasted in based on the fact that they started with ### in the original.

Error is still the same in both the GUI Validate and CLI validate.php

[FAIL] The poller (sandbox) has not completed within the last 5 minutes, check the cron job.

its should be

$config[‘fping’] = ‘/usr/bin/fping’; this one for ubuntu

If you look above in the copy of my config file, I am pretty sure that is what I have (unless I have been staring at it too long and am blind to a subtle difference).

yes you are right its in there… in a confusing place but in there.

I keep going back to two things.

  1. Both CLI and GUI validates tell me to check CRON job?

  2. The following points at a PATH problem?
    sudo /opt/librenms/poller-wrapper.py
    ERROR: Could not load or parse configuration, are PATHs correct?

change your cron back to this

*/5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16

also this should be set in /etc/cron.d/librenms

then double check permissions.

Will do. What should the permissions be?

chown -R librenms:librenms /opt/librenms

Forgive me but feeling extra stupid today… can’t remember how to change the cron? Got I had when my brain farts.
I did edit /etc/cron.d/librenms and and do the chown.

When I attempt crontab -e (with or without sudo), it creates a new file.

Does this mean that I never actually created cron files when I went through the install? Perhaps that is a step I missed. As I said, feeling scatterbrained and over-tired so that could be the issue.

https://docs.librenms.org/#Installation/Installation-Ubuntu-1604-Apache/#cron-job