CakeFest 2024: The Official CakePHP Conference

rrd_xport

(PECL rrd >= 0.9.0)

rrd_xportExports the information about RRD database

説明

rrd_xport(array $options): array

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 を返します.

add a note

User Contributed Notes 2 notes

up
2
mrezahamedany
6 years ago
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());
}

}
}
up
1
Peter R
3 months ago
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);
To Top