Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in availability module #15947

Open
rudybroersma opened this issue Apr 15, 2024 · 0 comments
Open

Error in availability module #15947

rudybroersma opened this issue Apr 15, 2024 · 0 comments

Comments

@rudybroersma
Copy link
Contributor

The problem

We have a couple of devices that spit out errors during polling:
"Error polling availability module. Check log file for more details"

It seems as if LibreNMS is incorrectly calculating uptimes

Output of ./validate.php

-

What was the last working version of LibreNMS?

No response

Anything in the logs that might be useful for us?

#### Load poller module core ####
  
Module disabled: Global + | OS   | Device   | Manual -  
SNMP['/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/cisco' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'COMMUNITY' '-OQXUte' '-On' 'udp:HOSTNAME:161' 'SNMPv2-MIB::sysUpTime.0']  
.*.*.0 = 1090789817
  
  
SNMP['/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/cisco' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'COMMUNITY' '-OQXUte' 'udp:HOSTNAME:161' 'SNMP-FRAMEWORK-MIB::snmpEngineTime.0' 'HOST-RESOURCES-MIB::hrSystemUptime.0']  
SNMP-FRAMEWORK-MIB::snmpEngineTime.0 = 10907854
HOST-RESOURCES-MIB::hrSystemUptime.0 = No Such Object available on this agent at this OID
  
  
Uptime seconds: 10907898
  
RRD[last 77.60.x.x/uptime.rrd  --daemon unix:/run/rrdcached.sock]  
RRD[update 77.60.x.x/uptime.rrd N:10907898 --daemon unix:/run/rrdcached.sock]  
Uptime: 4 months 2 weeks 5 hours 58 minutes 18 seconds  
SQL[update `devices` set `uptime` = ? where `device_id` = ? [10907898,259] 0.42ms] 
  
  
>> SNMP: [3/0.11s] MySQL: [7/0.03s] RRD: [4/0.00s]  
>> Runtime for poller module 'core': 0.0755 seconds with 122136 bytes  
RRD[last 77.60.x.x/poller-perf-core.rrd  --daemon unix:/run/rrdcached.sock]  
RRD[update 77.60.x.x/poller-perf-core.rrd N:0.075465202331543 --daemon unix:/run/rrdcached.sock]  
#### Unload poller module core ####
  
#### Load poller module availability ####
  
Module enabled: Global + | OS   | Device   | Manual +  
SQL[select * from `device_outages` where `device_outages`.`device_id` = ? and `device_outages`.`device_id` is not null and `up_again` >= ? order by `going_down` asc [259,1713090878] 9.22ms] 
  
SQL[select * from `availability` where (`device_id` = ? and `duration` = ?) limit 1 [259,86400] 0.28ms] 
  
SQL[update `availability` set `availability_perc` = ? where `availability_id` = ? [99.969,161] 0.23ms] 
  
RRD[last 77.60.x.x/availability-86400.rrd  --daemon unix:/run/rrdcached.sock]  
RRD[update 77.60.x.x/availability-86400.rrd N:99.969 --daemon unix:/run/rrdcached.sock]  
1 day   : 99.969%  
SQL[select * from `device_outages` where `device_outages`.`device_id` = ? and `device_outages`.`device_id` is not null and `up_again` >= ? order by `going_down` asc [259,1712572478] 5.04ms] 
  
SQL[select * from `availability` where (`device_id` = ? and `duration` = ?) limit 1 [259,604800] 0.32ms] 
  
