Version 1.1.38 - Empty graphs

Post support questions that directly relate to Linux/Unix operating systems.

Moderators: Developers, Moderators

Post Reply
NocWI
Posts: 2
Joined: Fri Aug 24, 2018 4:47 am

Version 1.1.38 - Empty graphs

Post by NocWI »

Hi all,

sorry for bothering, but after 2 days of debugs i'm at the starting point, after a clean install (without spine) of version 1.1.38, i can't manage to have populated graphs on both the devices i've set up:
-Linux local machine
-Cisco device

Both of em are in UP status

I've followed the debug steps shown here: https://docs.cacti.net/manual:087:4_hel ... #debugging and stopped at the Check RRD File Update cause i don't understand how to proceed, in particulare i don't understand which is the "same log"

My log path is /var/log/cacti/ while the installation is located in /var/www/html/cacti-1.1.38/
The user which runs commands is named 'cactiuser' which is part of the group 'www-data'

The poller is set on 5 minutes and the cactiuser cron has the entry to run the poller.php
I can run perl scripts from cactiuser and i can run the poller as cactiuser

O.S. Ubuntu 16.04.5 LTS
Apache: 2.4.18
MySQL 5.7.23
PHP:7.0.30
RRDtool 1.5.5

The graphs shows that no data has been collected, if i click on the little gear on top right from a graph, it shows Current, Average and Maximum populated only by a -nan.

This is what RRDtool Graph Syntax tells:

Code: Select all

RRDtool Command:
/usr/bin/rrdtool graph - \
--imgformat=PNG \
--start='1535031540' \
--end='1535117696' \
--pango-markup  \
--title='Local Linux Machine - Memory Usage' \
--vertical-label='kilobytes' \
--slope-mode \
--base=1000 \
--height=200 \
--width=700 \
--tabwidth '40' \
--rigid \
--alt-autoscale-max \
--lower-limit='0' \
COMMENT:"From 2018/08/23 15\:39\:00 To 2018/08/24 15\:34\:56\c" \
COMMENT:"  \n" \
--color BACK#F3F3F3 \
--color CANVAS#FDFDFD \
--color SHADEA#CBCBCB \
--color SHADEB#999999 \
--color FONT#000000 \
--color AXIS#2C4D43 \
--color ARROW#2C4D43 \
--color FRAME#2C4D43 \
--border 1 --font TITLE:11:'Arial' \
--font AXIS:8:'Arial' \
--font LEGEND:8:'Courier' \
--font UNIT:8:'Arial' \
--font WATERMARK:6:'Arial' \
--slope-mode \
--watermark 'Generated by Cacti®' \
DEF:a='/var/www/html/cacti-1.1.38/rra/local_linux_machine_mem_buffers_4.rrd':'mem_buffers':AVERAGE \
DEF:b='/var/www/html/cacti-1.1.38/rra/local_linux_machine_mem_swap_5.rrd':'mem_swap':AVERAGE \
CDEF:cdefa='a,1024,*' \
CDEF:cdefe='b,1024,*' \
AREA:cdefa#FF4105FF:'Free'  \
GPRINT:cdefa:LAST:'Current\:%8.2lf %s'  \
GPRINT:cdefa:AVERAGE:'Average\:%8.2lf %s'  \
GPRINT:cdefa:MAX:'Maximum\:%8.2lf %s\n'  \
AREA:cdefe#FFC73BFF:'Swap':STACK \
GPRINT:cdefe:LAST:'Current\:%8.2lf %s'  \
GPRINT:cdefe:AVERAGE:'Average\:%8.2lf %s'  \
GPRINT:cdefe:MAX:'Maximum\:%8.2lf %s\n' 
RRDtool Says:
OK
If i run an rrdinfo on one of the files, i get this:

Code: Select all

