From 8ac88be25e0367efd349dd39d0f7d1e2032bc8da Mon Sep 17 00:00:00 2001 From: Stricted Date: Thu, 16 Jul 2015 00:23:17 +0200 Subject: [PATCH] use native php rrdtool implementation --- rrd/rrd.php | 45 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/rrd/rrd.php b/rrd/rrd.php index 6cd012f..c1f93fb 100644 --- a/rrd/rrd.php +++ b/rrd/rrd.php @@ -4,19 +4,56 @@ $password = 'your_router_password'; $url = 'http://speedport.ip/'; if (!file_exists($path.'dsl.rrd')) { - shell_exec('rrdtool create '.$path.'dsl.rrd --step 60 DS:uactual:GAUGE:120:0:100000 DS:dactual:GAUGE:120:0:200000 DS:uattainable:GAUGE:120:0:100000 DS:dattainable:GAUGE:120:0:200000 DS:uSNR:GAUGE:120:0:1000 DS:dSNR:GAUGE:120:0:1000 DS:uSignal:GAUGE:120:0:1000 DS:dSignal:GAUGE:120:0:200000 DS:uLine:GAUGE:120:0:2000 DS:dLine:GAUGE:120:0:2000 DS:uCRC:DERIVE:120:0:10000000 DS:dCRC:DERIVE:120:0:10000000 DS:uHEC:DERIVE:120:0:10000000 DS:dHEC:DERIVE:120:0:10000000 DS:uFEC:DERIVE:120:0:10000000 DS:dFEC:DERIVE:120:0:10000000 RRA:AVERAGE:0.5:1:2880 RRA:MAX:0.5:1:2880 RRA:AVERAGE:0.5:10:144 RRA:MAX:0.5:10:144'); + $options = array( + "--step", "60", + "DS:uactual:GAUGE:120:0:100000", + "DS:dactual:GAUGE:120:0:200000", + "DS:uattainable:GAUGE:120:0:100000", + "DS:dattainable:GAUGE:120:0:200000", + "DS:uSNR:GAUGE:120:0:1000", + "DS:dSNR:GAUGE:120:0:1000", + "DS:uSignal:GAUGE:120:0:1000", + "DS:dSignal:GAUGE:120:0:200000", + "DS:uLine:GAUGE:120:0:2000", + "DS:dLine:GAUGE:120:0:2000", + "DS:uCRC:DERIVE:120:0:10000000", + "DS:dCRC:DERIVE:120:0:10000000", + "DS:uHEC:DERIVE:120:0:10000000", + "DS:dHEC:DERIVE:120:0:10000000", + "DS:uFEC:DERIVE:120:0:10000000", + "DS:dFEC:DERIVE:120:0:10000000", + "RRA:AVERAGE:0.5:1:2880", + "RRA:MAX:0.5:1:2880", + "RRA:AVERAGE:0.5:10:144", + "RRA:MAX:0.5:10:144" + ); + + rrd_create($path.'dsl.rrd', $options); } + if (!file_exists($path.'lteinfo.rrd')) { - shell_exec('rrdtool create '.$path.'lteinfo.rrd --step 60 DS:rsrp:GAUGE:120:-200:0 DS:rsrq:GAUGE:120:-200:0 RRA:AVERAGE:0.5:1:2880 RRA:MAX:0.5:1:2880 RRA:AVERAGE:0.5:10:144 RRA:MAX:0.5:10:144'); + $options = array( + "--step", "60", + "DS:rsrp:GAUGE:120:-200:0", + "DS:rsrq:GAUGE:120:-200:0", + "RRA:AVERAGE:0.5:1:2880", + "RRA:MAX:0.5:1:2880", + "RRA:AVERAGE:0.5:10:144", + "RRA:MAX:0.5:10:144", + ); + + rrd_create($path.'lteinfo.rrd', $options); } require_once('../SpeedportHybrid.class.php'); $sp = new SpeedportHybrid($password, $url); $data = $sp->getData('dsl'); -shell_exec('rrdtool update '.$path.'dsl.rrd --template uactual:dactual:uattainable:dattainable:uSNR:dSNR:uLine:dLine:uCRC:dCRC:uHEC:dHEC N:'.$data['Line']['uactual'].':'.$data['Line']['dactual'].':'.$data['Line']['uattainable'].':'.$data['Line']['dattainable'].':'.$data['Line']['uSNR'].':'.$data['Line']['dSNR'].':'.$data['Line']['uLine'].':'.$data['Line']['dLine'].':'.$data['Line']['uCRC'].':'.$data['Line']['dCRC'].':'.$data['Line']['uHEC'].':'.$data['Line']['dHEC']); +$options = array(time().':'.$data['Line']['uactual'].':'.$data['Line']['dactual'].':'.$data['Line']['uattainable'].':'.$data['Line']['dattainable'].':'.$data['Line']['uSNR'].':'.$data['Line']['dSNR'].':'.$data['Line']['uSignal'].':'.$data['Line']['dSignal'].':'.$data['Line']['uLine'].':'.$data['Line']['dLine'].':'.$data['Line']['uCRC'].':'.$data['Line']['dCRC'].':'.$data['Line']['uHEC'].':'.$data['Line']['dHEC'].':'.$data['Line']['uFEC'].':'.$data['Line']['dFEC']); +rrd_update($path.'dsl.rrd', $options); $data = $sp->getData('lteinfo'); -shell_exec('rrdtool update '.$path.'lteinfo.rrd --template rsrp:rsrq N:'.$data['rsrp'].':'.$data['rsrq']); +$options = array(time().':'.$data['rsrp'].':'.$data['rsrq']); +rrd_update($path.'lteinfo.rrd', $options); $sp->logout(); -- 2.20.1