Weathermap Plugin Keep Disabling Itself

Support questions about the Network Weather Map plugin

Moderators: Developers, Moderators

Post Reply
hakiki
Posts: 14
Joined: Sun Dec 12, 2021 8:44 pm

Weathermap Plugin Keep Disabling Itself

Post by hakiki »

Hello, I am migrating a cacti system to another server and upgraded cacti version from 0.8.8h to 1.2.19. I installed newest available plugins version (for weathermap, I am using 0.9.8.a: https://github.com/thurban/plugin_weathermap). After copying configuration and output files to the new system, the weathermap seem runs just fine. Until after few hours, it starts to disable itself. Whenever this occurred, I can re-enable it, but it keeps disabling after some time.

These are logs from my cacti:

Code: Select all

2022-01-04 05:10:06 - ERROR PHP WARNING in  Plugin 'weathermap': Division by zero in file: /usr/share/cacti/plugins/weathermap/setup.php  on line: 728
2022-01-04 05:10:06 - CMDPHP PHP ERROR WARNING Backtrace:  (/poller.php[684]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), ...... , /lib/poller.php[567]:api_plugin_hook_function(), /lib/plugins.php[146]:api_plugin_run_plugin_hook_function(), /lib/plugins.php[259]:weathermap_poller_output(), /plugins/weathermap/setup.php[728]:CactiErrorHandler())
2022-01-04 05:10:53 - ERROR PHP ERROR in  Plugin 'weathermap': Maximum execution time of 299 seconds exceeded in file: /usr/share/cacti/plugins/weathermap/setup.php on line: 684
2022-01-04 05:10:53 - CMDPHP PHP ERROR Backtrace:  (CactiShutdownHandler())
2022-01-04 05:10:53 - CMDPHP ERRORS DETECTED - DISABLING PLUGIN 'weathermap'

2022-01-04 11:35:28 - ERROR PHP ERROR: Maximum execution time of 299 seconds exceeded in file: /usr/share/cacti/lib/database.php on line: 287
2022-01-04 11:35:28 - CMDPHP PHP ERROR Backtrace:  (CactiShutdownHandler())
Currently I'm still trying to figure out what the issues are. Anyone have suggestion about this?
Also, here are my system details:

Code: Select all

General Information
Cacti Version	1.2.19
Cacti OS	unix
NET-SNMP Version	NET-SNMP version: 5.8
RRDtool Version Configured	1.7.0+
RRDtool Version Found	1.7.0
Devices	2,565
Graphs	72,750
Data Sources	Script/Command: 47
SNMP Get: 2,506
SNMP Query: 71,878
Script Query: 12
Script Server: 3
Total: 74,446

Poller Information
Interval	300
Type	SPINE 1.2.19 Copyright 2004-2021 by The Cacti Group
Items	Action[0]: 142,942
Action[1]: 44
Action[2]: 2
Total: 142,988
Concurrent Processes	Name: Main Poller, Procs: 30
Max Threads	Name: Main Poller, Threads: 40
PHP Servers	7
Minimum Connections:	Current: 4096, Min Required: 1510
Assumes 100 spare connections for Web page users and other various connections.
The minimum required can vary greatly if there is heavy user Graph viewing activity.
Each browser tab can use upto 10 connections depending on the browser.
Script Timeout	60
Max OID	50
Last Run Statistics	Time:84.1497 Method:spine Processes:30 Threads:40 Hosts:2542 HostsPerProcess:85 DataSources:142988 RRDsProcessed:48718

System Memory
MemTotal	24,817,064,000
MemFree	14,623,256,000
MemAvailable	20,353,344,000
Buffers	1,136,000
Cached	6,080,504,000
Active	4,871,012,000
Inactive	4,209,304,000
SwapTotal	25,165,820,000
SwapFree	25,040,904,000

