librenms-plugins / Weathermap

MIT License
64 stars 51 forks source link

Weathermap is not building the png and html files needed in output folder #83

Open shanbd321 opened 2 years ago

shanbd321 commented 2 years ago

I have done a fresh install of LibreNMS 22.8.0 in Alma linux 8.6 and working fine. Then i am trying to include Weathermap with LibreNMS following docs (Weathermap - LibreNMS Docs). I have created Weathermap but when I click on plugins > weathermaps > *.conf I get a 404 error from the index. I have also checked and found didn’t generated .html file in “/opt/librenms/html/plugins/Weathermap/output/”.

I have also checked by latest version ubuntu and also found same issue.

Is anyone else having this problem with the weathermap plugin?. Plese help me.

More problem details here https://community.librenms.org/t/html-pages-not-being-automated-created-in-output-folder-opt-librenms-html-plugins-weathermap-output/19480

sorano commented 2 years ago

I'm also suffering from this on Ubuntu.

./validate.php

Component Version
LibreNMS 22.8.0
DB Schema 2022_07_03_1947_add_app_data (244)
PHP 8.1.2
Python 3.10.4
Database MariaDB 10.6.7-MariaDB-2ubuntu1.1
RRDTool 1.7.2
SNMP 5.9.1

====================================

[OK] Composer Version: 2.4.1 [OK] Dependencies up-to-date. [OK] Database connection successful [OK] Database Schema is current [OK] SQL Server meets minimum requirements [OK] lower_case_table_names is enabled [OK] MySQL engine is optimal [OK] [OK] Database schema correct [OK] MySQl and PHP time match [OK] Active pollers found [OK] Dispatcher Service not detected [OK] Locks are functional [OK] Python poller wrapper is polling [OK] Redis is unavailable [OK] rrdtool version ok [OK] Connected to rrdcached

LoveSkylark commented 2 years ago

try putting "output" in front: output/filename.html , its the recommended setup but I find that it is required unless you start changing folder permissions.

jdsemma commented 2 years ago

Same problem. When I try to generate maps by hand (running weathermap.php --config etc), I get this error:

PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /usr/share/php/Console/Getopt.php on line 126

Update: running apt update php-pear seems to have fixed that.

jdsemma commented 2 years ago

However, map-poller.php doesn't run via cron. If I run it by hand, I get: ./map-poller.php: line 1: ?php: No such file or directory ./map-poller.php: line 3: syntax error near unexpected token (' ./map-poller.php: line 3:// Copyright (C) 2013 Neil Lathwood neil@lathwood.co.uk'

(but that may be 'normal'?)

jdsemma commented 2 years ago

I can run map-poller.php with php7.4 and it'll attempt to run properly (same as generating maps by hand), but gives errors like "RRD ReadData: At least one of your DS names (INOCTETS and OUTOCTETS) were not found, even though there was a valid data line. Maybe they are wrong? Valid DS names in this file are: [WMRRD06]". What now?

LoveSkylark commented 2 years ago

I can run map-poller.php with php7.4 and it'll attempt to run properly (same as generating maps by hand), but gives errors like "RRD ReadData: At least one of your DS names (INOCTETS and OUTOCTETS) were not found, even though there was a valid data line. Maybe they are wrong? Valid DS names in this file are: [WMRRD06]". What now?

INOCTETS and OUTOCTETS error usually means weather map is unable to read the RRD file, you can verify the file is ok by looking at the header of it.

Are you running a rrdchaced? I had this errors when using rrdchaced before the latest fixes.

jdsemma commented 2 years ago

rrdcached is v1.7.2 which claims to be the latest.

The header of the rrd file appears fine to me; I can see strings for 0003, INOCTETS, OUTOCTETS, DERIVE, INERRORS, OUTERROS, etc etc.

jdsemma commented 2 years ago

This is current output when running map-poller (note that I have to specify php7.4 as it won't run at all under 8.1):

librenms@librenms:~$ php7.4 html/plugins/Weathermap/map-poller.php ERROR: realpath(jh-cx/port-id1616314.rrd): No such file or directory WARNING: configs//test_map.conf: RRD ReadData: At least one of your DS names (INOCTETS and OUTOCTETS) were not found, even though there was a valid data line. Maybe they are wrong? Valid DS names in this file are: [WMRRD06] WARNING: configs//test_map.conf: ReadData: LINK 1022-513, target: ./jh-cx/port-id1616314.rrd:INOCTETS:OUTOCTETS on config line 185 of configs//test_map.conf had no valid data, according to WeatherMapDataSource_rrd

As far as I can tell, the rrd file is fine. I can certainly see graphs in librenms. File permissions are also correct (nothing has changed since updating to php 8.1).

jdsemma commented 1 year ago

As seen at https://community.librenms.org/t/weathermap-editor-and-php-8-1-incompatibility/19296/21, add to your map config file:

SET rrd_default_path "/opt/librenms/rrd/"

(or whatever your rrd cache directory is). That fixed it for me.

wdoekes commented 1 year ago

See also: librenms-plugins/Weathermap#85 or librenms-plugins/Weathermap#88