rrd_xport
(PECL rrd >= 0.9.0)
rrd_xport — Exports the information about RRD database.
Описание
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.
Список параметров
-
options
-
Array of options for the export, see rrd xport man page.
Возвращаемые значения
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);