delete vservers once they are gone from netscaler

git-svn-id: http://www.observium.org/svn/observer/trunk@2860 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2012-02-08 22:03:53 +00:00
parent f0d06a44cd
commit e292d0bebd

View File

@@ -64,7 +64,8 @@ if($device['os'] == "netscaler")
$vsvr_array = snmpwalk_cache_oid($device, "vserverEntry", array(), "NS-ROOT-MIB"); $vsvr_array = snmpwalk_cache_oid($device, "vserverEntry", array(), "NS-ROOT-MIB");
$vsvr_db = dbFetchRows("SELECT * FROM `netscaler_vservers` WHERE `device_id` = ?", array($device['device_id'])); $vsvr_db = dbFetchRows("SELECT * FROM `netscaler_vservers` WHERE `device_id` = ?", array($device['device_id']));
foreach ($vsvr_db as $vsvr) { $vsvrs[$vsvr['vsvr_name']] = $vsvr; } foreach ($vsvr_db as $vsvr) { $vsvrs[$vsvr['vsvr_name']] = $vsvr; print_r($vsvr); }
if($debug) { print_r($vsvrs); }
foreach($vsvr_array as $index => $vsvr) foreach($vsvr_array as $index => $vsvr)
{ {
@@ -72,6 +73,8 @@ foreach($vsvr_array as $index => $vsvr)
if(isset($vsvr['vsvrName'])) if(isset($vsvr['vsvrName']))
{ {
$vsvr_exist[$vsvr['vsvrName']] = 1;
$rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-vsvr-".safename($vsvr['vsvrName']).".rrd"; $rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-vsvr-".safename($vsvr['vsvrName']).".rrd";
$rrdupdate = "N"; $rrdupdate = "N";
@@ -92,11 +95,9 @@ foreach($vsvr_array as $index => $vsvr)
$db_update = array('vsvr_ip' => $vsvr['vsvrIpAddress'], 'vsvr_port' => $vsvr['vsvrPort'], 'vsvr_state' => $vsvr['vsvrState'], 'vsvr_type' => $vsvr['vsvrType'], $db_update = array('vsvr_ip' => $vsvr['vsvrIpAddress'], 'vsvr_port' => $vsvr['vsvrPort'], 'vsvr_state' => $vsvr['vsvrState'], 'vsvr_type' => $vsvr['vsvrType'],
'vsvr_req_rate' => $vsvr['RequestRate'], 'vsvr_bps_in' => $vsvr['vsvrRxBytesRate'], 'vsvr_bps_out' => $vsvr['vsvrTxBytesRate']); 'vsvr_req_rate' => $vsvr['RequestRate'], 'vsvr_bps_in' => $vsvr['vsvrRxBytesRate'], 'vsvr_bps_out' => $vsvr['vsvrTxBytesRate']);
if(!is_array($vsvrs[$vsvr['vsvrName']])) if(!is_array($vsvrs[$vsvr['vsvrName']]))
{ {
$db_insert = array_merge(array('device_id' => $device['device_id'], 'vsvr_name' => $vsvr['vsvrName']), $db_update); $db_insert = array_merge(array('device_id' => $device['device_id'], 'vsvr_name' => $vsvr['vsvrName']), $db_update);
$vsvr_id = dbInsert($db_insert, 'netscaler_vservers'); echo (" +"); $vsvr_id = dbInsert($db_insert, 'netscaler_vservers'); echo (" +");
} else { } else {
$updated = dbUpdate($db_update, 'netscaler_vservers', '`vsvr_id` = ?', array($vsvrs[$vsvr['vsvrName']]['vsvr_id'])); $updated = dbUpdate($db_update, 'netscaler_vservers', '`vsvr_id` = ?', array($vsvrs[$vsvr['vsvrName']]['vsvr_id']));
@@ -111,5 +112,17 @@ foreach($vsvr_array as $index => $vsvr)
} }
if($debug) { print_r($vsvr_exist); }
foreach($vsvrs as $db_name => $db_id)
{
if(!$vsvr_exist[$db_name])
{
echo("-".$db_name);
dbDelete('netscaler_vservers', "`vsvr_id` = ?", array($db_id));
}
}
} }
?> ?>