diff --git a/includes/polling/cisco-cef.inc.php b/includes/polling/cisco-cef.inc.php new file mode 100755 index 000000000..824c6445d --- /dev/null +++ b/includes/polling/cisco-cef.inc.php @@ -0,0 +1,83 @@ + $afis) + { + $entity_name = $entity_array[$entity]['entPhysicalName'] ." - ".$entity_array[$entity]['entPhysicalModelName']; + echo("\n$entity $entity_name\n"); + foreach($afis as $afi => $paths) + { + echo(" |- $afi\n"); + foreach($paths as $path => $path_name) + { + echo(" | |-".$path.": ".$path_name['cefSwitchingPath']); + + + if(mysql_result(mysql_query("SELECT COUNT(*) FROM `cef` WHERE `device_id` = '".$device['device_id']."' AND `entPhysicalIndex` = '".$entity."' + AND `afi` = '".$afi."' AND `cef_index` = '".$path."'"),0) != "1") + { + $sql = "INSERT INTO `cef` (`device_id`, `entPhysicalIndex`, `afi`, `cef_index`, `cef_path`) + VALUES ('".$device['device_id']."', '".$entity."', '".$afi."', '".$path."', '".$path_name['cefSwitchingPath']."')"; + mysql_query($sql); + echo("+"); + } + + $filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("cefswitching-".$entity."-".$afi."-".$path.".rrd"); + + if (!is_file($filename)) + { + rrdtool_create($filename, "--step 300 \ + DS:drop:DERIVE:600:0:1000000 \ + DS:punt:DERIVE:600:0:1000000 \ + DS:hostpunt:DERIVE:600:0:1000000 \ + RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797 \ + RRA:MIN:0.5:1:600 RRA:MIN:0.5:6:700 RRA:MIN:0.5:24:775 RRA:MIN:0.5:288:797 \ + RRA:MAX:0.5:1:600 RRA:MAX:0.5:6:700 RRA:MAX:0.5:24:775 RRA:MAX:0.5:288:797 \ + RRA:LAST:0.5:1:600 RRA:LAST:0.5:6:700 RRA:LAST:0.5:24:775 RRA:LAST:0.5:288:797"); + } + + $path_name['cefSwitchingPath']; + $path_name['cefSwitchingDrop']; + $path_name['cefSwitchingPunt']; + $path_name['cefSwitchingPunt2Host']; + + ### Copy HC to non-HC if they exist + if (is_numeric($this_port['cefSwitchingPath'])) { $this_port['cefSwitchingPath'] = $this_port['cefSwitchingHCDrop']; } + if (is_numeric($this_port['cefSwitchingPunt'])) { $this_port['cefSwitchingPunt'] = $this_port['cefSwitchingHCPunt']; } + if (is_numeric($this_port['cefSwitchingPunt2Host'])) { $this_port['cefSwitchingPunt2Host'] = $this_port['cefSwitchingHCPunt2Host']; } + + $rrd_update = "N:".$path_name['cefSwitchingDrop'].":".$path_name['cefSwitchingPunt'].":".$path_name['cefSwitchingPunt2Host']; + $ret = rrdtool_update("$filename", $rrd_update); + + if($debug) { echo(" Values: ".$path_name['cefSwitchingDrop'].":".$path_name['cefSwitchingPunt'].":".$path_name['cefSwitchingPunt2Host']); } + + echo("\n"); + + } + } + } +} + +## FIXME - need to delete old ones. FIXME REALLY. + +echo("\n"); + +?> diff --git a/poller.php b/poller.php index 33ed1fcaa..ddbb8fad9 100755 --- a/poller.php +++ b/poller.php @@ -19,7 +19,7 @@ include("includes/functions.php"); $poller_start = utime(); echo("Observium Poller v".$config['version']."\n\n"); -$options = getopt("h:t:i:n:d::a::"); +$options = getopt("h:m:i:n:d::a::"); if ($options['h'] == "odd") { $options['n'] = "1"; $options['i'] = "2"; } elseif ($options['h'] == "even") { $options['n'] = "0"; $options['i'] = "2"; } @@ -238,6 +238,7 @@ while ($device = mysql_fetch_assoc($device_query)) #include("includes/polling/altiga-ssl.inc.php"); include("includes/polling/cisco-ipsec-flow-monitor.inc.php"); include("includes/polling/cisco-remote-access-monitor.inc.php"); + include("includes/polling/cisco-cef.inc.php"); unset($update); unset($seperator);