>>\n", '', $rawdata); } # Format Data $lines = explode("\n", $rawdata); $asterisk = array(); $asterisk_metrics = array(); foreach ($lines as $line) { list($var,$value) = explode('=', $line); $asterisk[$var] = $value; } unset($lines); # Asterisk stats $rrd_name = array('app', $name, 'stats', $app_id); $rrd_def = RrdDefinition::make() ->addDataset('calls', 'GAUGE', 0, 10000) ->addDataset('channels', 'GAUGE', 0, 20000) ->addDataset('sippeers', 'GAUGE', 0, 10000) ->addDataset('sipmononline', 'GAUGE', 0, 10000) ->addDataset('sipmonoffline', 'GAUGE', 0, 10000) ->addDataset('sipunmononline', 'GAUGE', 0, 10000) ->addDataset('sipunmonoffline', 'GAUGE', 0, 10000); $sip_fields = array( 'calls' => $asterisk['Calls'], 'channels' => $asterisk['Channels'], 'sippeers' => $asterisk['SipPeers'], 'sipmononline' => $asterisk['SipMonOnline'], 'sipmonoffline' => $asterisk['SipMonOffline'], 'sipunmononline' => $asterisk['SipUnMonOnline'], 'sipunmonoffline' => $asterisk['SipUnMonOffline'] ); $asterisk_metrics['stats'] = $sip_fields; $sip_tags = compact('name', 'app_id', 'rrd_name', 'rrd_def'); data_update($device, 'app', $sip_tags, $sip_fields); unset($rrd_name, $rrd_def, $sip_fields, $sip_tags); # Additional iax2 stats $rrd_name = array('app', $name, 'iax2', $app_id); $rrd_def = RrdDefinition::make() ->addDataset('iax2peers', 'GAUGE', 0, 10000) ->addDataset('iax2online', 'GAUGE', 0, 10000) ->addDataset('iax2offline', 'GAUGE', 0, 10000) ->addDataset('iax2unmonitored', 'GAUGE', 0, 10000); $iax2_fields = array( 'iax2peers' => $asterisk['Iax2Peers'], 'iax2online' => $asterisk['Iax2Online'], 'iax2offline' => $asterisk['Iax2Offline'], 'iax2unmonitored' => $asterisk['Iax2Unmonitored'] ); $asterisk_metrics['iax2'] = $iax2_fields; $iax2_tags = compact('name', 'app_id', 'rrd_name', 'rrd_def'); data_update($device, 'app', $iax2_tags, $iax2_fields); update_application($app, $rawdata, $asterisk_metrics); unset($rrd_name, $rrd_def, $iax2_fields, $iax2_tags); unset($asterisk, $asterisk_metrics, $rawdata); // these are used for all rrds