$stats) { echo "$af "; $oids = array( 'ipSystemStatsInReceives', 'ipSystemStatsInHdrErrors', 'ipSystemStatsInAddrErrors', 'ipSystemStatsInUnknownProtos', 'ipSystemStatsInForwDatagrams', 'ipSystemStatsReasmReqds', 'ipSystemStatsReasmOKs', 'ipSystemStatsReasmFails', 'ipSystemStatsInDiscards', 'ipSystemStatsInDelivers', 'ipSystemStatsOutRequests', 'ipSystemStatsOutNoRoutes', 'ipSystemStatsOutDiscards', 'ipSystemStatsOutFragFails', 'ipSystemStatsOutFragCreates', 'ipSystemStatsOutForwDatagrams', ); // Use HC counters instead if they're available. if (isset($stats['ipSystemStatsHCInReceives'])) { $stats['ipSystemStatsInReceives'] = $stats['ipSystemStatsHCInReceives']; } if (isset($stats['ipSystemStatsHCInForwDatagrams'])) { $stats['ipSystemStatsInForwDatagrams'] = $stats['ipSystemStatsHCInForwDatagrams']; } if (isset($stats['ipSystemStatsHCInDelivers'])) { $stats['ipSystemStatsInDelivers'] = $stats['ipSystemStatsHCInDelivers']; } if (isset($stats['ipSystemStatsHCOutRequests'])) { $stats['ipSystemStatsOutRequests'] = $stats['ipSystemStatsHCOutRequests']; } if (isset($stats['ipSystemStatsHCOutForwDatagrams'])) { $stats['ipSystemStatsOutForwDatagrams'] = $stats['ipSystemStatsHCOutForwDatagrams']; } unset($snmpstring, $rrdupdate, $snmpdata, $snmpdata_cmd, $rrd_create); $rrdfile = $config['rrd_dir'].'/'.$device['hostname'].'/'.safename('ipSystemStats-'.$af.'.rrd'); $rrd_create = $config['rrd_rra']; $rrdupdate = 'N'; foreach ($oids as $oid) { $oid_ds = str_replace('ipSystemStats', '', $oid); $oid_ds = truncate($oid_ds, 19, ''); $rrd_create .= " DS:$oid_ds:COUNTER:600:U:100000000000"; if (strstr($stats[$oid], 'No') || strstr($stats[$oid], 'd') || strstr($stats[$oid], 's')) { $stats[$oid] = '0'; } $rrdupdate .= ':'.$stats[$oid]; } if (!file_exists($rrdfile)) { rrdtool_create($rrdfile, $rrd_create); } rrdtool_update($rrdfile, $rrdupdate); unset($rrdupdate, $rrd_create); // FIXME per-AF? $graphs['ipsystemstats_'.$af] = true; $graphs['ipsystemstats_'.$af.'_frag'] = true; }//end foreach }//end if echo "\n";