Error polling availability module for 77.60.x.x. PDOException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'availability_perc' at row 1 in /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612
Stack trace:
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
#3 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\Database\Connection->run()
#4 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\Database\Connection->affectingStatement()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3486): Illuminate\Database\Connection->update()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1060): Illuminate\Database\Query\Builder->update()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1213): Illuminate\Database\Eloquent\Builder->update()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1130): Illuminate\Database\Eloquent\Model->performUpdate()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(601): Illuminate\Database\Eloquent\Model->save()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
#11 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(599): tap()
#12 /opt/librenms/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->updateOrCreate()
#13 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2334): Illuminate\Database\Eloquent\Model->forwardCallTo()
#14 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2346): Illuminate\Database\Eloquent\Model->__call()
#15 /opt/librenms/LibreNMS/Modules/Availability.php(77): Illuminate\Database\Eloquent\Model::__callStatic()
#16 /opt/librenms/LibreNMS/Poller.php(176): LibreNMS\Modules\Availability->poll()
#17 /opt/librenms/LibreNMS/Poller.php(103): LibreNMS\Poller->pollModules()
#18 /opt/librenms/app/Console/Commands/DevicePoll.php(45): LibreNMS\Poller->poll()
#19 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\DevicePoll->handle()
#20 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#21 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
#22 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#23 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
#24 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
#25 /opt/librenms/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
#26 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
#27 /opt/librenms/vendor/symfony/console/Application.php(1096): Illuminate\Console\Command->run()
#28 /opt/librenms/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
#29 /opt/librenms/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
#30 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
#31 /opt/librenms/app/Console/Kernel.php(66): Illuminate\Foundation\Console\Kernel->handle()
#32 /opt/librenms/lnms(38): App\Console\Kernel->handle()
#33 {main}

Next Illuminate\Database\QueryException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'availability_perc' at row 1 (Connection: mysql, SQL: update `availability` set `availability_perc` = -2181.482 where `availability_id` = 162) in /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
Stack trace:
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\Database\Connection->run()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\Database\Connection->affectingStatement()
#3 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3486): Illuminate\Database\Connection->update()
#4 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1060): Illuminate\Database\Query\Builder->update()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1213): Illuminate\Database\Eloquent\Builder->update()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1130): Illuminate\Database\Eloquent\Model->performUpdate()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(601): Illuminate\Database\Eloquent\Model->save()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(599): tap()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->updateOrCreate()
#11 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2334): Illuminate\Database\Eloquent\Model->forwardCallTo()
#12 /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2346): Illuminate\Database\Eloquent\Model->__call()
#13 /opt/librenms/LibreNMS/Modules/Availability.php(77): Illuminate\Database\Eloquent\Model::__callStatic()
#14 /opt/librenms/LibreNMS/Poller.php(176): LibreNMS\Modules\Availability->poll()
#15 /opt/librenms/LibreNMS/Poller.php(103): LibreNMS\Poller->pollModules()
#16 /opt/librenms/app/Console/Commands/DevicePoll.php(45): LibreNMS\Poller->poll()
#17 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\DevicePoll->handle()
#18 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#19 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
#20 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#21 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
#22 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
#23 /opt/librenms/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
#24 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
#25 /opt/librenms/vendor/symfony/console/Application.php(1096): Illuminate\Console\Command->run()
#26 /opt/librenms/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
#27 /opt/librenms/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
#28 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
#29 /opt/librenms/app/Console/Kernel.php(66): Illuminate\Foundation\Console\Kernel->handle()
#30 /opt/librenms/lnms(38): App\Console\Kernel->handle()
#31 {main}  
SQL[insert into `eventlog` (`reference`, `type`, `datetime`, `severity`, `message`, `username`, `device_id`) values (?, ?, ?, ?, ?, ?, ?) [null,"poller","2024-04-15 12:34:38",5,"Error polling availability module. Check log file for more details.","",259] 0.29ms] 
  
SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'availability_perc' at row 1 (Connection: mysql, SQL: update `availability` set `availability_perc` = -2181.482 where `availability_id` = 162) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 22003): SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'availability_perc' at row 1 (Connection: mysql, SQL: update `availability` set `availability_perc` = -2181.482 where `availability_id` = 162) at /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[previous exception] [object] (PDOException(code: 22003): SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'availability_perc' at row 1 at /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)"} 
  
>> SNMP: [0/0.00s] MySQL: [6/0.15s] RRD: [4/0.00s]  
>> Runtime for poller module 'availability': 0.0227 seconds with 117576 bytes  
RRD[last 77.60.x.x/poller-perf-availability.rrd  --daemon unix:/run/rrdcached.sock]  
RRD[update 77.60.x.x/poller-perf-availability.rrd N:0.022747993469238 --daemon unix:/run/rrdcached.sock]  
#### Unload poller module availability ####
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant