rrd_xport
(PECL rrd >= 0.9.0)
rrd_xport — Exports the information about RRD database.
Description
array rrd_xport
( array
$options
)Exports the information about RRD database file. This data can be converted to XML file via user space PHP script and then restored back as RRD database file.
Parameters
-
options
-
Array of options for the export, see rrd xport man page.
Return Values
Array with information about RRD database file, FALSE
when error occurs.
Коментарии
an example that shows the usage of this method ( tested in php version 5.6.30 )
class Rrd{
public function getData($id , $start , $end)
{
$step = 300 ;
$rrdFile ="/path/to/file/'.$id.rrd";
try{
$options = ["--start", $start , "--end", $end ,"-- step",$step,"DEF:out=$rrdFile:name:AVERAGE", "XPORT:out:test"];
$result = rrd_xport($options);
$datas = $result['data'][0]['data'];
foreach($datas as $data => $value){
if( is_nan($value) === true ) $value = 0 ;
$output[] = [$data=>$value] ;
}
return json_encode($output);
}catch (Exception $e){
dd($e->getMessage());
}
}
}
A small example of connecting to an rrdcached daemon (This one running on localhost, but works across network as well) and getting in and output bits from an interface.
$options = array(
'--daemon', '127.0.0.1:42217',
'--start', time() - 3600,
'DEF:in_oct=rrdfile.rrd:INOCTETS:AVERAGE',
'DEF:out_oct=rrdfile.rrd:OUTOCTETS:AVERAGE',
'CDEF:in_bits=in_oct,8,*',
'CDEF:out_bits=out_oct,8,*',
'XPORT:in_bits',
'XPORT:out_bits'
);
$result = rrd_xport($options);
var_dump($result);