rrdinfo /var/www/html/cacti-1.1.38/rra/local_linux_machine_mem_buffers_4.rrd
filename = "/var/www/html/cacti-1.1.38/rra/local_linux_machine_mem_buffers_4.rrd"
rrd_version = "0003"
step = 300
last_update = 1535109024
header_size = 3704
ds[mem_buffers].index = 0
ds[mem_buffers].type = "GAUGE"
ds[mem_buffers].minimal_heartbeat = 600
ds[mem_buffers].min = 0.0000000000e+00
ds[mem_buffers].max = NaN
ds[mem_buffers].last_ds = "30327936"
ds[mem_buffers].value = NaN
ds[mem_buffers].unknown_sec = 24
rra[0].cf = "AVERAGE"
rra[0].rows = 600
rra[0].cur_row = 159
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 700
rra[1].cur_row = 130
rra[1].pdp_per_row = 6
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = 0.0000000000e+00
rra[1].cdp_prep[0].unknown_datapoints = 2
rra[2].cf = "AVERAGE"
rra[2].rows = 775
rra[2].cur_row = 74
rra[2].pdp_per_row = 24
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = 0.0000000000e+00
rra[2].cdp_prep[0].unknown_datapoints = 14
rra[3].cf = "AVERAGE"
rra[3].rows = 797
rra[3].cur_row = 362
rra[3].pdp_per_row = 288
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = 0.0000000000e+00
rra[3].cdp_prep[0].unknown_datapoints = 134
rra[4].cf = "MIN"
rra[4].rows = 600
rra[4].cur_row = 309
rra[4].pdp_per_row = 1
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = NaN
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[5].cf = "MIN"
rra[5].rows = 700
rra[5].cur_row = 539
rra[5].pdp_per_row = 6
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = inf
rra[5].cdp_prep[0].unknown_datapoints = 2
rra[6].cf = "MIN"
rra[6].rows = 775
rra[6].cur_row = 296
rra[6].pdp_per_row = 24
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = inf
rra[6].cdp_prep[0].unknown_datapoints = 14
rra[7].cf = "MIN"
rra[7].rows = 797
rra[7].cur_row = 488
rra[7].pdp_per_row = 288
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = inf
rra[7].cdp_prep[0].unknown_datapoints = 134
rra[8].cf = "MAX"
rra[8].rows = 600
rra[8].cur_row = 158
rra[8].pdp_per_row = 1
rra[8].xff = 5.0000000000e-01
rra[8].cdp_prep[0].value = NaN
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[9].cf = "MAX"
rra[9].rows = 700
rra[9].cur_row = 359
rra[9].pdp_per_row = 6
rra[9].xff = 5.0000000000e-01
rra[9].cdp_prep[0].value = -inf
rra[9].cdp_prep[0].unknown_datapoints = 2
rra[10].cf = "MAX"
rra[10].rows = 775
rra[10].cur_row = 106
rra[10].pdp_per_row = 24
rra[10].xff = 5.0000000000e-01
rra[10].cdp_prep[0].value = -inf
rra[10].cdp_prep[0].unknown_datapoints = 14
rra[11].cf = "MAX"
rra[11].rows = 797
rra[11].cur_row = 603
rra[11].pdp_per_row = 288
rra[11].xff = 5.0000000000e-01
rra[11].cdp_prep[0].value = -inf
rra[11].cdp_prep[0].unknown_datapoints = 134
rra[12].cf = "LAST"
rra[12].rows = 600
rra[12].cur_row = 206
rra[12].pdp_per_row = 1
rra[12].xff = 5.0000000000e-01
rra[12].cdp_prep[0].value = NaN
rra[12].cdp_prep[0].unknown_datapoints = 0
rra[13].cf = "LAST"
rra[13].rows = 700
rra[13].cur_row = 336
rra[13].pdp_per_row = 6
rra[13].xff = 5.0000000000e-01
rra[13].cdp_prep[0].value = NaN
rra[13].cdp_prep[0].unknown_datapoints = 2
rra[14].cf = "LAST"
rra[14].rows = 775
rra[14].cur_row = 714
rra[14].pdp_per_row = 24
rra[14].xff = 5.0000000000e-01
rra[14].cdp_prep[0].value = NaN
rra[14].cdp_prep[0].unknown_datapoints = 14
rra[15].cf = "LAST"
rra[15].rows = 797
rra[15].cur_row = 154
rra[15].pdp_per_row = 288
rra[15].xff = 5.0000000000e-01
rra[15].cdp_prep[0].value = NaN
rra[15].cdp_prep[0].unknown_datapoints = 134

Can anyone help please? I've finished ideas

Any help appreciated
netniV
Cacti Guru User
Posts: 3441
Joined: Sun Aug 27, 2017 12:05 am

Re: Version 1.1.38 - Empty graphs

Post by netniV »

If you are using 1.1.38, whilst following the 0.8.7 guide can help it's going to be wrong ;-)

There is a plugin to debug datasources, Cigamit's debug plugin on GitHub. Try downloading and enabling that plugin then select the data source you are having an issu with.
Cacti Developer & Release Manager
The Cacti Group

Director
BV IT Solutions Ltd

+--------------------------------------------------------------------------+

Cacti Resources:
Cacti Website (including releases)
Cacti Issues
Cacti Development Releases
Cacti Development Documentation
NocWI
Posts: 2
Joined: Fri Aug 24, 2018 4:47 am

Re: Version 1.1.38 - Empty graphs

Post by NocWI »

Hi all, i solved this problem, but actually I modified 2 parameters, so i'll post here for future reference.

I gave permissions on cacti folder to the user www-data:www-data but in this way the user couldn't even create the .rrd files, so i reverted em back to cactiuser:www-data

I had used a bad assignment of cron, i had the crontab file on 1 minute, set the poller to work on 1 minute, but under Console->Data Profiles, nonethless i had created a new Instance minute/minute, and set it up on default, i noticed that the field "Data Sources Using" was still on 0, while on 17 for the "System Default" entry.

I reverted all to 5 minutes (Data source profile, crontab and Configuration->Settings->Poller->Cron interval)

Now the question is another, My graphs have a resolution of 5 minutes:

Image

What are the settings i have to edit to be all right? This is what I'd do:

Crontab of the user Cactiuser

Only one entry:

*/1 * * * * php /var/www/html/cacti-1.1.38/poller.php > /dev/null 2>&1

Configuration tab:
-Poller interval: as much resolution as i can get, and here i'm asking you
-Cron Interval: Every 1 minute

Data Source Profiles:

I'd create an entry with:
-Polling Interval same as Poller interval setting (in configuration tab)
-Heartbeat: dunno
X-Files Factor: 0.5
-Consolidation Functions 4 selected
Set it as Default

And after the entry is created, how can i manage my templates to use this data source instead of the old Default one?

Thanks very much for the help, if i have to move this onto another topic, or create a new one, or if you have a specific guide for 1.1.38 guide, feel free to tell me

Again thanks in advance


EDIT: I added a new Device, with the default graph template Cisco - CPU Usage, and after an hour still the .rrd file contains all NaN, so the graph is empty, how can i fix that?
netniV
Cacti Guru User
Posts: 3441
Joined: Sun Aug 27, 2017 12:05 am

Re: Version 1.1.38 - Empty graphs

Post by netniV »

Both www-data and cactiuser must have write permissions. If they do not, they will fail. Your safest bet is to ensure that the cactiuser is part of the www-data group. This way, both website and poller will have write permissions.
Cacti Developer & Release Manager
The Cacti Group

Director
BV IT Solutions Ltd

+--------------------------------------------------------------------------+

Cacti Resources:
Cacti Website (including releases)
Cacti Issues
Cacti Development Releases
Cacti Development Documentation
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest