RRD Graphs



  • I just did a fresh install of 2.0 snapshot today. I installed the RRD Summary package but soon after realized my RRD graphs were not working (they might have not been working before i installed the package). I have since removed the RRD Summary package and tried deleting the *.rrd files in /var/db/rrd/ as suggested by other threads. /var/log/system.log does not mention anything about rrd. i have also tried rebooting.

    anyone have any suggestions?

    [edit] also the Status: Traffic Graph (not the rrd one) seems to be working fine

    [edit][edit] So it appears the graphs are actually working (except for quality whichs doesnt even show a graph at all) but i noticed the first graph is over the course of 1 day. Didn't it used to be over 4 hours or something like that?


  • Rebel Alliance Developer Netgate

    After you remove the RRD files, you need to go to the RRD settings page and press 'save' to make sure everything is regenerated properly. Before you do that, you may also want to edit/save each gateway under System > Routing.

    The Status > Traffic Graph page doesn't touch the RRD files so that isn't really relevant in this case.

    One of the devs is actively working on the graphs right now. I know at least the week graph has problems, so it might be a good idea to wait a few days and try it again.



  • Thanks for the reply. They all seem to be working fine know after i updated to new nightly



  • Well, I've just updated 2.0-BETA3… built on Wed Jul 21 01:06:25 EDT 2010

    No RRD graphs. I've tried everything you said and got some errors.

    In the Traffic Tab > Graphs, the selection menu shows:
    Allgraphs
    Outbound
    /var/db/rrd/wan
    /var/db/rrd/lan
    /var/db/rrd/ipsec

    When selecting /var/db/rrd/wan the error is:
    Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402... and so on to several lines.

    PHP Line 402: if(! preg_match("/($curoption)[-.]/i", $curdatabase)) {
    continue 2;
    }

    Also, I noticed the previous status_rrd_graph.php had up to 363 lines and the new version has 484.

    @jimp:

    After you remove the RRD files, you need to go to the RRD settings page and press 'save' to make sure everything is regenerated properly. Before you do that, you may also want to edit/save each gateway under System > Routing.

    The Status > Traffic Graph page doesn't touch the RRD files so that isn't really relevant in this case.

    One of the devs is actively working on the graphs right now. I know at least the week graph has problems, so it might be a good idea to wait a few days and try it again.



  • RRD Error
    Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402 Warning: preg_match(): Unknown modifier 'v' in /usr/local/www/status_rrd_graph.php on line 402

    Logs

    php: /status_rrd_graph_img.php: Failed to create graph with error code , the error is:
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Sorry we do not have data to graph for /var/db/rrd/wan-traffic.rrd
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Failed to create graph with error code , the error is:
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Sorry we do not have data to graph for /var/db/rrd/wan-traffic.rrd
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Failed to create graph with error code , the error is:
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Sorry we do not have data to graph for /var/db/rrd/wan-traffic.rrd
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Failed to create graph with error code , the error is:
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Sorry we do not have data to graph for /var/db/rrd/wan-traffic.rrd
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Failed to create graph with error code , the error is:
    Jul 22 13:04:49 php: /status_rrd_graph_img.php: Sorry we do not have data to graph for /var/db/rrd/wan-traffic.rrd
    Jul 22 13:04:48 php: /status_rrd_graph_img.php: Failed to create graph with error code , the error is:
    Jul 22 13:04:48 php: /status_rrd_graph_img.php: Sorry we do not have data to graph for /var/db/rrd/wan-traffic.rrd



  • My RRD graphs are non-existent also which isn't a big deal but is the data still being collected?  I'd like to have the data for future reference.

    And i am on the latest build from 6ish this morning.



  • @PeterK2003:

    My RRD graphs are non-existent also which isn't a big deal but is the data still being collected?  I'd like to have the data for future reference.

    And i am on the latest build from 6ish this morning.

    All graphs are working here since I've deleted the current status_rrd_graph.php and got back the old one (yep, I had a backup).
    But it works up to four hours being collected only… no more than that.  >:(
    If you want it back, delete  /usr/local/www/status_rrd_graph.php and save the script below with the same name.

    /* $Id$ */
    /*
    	status_rrd_graph.php
    	Part of pfSense
    	Copyright (C) 2007 Seth Mos <seth.mos@xs4all.nl>All rights reserved.
    
    	Redistribution and use in source and binary forms, with or without
    	modification, are permitted provided that the following conditions are met:
    
    	1\. Redistributions of source code must retain the above copyright notice,
    	   this list of conditions and the following disclaimer.
    
    	2\. Redistributions in binary form must reproduce the above copyright
    	   notice, this list of conditions and the following disclaimer in the
    	   documentation and/or other materials provided with the distribution.
    
    	THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
    	INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    	AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    	AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    	OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    	POSSIBILITY OF SUCH DAMAGE.
    */
    /*	
    	pfSense_BUILDER_BINARIES:	/usr/bin/find
    	pfSense_MODULE:	system
    */
    
    ##|+PRIV
    ##|*IDENT=page-status-rrdgraphs
    ##|*NAME=Status: RRD Graphs page
    ##|*DESCR=Allow access to the 'Status: RRD Graphs' page.
    ##|*MATCH=status_rrd_graph.php*
    ##|-PRIV
    
    require("guiconfig.inc");
    require_once("filter.inc");
    require("shaper.inc");
    require_once("rrd.inc");
    
    /* if the rrd graphs are not enabled redirect to settings page */
    if(! isset($config['rrd']['enable'])) {
    	header("Location: status_rrd_graph_settings.php");
    }
    
    $rrddbpath = "/var/db/rrd/";
    /* XXX: (billm) do we have an exec() type function that does this type of thing? */
    exec("cd $rrddbpath;/usr/bin/find -name *.rrd", $databases);
    
    if ($_GET['cat']) {
    	$curcat = $_GET['cat'];
    } else {
    	if(! empty($config['rrd']['category'])) {
    		$curcat = $config['rrd']['category'];
    	} else {
    		$curcat = "system";
    	}
    }
    
    if ($_GET['option']) {
    	$curoption = $_GET['option'];
    } else {
    	switch($curcat) {
    		case "system":
    			$curoption = "processor";
    			break;
    		case "queues":
    			$curoption = "queues";
    			break;
    		case "queuedrops":
    			$curoption = "queuedrops";
    			break;
    		case "quality":
    			foreach($databases as $database) {
    				if(preg_match("/[-]quality\.rrd/i", $database)) {
    					/* pick off the 1st database we find that matches the quality graph */
    					$name = explode("-", $database);
    					$curoption = "$name[0]";
    					continue 2;
    				}
    			}
    		case "wireless":
    			foreach($databases as $database) {
    				if(preg_match("/[-]wireless\.rrd/i", $database)) {
    					/* pick off the 1st database we find that matches the wireless graph */
    					$name = explode("-", $database);
    					$curoption = "$name[0]";
    					continue 2;
    				}
    			}
    		case "cellular":
    			foreach($databases as $database) {
    				if(preg_match("/[-]cellular\.rrd/i", $database)) {
    					/* pick off the 1st database we find that matches the celullar graph */
    					$name = explode("-", $database);
    					$curoption = "$name[0]";
    					continue 2;
    				}
    			}
    		default:
    			$curoption = "wan";
    			break;
    	}
    }
    
    if ($_GET['style']) {
    	$curstyle = $_GET['style'];
    } else {
    	if(! empty($config['rrd']['style'])) {
    		$curstyle = $config['rrd']['style'];
    	} else {
    		$curstyle = "inverse";
    	}
    }
    
    /* sort names reverse so WAN comes first */
    rsort($databases);
    
    /* these boilerplate databases are required for the other menu choices */
    $dbheader = array("allgraphs-traffic.rrd",
    		"allgraphs-quality.rrd",
    		"allgraphs-wireless.rrd",
    		"allgraphs-cellular.rrd",
    		"allgraphs-packets.rrd",
    		"system-allgraphs.rrd",
    		"system-throughput.rrd",
    		"outbound-quality.rrd",
    		"outbound-packets.rrd",
    		"outbound-traffic.rrd");
    
    foreach($databases as $database) {
    	if(stristr($database, "wireless")) {
    		$wireless = true;
    	}
    	if(stristr($database, "queues")) {
    		$queues = true;
    	}
    	if(stristr($database, "cellular")) {
    		$cellular = true;
    	}
    }
    /* append the existing array to the header */
    $ui_databases = array_merge($dbheader, $databases);
    
    $styles = array('inverse' => 'Inverse',
    		'absolute' => 'Absolute');
    $periods = array("4h", "16h", "48h", "32d", "6m", "1y", "4y");
    
    $pgtitle = array("Status","RRD Graphs");
    include("head.inc");
    
    ?>
    
    | 
    
    <form name="form1" action="status_rrd_graph.php" method="get">
    			">
    						        $tab_array = array();
    				if($curcat == "system") { $tabactive = True; } else { $tabactive = False; }
    			        $tab_array[] = array("System", $tabactive, "status_rrd_graph.php?cat=system");
    				if($curcat == "traffic") { $tabactive = True; } else { $tabactive = False; }
    			        $tab_array[] = array("Traffic", $tabactive, "status_rrd_graph.php?cat=traffic");
    				if($curcat == "packets") { $tabactive = True; } else { $tabactive = False; }
    			        $tab_array[] = array("Packets", $tabactive, "status_rrd_graph.php?cat=packets");
    				if($curcat == "quality") { $tabactive = True; } else { $tabactive = False; }
    			        $tab_array[] = array("Quality", $tabactive, "status_rrd_graph.php?cat=quality");
    				if($queues) {
    					if($curcat == "queues") { $tabactive = True; } else { $tabactive = False; }
    					$tab_array[] = array("Queues", $tabactive, "status_rrd_graph.php?cat=queues");
    					if($curcat == "queuedrops") { $tabactive = True; } else { $tabactive = False; }
    					$tab_array[] = array("QueueDrops", $tabactive, "status_rrd_graph.php?cat=queuedrops");
    				}
    				if($wireless) {
    					if($curcat == "wireless") { $tabactive = True; } else { $tabactive = False; }
    				        $tab_array[] = array("Wireless", $tabactive, "status_rrd_graph.php?cat=wireless");
    				}
    				if($cellular) {
    					if($curcat == "cellular") { $tabactive = True; } else { $tabactive = False; }
    				        $tab_array[] = array("Cellular", $tabactive, "status_rrd_graph.php?cat=cellular");
    				}
    				if($curcat == "settings") { $tabactive = True; } else { $tabactive = False; }
    			        $tab_array[] = array("Settings", $tabactive, "status_rrd_graph_settings.php");
    			        display_top_tabs($tab_array);
    			?>
                    </form>
    
     |
    | 
    
                                            \n";
    							}
    						}
    					}
    					?>
    
    |  |								
    | 
    
    					 <select name="option" class="formselect" style="z-index: -10;" onchange="document.form1.submit()">foreach ($ui_databases as $db => $database) {						if(! preg_match("/($curcat)/i", $database)) {							continue;						}						$optionc = split("-", $database);						$search = array("-", ".rrd", $optionc);						$replace = array(" :: ", "", $friendly);						switch($curcat) {							case "system":								$optionc = str_replace($search, $replace, $optionc[1]);								echo " <option value="\&quot;$optionc\&quot;&quot;;<br">$prettyprint = ucwords(str_replace($search, $replace, $optionc));								break;							default:								/* Deduce a interface if possible and use the description */								$optionc = "$optionc[0]";								$friendly = convert_friendly_interface_to_friendly_descr(strtolower($optionc));								if(empty($friendly)) {									$friendly = $optionc;								}								$search = array("-", ".rrd", $optionc);								$replace = array(" :: ", "", $friendly);								echo "</option> <option value="\&quot;$optionc\&quot;&quot;;<br">$prettyprint = ucwords(str_replace($search, $replace, $friendly));						}						if($curoption == $optionc) {							echo " selected ";						}						echo ">" . htmlspecialchars($prettyprint) . "</option>\n";					}					?></select> 
    
    					 <select name="style" class="formselect" style="z-index: -10;" onchange="document.form1.submit()">foreach ($styles as $style => $styled) {						echo " <option value="\&quot;$style\&quot;&quot;;<br">if ($style == $curstyle) echo " selected";						echo ">" . htmlspecialchars($styled) . "</option>\n";					}					?></select> 
    
    					foreach($periods as $period => $interval) {
    						/* check which databases are valid for our category */
    						foreach($ui_databases as $curdatabase) {
    							if(! preg_match("/($curcat)/i", $curdatabase)) {
    								continue;
    							}
    							$optionc = split("-", $curdatabase);
    							$search = array("-", ".rrd", $optionc);
    							$replace = array(" :: ", "", $friendly);
    							switch($curoption) {
    								case "outbound":
    									/* only show interfaces with a gateway */
    									$optionc = "$optionc[0]";
    									if(!interface_has_gateway($optionc)) {
    										if(!preg_match("/($optionc)-(quality)/", $curdatabase)) {
    											continue 2;
    										}
    									}
    									if(! preg_match("/($optionc)[-.]/i", $curdatabase)) {
    										continue 2;
    									}
    									break;
    								case "allgraphs":
    									/* make sure we do not show the placeholder databases in the all view */
    									if((stristr($curdatabase, "outbound")) || (stristr($curdatabase, "allgraphs"))) {
    										continue 2;
    									}
    									break;
    								default:
    									/* just use the name here */
    									if(! preg_match("/($curoption)[-.]/i", $curdatabase)) {
    										continue 2;
    									}
    							}
    							if(in_array($curdatabase, $databases)) {
    								echo " |
    | \n";
    								echo "								echo "id='{$interval}-{$curoption}-{$curdatabase}' ALT=\"$prettydb Graph\" ";
    								echo "SRC=\"status_rrd_graph_img.php?interval=$interval&database={$curdatabase}&style={$curstyle}\" />\n";
    								echo "
    
    * * *
    
    \n";								
    								echo " |													
    
    					 |							
    
    		 |</seth.mos@xs4all.nl> 
    


  • Fixed by Revision 002bc4ab. Either wait for a new build or download the two files from redmine and replace those on your box with these commands:

    cd /usr/local/www/; fetch http://redmine.pfsense.org/projects/pfsense/repository/revisions/002bc4ab3268e6e5cb3a01ce73a4c1624d09050a/raw/usr/local/www/status_rrd_graph_img.php
    cd /usr/local/www/; fetch http://redmine.pfsense.org/projects/pfsense/repository/revisions/9dc3798253279a13ddaae6d6a04269f85c27de5b/raw/usr/local/www/status_rrd_graph.php
    

    Note that the second command actually downloads from revision 9dc37982 which makes further modifications for week graphs to work.



  • @BlueMatt:

    Fixed by Revision 002bc4ab. Either wait for a new build or download the two files from redmine and replace those on your box with these commands:

    cd /usr/local/www/; fetch http://redmine.pfsense.org/projects/pfsense/repository/revisions/002bc4ab3268e6e5cb3a01ce73a4c1624d09050a/raw/usr/local/www/status_rrd_graph_img.php
    cd /usr/local/www/; fetch http://redmine.pfsense.org/projects/pfsense/repository/revisions/9dc3798253279a13ddaae6d6a04269f85c27de5b/raw/usr/local/www/status_rrd_graph.php
    

    Note that the second command actually downloads from revision 9dc37982 which makes further modifications for week graphs to work.

    Worked for me on the July 22nd snapshot.  Needed to go to the RRD settings page, and click Save, then everything populated out correctly.  Thanks!



  • I've been working on the graphs today

    • Fixed the week graph. It was tracking the wrong week. And it now starts on monday.
    • Added a custom graph page for a start and end date. Which is missing a date picker currently.
    • OpenVPN now has traffic and packets stats for all OpenVPN servers.
    • Added backend for tracking openvpn users, graph is missing, data is collected though.
    • Synced the tabs on settings page.

    All the graphs now start on boundaries for day, week, month, quarter, year and 4 years.
    You can also select "previous period" which means you get the last full period instead of the current one.



  • Yes you have been, and you have fixed all my problems, though for some reason your updates did not make it into the Fri Jul 23 05:17:16 EDT 2010 build.  Or at least I had to re-download the versions from redmine in order for my rrd graphs to work after upgrading.  Oh well I guess they will appear sometime later.



  • @BlueMatt:

    Yes you have been, and you have fixed all my problems, though for some reason your updates did not make it into the Fri Jul 23 05:17:16 EDT 2010 build.  Or at least I had to re-download the versions from redmine in order for my rrd graphs to work after upgrading.  Oh well I guess they will appear sometime later.

    That snapshot run started shortly before those changes.



  • @databeestje:

    • OpenVPN now has traffic and packets stats for all OpenVPN servers.

    Thanks so much for this.  I've wanted that graph for a long time.



  • The online users graph should be coming fairly soon, it only has 1 datasource.



  • @databeestje:

    I've been working on the graphs today

    • Added a custom graph page for a start and end date. Which is missing a date picker currently.
      ...

    You've been doing a hard work, databeestje. Thanks, indeed.

    But what kind of date is that below? That's what I have from the custom graph page:

    Start: 1279989697 End: 1280004097

    Please, don't get me wrong, just wanna understand.



  • that is the number of seconds since epoch, which is jan 1 1970.

    We'll be fine until we get to a tuesday in 2038 though.



  • Online openvpn users graph per server is now available as well.



  • It seems its ok and I could see the graphs.

    But in the log, I've got this:
    php: /status_rrd_graph_img.php: rrdcolors.inc.php for theme pfsense_ng does not exist, using defaults!

    -Raylund



  • Quality graph still doesn't work. All other graphs are working.

    Only one small part of a graph is displayed, some time ago.

    I too have the message "php: /status_rrd_graph_img.php: rrdcolors.inc.php for theme metallic does not exist, using defaults!"




  • The quality graph databases are updated from apinger, so if that's broken you will see that exact behaviour.

    The graphing front end can only work with the data in the RRD file.



  • hmmm, apinger works. Do you have any idea where to look? I'm a bit lost here. Since a new install of the beta3 never worked…



  • Hello

    With pfSense 2.0-BETA4 built on Sun Aug 1 20:29:11 EDT 2010 FreeBSD 8.1-RELEASE

    RDD graphs don't work:
    "There has been an error creating the graphs. Please check your systemlogs for further details."

    And in logs:
    Aug 2 16:33:24 php: /status_rrd_graph_img.php: rrdcolors.inc.php for theme pfsense_ng does not exist, using defaults!
    Aug 2 16:33:24 php: /status_rrd_graph_img.php: Failed to create graph with error code 1, the error is: ERROR: This RRD was created on other architecture/usr/bin/nice -n20 /usr/local/bin/rrdtool graph /tmp/system-processor.rrd-day.png –start 1280700000 --end 1280786400 --vertical-label "utilization, number" --color SHADEA#eeeeee --color SHADEB#eeeeee --title "hostname - System :: Processor - 1 day - 5 minutes average" --height 200 --width 620 DEF:"user=/var/db/rrd/system-processor.rrd:user:AVERAGE" DEF:"nice=/var/db/rrd/system-processor.rrd:nice:AVERAGE" DEF:"system=/var/db/rrd/system-processor.rrd:system:AVERAGE" DEF:"interrupt=/var/db/rrd/system-processor.rrd:interrupt:AVERAGE" DEF:"processes=/var/db/rrd/system-processor.rrd:processes:AVERAGE" AREA:"user#990000:user" AREA:"nice#a83c3c:nice:STACK" AREA:"system#b36666:system:STACK" AREA:"interrupt#bd9090:interrupt:STACK" LINE2:"processes#cccccc:processes" COMMENT:"\n" COMMENT:" minimum average maximum current\n" COMMENT:"Use
    Aug 2 16:33:24 php: /status_rrd_graph_img.php: rrdcolors.inc.php for theme pfsense_ng does not exist, using defaults!
    Aug 2 16:33:24 php: /status_rrd_graph_img.php: Failed to create graph with error code 1, the error is: ERROR: This RRD was created on other architecture/usr/bin/nice -n20 /usr/local/bin/rrdtool graph /tmp/system-processor.rrd-week.png --start 1280700000 --end 1281304800 --vertical-label "utilization, number" --color SHADEA#eeeeee --color SHADEB#eeeeee --title "hostname - System :: Processor - 1 week - 1 hour average" --height 200 --width 620 DEF:"user=/var/db/rrd/system-processor.rrd:user:AVERAGE" DEF:"nice=/var/db/rrd/system-processor.rrd:nice:AVERAGE" DEF:"system=/var/db/rrd/system-processor.rrd:system:AVERAGE" DEF:"interrupt=/var/db/rrd/system-processor.rrd:interrupt:AVERAGE" DEF:"processes=/var/db/rrd/system-processor.rrd:processes:AVERAGE" AREA:"user#990000:user" AREA:"nice#a83c3c:nice:STACK" AREA:"system#b36666:system:STACK" AREA:"interrupt#bd9090:interrupt:STACK" LINE2:"processes#cccccc:processes" COMMENT:"\n" COMMENT:" minimum average maximum current\n" COMMENT:"User
    Aug 2 16:33:24 php: /status_rrd_graph_img.php: rrdcolors.inc.php for theme pfsense_ng does not exist, using defaults!
    (...)

    Any Idea?

    Thank


  • Rebel Alliance Developer Netgate

    @itsmorefun:

    Aug 2 16:33:24 php: /status_rrd_graph_img.php: Failed to create graph with error code 1, the error is: ERROR: This RRD was created on other architecture

    Did you switch between 32 and 64-bit releases? You may just need to rm /var/db/rrd/* and then re-save on the RRD settings.



  • @jimp:

    @itsmorefun:

    Aug 2 16:33:24 php: /status_rrd_graph_img.php: Failed to create graph with error code 1, the error is: ERROR: This RRD was created on other architecture

    Did you switch between 32 and 64-bit releases?

    No… :-\

    @jimp:

    You may just need to rm /var/db/rrd/* and then re-save on the RRD settings.

    That work!

    Thank :-)



  • I just downloaded and am testing the latest update -pfSense-2.0-BETA4-4g-20100803-1244-nanobsd-upgrade.img.gz

    I don't get the  'quality'  on the RRD graphs.

    Any ideas or a fix yet ?

    Thanks…its looking really good.



  • I went from beta 1 to beta 4 build 04/08/10 and that has broken the RRD graphs apart from from the quality one. I did delete all the rrd files then switch RRD off then back up, I saw it recreate the files but still didn't log anything. Is there anything else I can try to get it to work.



  • @Jonb:

    I went from beta 1 to beta 4 build 04/08/10 and that has broken the RRD graphs apart from from the quality one. I did delete all the rrd files then switch RRD off then back up, I saw it recreate the files but still didn't log anything. Is there anything else I can try to get it to work.

    Wait…it took several minutes before I saw anything.



  • Still no joys for me.


  • Rebel Alliance Developer Netgate

    I fixed an issue with drawing of quality graphs on fresh installs and NanoBSD earlier today. It was too late for the next snapshot, but the one after should be OK.



  • Jim any ideas on the traffic graphs etc in my instance. Just to let you know when I deleted the rrd files and recreated them I then did a restore of the old rrd graphs.


  • Rebel Alliance Developer Netgate

    Not that I know of, I haven't seen any problems with the other graphs, just the quality graph.

    It may not be drawing the data in the graph where you expect though, the graphs start on hard boundaries now and if you catch them early in the day most of the current graph will be empty.



  • Is there a command I can use or anything I can do to see if they system is actually recording the data.


  • Rebel Alliance Developer Netgate

    Just look at:

    ls /var/db/rrd/

    If the timestamps are current, the files are being touched.



  • -rw-r–r--  1 root  wheel  47608 Aug  5 19:51 GW_WAN-quality.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 ipsec-packets.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 ipsec-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 lan-packets.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 lan-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 opt1-packets.rrd
    -rw-r--r--  1 root  wheel  65672 Aug  5 10:16 opt1-quality.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 opt1-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 10:16 opt2-packets.rrd
    -rw-r--r--  1 root  wheel  65672 Aug  5 10:16 opt2-quality.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 10:16 opt2-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 ovpns1-packets.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 ovpns1-traffic.rrd
    -rw-r--r--  1 root  wheel  49120 Aug  5 19:51 ovpns1-vpnusers.rrd
    -rw-r--r--  1 root  wheel  97672 Aug  5 10:16 ppp-cellular.rrd
    -rw-r--r--  1 root  wheel  727424 Aug  5 19:51 system-memory.rrd
    -rw-r--r--  1 root  wheel  487424 Aug  5 19:51 system-processor.rrd
    -rw-r--r--  1 root  wheel  487424 Aug  5 19:51 system-states.rrd
    -rw-r--r--  1 root  wheel    4974 Aug  5 19:13 updaterrd.sh
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 wan-packets.rrd
    -rw-r--r--  1 root  wheel  65672 Aug  5 10:16 wan-quality.rrd
    -rw-r--r--  1 root  wheel  388984 Aug  5 10:16 wan-queuedrops.rrd
    -rw-r--r--  1 root  wheel  388984 Aug  5 10:16 wan-queues.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 19:52 wan-traffic.rrd

    Strange as the wan-quality is the one that works


  • Rebel Alliance Developer Netgate

    It's also one being updated: 19:51 GW_WAN-quality.rrd

    :-)



  • So is this a graph drawing issue.



  • Strange what is going on.

    sizes are the same as well

    -rw-r–r--  1 root  wheel  47608 Aug  5 20:20 GW_WAN-quality.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 ipsec-packets.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 ipsec-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 lan-packets.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 lan-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 opt1-packets.rrd
    -rw-r--r--  1 root  wheel  65672 Aug  5 10:16 opt1-quality.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 opt1-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 10:16 opt2-packets.rrd
    -rw-r--r--  1 root  wheel  65672 Aug  5 10:16 opt2-quality.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 10:16 opt2-traffic.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 ovpns1-packets.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 ovpns1-traffic.rrd
    -rw-r--r--  1 root  wheel  49120 Aug  5 20:20 ovpns1-vpnusers.rrd
    -rw-r--r--  1 root  wheel  97672 Aug  5 10:16 ppp-cellular.rrd
    -rw-r--r--  1 root  wheel  727424 Aug  5 20:20 system-memory.rrd
    -rw-r--r--  1 root  wheel  487424 Aug  5 20:20 system-processor.rrd
    -rw-r--r--  1 root  wheel  487424 Aug  5 20:20 system-states.rrd
    -rw-r--r--  1 root  wheel    5780 Aug  5 20:07 updaterrd.sh
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 wan-packets.rrd
    -rw-r--r--  1 root  wheel  65672 Aug  5 10:16 wan-quality.rrd
    -rw-r--r--  1 root  wheel  340432 Aug  5 20:16 wan-queuedrops.rrd
    -rw-r--r--  1 root  wheel  340432 Aug  5 20:16 wan-queues.rrd
    -rw-r--r--  1 root  wheel  194776 Aug  5 20:21 wan-traffic.rrd




  • RRD files are round-robin database files (hence RRD) which remain a consistent size as they store rotating (round-robin) data. So if they will maintain history for a year, they start big enough to hold a year's worth of data and never grow or shrink, they are just updated with new data at the proper place. Hence the same file sizes.



  • Jim fixed a permissions issue today that should fix the quality graphs.
    https://rcs.pfsense.org/projects/pfsense/repos/mainline/commits/3d83f02e958a52e35cf098a3cd3f7031f53d69a0

    though that only applies when the directory is created. May need something to fix permissions on existing directories. To manually fix, run:

    chown nobody:wheel /var/db/rrd/*quality*.rrd
    


  • Ok fair enough so the files size shouldn't change. So how would I delve into the problem more to see if it is a graphing issue or data issue.


Log in to reply