PHP Information
PHP Version	7.2.24
PHP OS	Linux
PHP uname	Linux MRTG-backbone 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 8 13:30:15 EST 2021 x86_64
PHP SNMP	Installed. Note: If you are planning on using SNMPv3, you must remove php-snmp and use the Net-SNMP toolset.
max_execution_time	1500
memory_limit	25000M
hakiki
Posts: 14
Joined: Sun Dec 12, 2021 8:44 pm

Re: Weathermap Plugin Keep Disabling Itself

Post by hakiki »

I removed previous weathermap plugins and do a reinstall. Now I'm getting much less error about CMDPHP PHP ERROR Backtrace: (CactiShutdownHandler()) and ERROR PHP ERROR: Maximum execution time of 299 seconds exceeded in file: /usr/share/cacti/lib/functions.php

But there are still bunch of these kinds of errors : ERROR PHP WARNING in Plugin 'weathermap': Division by zero in file: /usr/share/cacti/plugins/weathermap/setup.php on line: 728. I wonder if this is a bug from the plugins or something?

Code: Select all

2022-01-07 09:15:09 - CMDPHP PHP ERROR WARNING Backtrace: (/poller.php[684]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[582]:process_poller_output(), /lib/poller.php[567]:api_plugin_hook_function(), /lib/plugins.php[146]:api_plugin_run_plugin_hook_function(), /lib/plugins.php[259]:weathermap_poller_output(), /plugins/weathermap/setup.php[728]:CactiErrorHandler())
2022-01-07 09:15:08 - ERROR PHP WARNING in Plugin 'weathermap': Division by zero in file: /usr/share/cacti/plugins/weathermap/setup.php on line: 728 


2022-01-07 08:35:06 - CMDPHP PHP ERROR WARNING Backtrace: (/poller.php[702]:process_poller_output(), /lib/poller.php[567]:api_plugin_hook_function(), /lib/plugins.php[146]:api_plugin_run_plugin_hook_function(), /lib/plugins.php[259]:weathermap_poller_output(), /plugins/weathermap/setup.php[728]:CactiErrorHandler())
2022-01-07 08:35:06 - ERROR PHP WARNING in Plugin 'weathermap': Division by zero in file: /usr/share/cacti/plugins/weathermap/setup.php on line: 728 

hakiki
Posts: 14
Joined: Sun Dec 12, 2021 8:44 pm

Re: Weathermap Plugin Keep Disabling Itself

Post by hakiki »

Anyone have suggestion for this? I guess the problem was triggered by this error: Division by zero in file: /usr/share/cacti/plugins/weathermap/setup.php on line: 728 .

This is line 728 from setup.php:

Code: Select all

Line 697:   $period  = $time - $required[ 'last_time' ];
Line 728:   $newvalue = $newvalue / $period;
And related variables:

Code: Select all

Line 693:    $time  = key( $rrd_update_array[ $file ][ 'times' ] );
Line 664:    $requiredlist = db_fetch_assoc( "select distinct weathermap_data.id, weathermap_data.last_value, weathermap_data.last_time, weathermap_data.data_source_name, data_template_data.data_source_path, data_template_data.local_data_id, data_template_rrd.data_source_type_id from weathermap_data, data_template_data, data_template_rrd where weathermap_data.local_data_id=data_template_data.local_data_id and data_template_rrd.local_data_id=data_template_data.local_data_id and weathermap_data.local_data_id<>0;" );
User avatar
phalek
Developer
Posts: 2838
Joined: Thu Jan 31, 2008 6:39 am
Location: Kressbronn, Germany
Contact:

Re: Weathermap Plugin Keep Disabling Itself

Post by phalek »

Try changin this:

Code: Select all

$newvalue = $newvalue / $period;
to this:

Code: Select all

if ($period <> 0) {
   $newvalue = $newvalue / $period;
}
Greetings,
Phalek
---
Need more help ? Read the Cacti documentation or my new Cacti 1.x Book
Need on-site support ? Look here Cacti Workshop
Need professional Cacti support ? Look here CereusService
---
Plugins : CereusReporting
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests