diff --git a/config.php.default b/config.php.default index 1be3e3c67f..f079f67613 100755 --- a/config.php.default +++ b/config.php.default @@ -15,6 +15,10 @@ $config['rrd_dir'] = "/opt/observer/rrd"; $config['temp_dir'] = "/tmp"; $config['observer_log'] = $config['install_dir'] . "/observer.log"; +### Enable the below to use rrdcached. be sure rrd_dir is within the rrdcached dir +### and that your web server has permission to talk to rrdcached. +#$config['rrdcached'] = "unix:/var/run/rrdcached.sock"; + ### Default community $config['community'] = "public"; diff --git a/html/graph.php b/html/graph.php index 340b4626bb..d2e15ea0da 100644 --- a/html/graph.php +++ b/html/graph.php @@ -56,8 +56,11 @@ if($_GET['debug']) { } if($rrd_options) { - if($_GET['debug']) { echo("
".$config['rrdtool'] . " graph $graphfile $rrd_options\n\n"); }
-    $thing = shell_exec($config['rrdtool'] . " graph $graphfile $rrd_options");    
+    
+    if($config['rrdcached']) { $rrd_switches = " --daemon ".$config['rrdcached'] . " "; }
+    $rrd_cmd = $config['rrdtool'] . " graph $graphfile $rrd_options" . $rrd_switches;
+    $woo = shell_exec($rrd_cmd);
+    if($_GET['debug']) { echo("
".$rrd_cmd."
"); } # $thing = popen($config['rrdtool'] . " -",'w'); # fputs($thing, "graph $graphfile $rrd_options"); # pclose($thing); diff --git a/includes/rrdtool.inc.php b/includes/rrdtool.inc.php index 3c201a9415..d0888841d8 100644 --- a/includes/rrdtool.inc.php +++ b/includes/rrdtool.inc.php @@ -33,8 +33,15 @@ function rrdtool_lastupdate($rrdfile, $rrdupdate) function rrdtool($command, $file, $options) { global $config; global $debug; - if ($debug) { echo($config['rrdtool'] . " $command $file $options \n"); } - return shell_exec($config['rrdtool'] . " $command $file $options"); + + $command = $config['rrdtool'] . " $command $file $options"; + if($config['rrdcached']) + { + $command .= " --daemon " . $config['rrdcached']; + } + + if ($debug) { echo($command."\n"); } + return shell_exec($command); } ?>