mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
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:
@@ -61,55 +61,68 @@ 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)
|
||||||
{
|
|
||||||
|
|
||||||
if(isset($vsvr['vsvrName']))
|
|
||||||
{
|
{
|
||||||
|
|
||||||
$rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-vsvr-".safename($vsvr['vsvrName']).".rrd";
|
if(isset($vsvr['vsvrName']))
|
||||||
|
|
||||||
$rrdupdate = "N";
|
|
||||||
|
|
||||||
foreach ($oids as $oid)
|
|
||||||
{
|
{
|
||||||
if (is_numeric($vsvr[$oid]))
|
|
||||||
|
$vsvr_exist[$vsvr['vsvrName']] = 1;
|
||||||
|
|
||||||
|
$rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-vsvr-".safename($vsvr['vsvrName']).".rrd";
|
||||||
|
|
||||||
|
$rrdupdate = "N";
|
||||||
|
|
||||||
|
foreach ($oids as $oid)
|
||||||
{
|
{
|
||||||
$rrdupdate .= ":".$vsvr[$oid];
|
if (is_numeric($vsvr[$oid]))
|
||||||
} else {
|
{
|
||||||
$rrdupdate .= ":U";
|
$rrdupdate .= ":".$vsvr[$oid];
|
||||||
|
} else {
|
||||||
|
$rrdupdate .= ":U";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo(str_pad($vsvr['vsvrName'], 25) . " | " . str_pad($vsvr['vsvrType'],5) . " | " . str_pad($vsvr['vsvrState'],6) ." | ". str_pad($vsvr['vsvrIpAddress'],16) ." | ". str_pad($vsvr['vsvrPort'],5));
|
||||||
|
echo(" | " . str_pad($vsvr['vsvrRequestRate'],8) . " | " . str_pad($vsvr['vsvrRxBytesRate']."B/s", 8)." | ". str_pad($vsvr['vsvrTxBytesRate']."B/s", 8));
|
||||||
|
|
||||||
|
$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']);
|
||||||
|
|
||||||
|
if(!is_array($vsvrs[$vsvr['vsvrName']]))
|
||||||
|
{
|
||||||
|
$db_insert = array_merge(array('device_id' => $device['device_id'], 'vsvr_name' => $vsvr['vsvrName']), $db_update);
|
||||||
|
$vsvr_id = dbInsert($db_insert, 'netscaler_vservers'); echo (" +");
|
||||||
|
} else {
|
||||||
|
$updated = dbUpdate($db_update, 'netscaler_vservers', '`vsvr_id` = ?', array($vsvrs[$vsvr['vsvrName']]['vsvr_id']));
|
||||||
|
echo(" U");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!file_exists($rrd_file)) { rrdtool_create($rrd_file, $rrd_create); }
|
||||||
|
rrdtool_update($rrd_file, $rrdupdate);
|
||||||
|
|
||||||
|
echo("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
echo(str_pad($vsvr['vsvrName'], 25) . " | " . str_pad($vsvr['vsvrType'],5) . " | " . str_pad($vsvr['vsvrState'],6) ." | ". str_pad($vsvr['vsvrIpAddress'],16) ." | ". str_pad($vsvr['vsvrPort'],5));
|
|
||||||
echo(" | " . str_pad($vsvr['vsvrRequestRate'],8) . " | " . str_pad($vsvr['vsvrRxBytesRate']."B/s", 8)." | ". str_pad($vsvr['vsvrTxBytesRate']."B/s", 8));
|
|
||||||
|
|
||||||
$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']);
|
|
||||||
|
|
||||||
|
|
||||||
if(!is_array($vsvrs[$vsvr['vsvrName']]))
|
|
||||||
{
|
|
||||||
$db_insert = array_merge(array('device_id' => $device['device_id'], 'vsvr_name' => $vsvr['vsvrName']), $db_update);
|
|
||||||
|
|
||||||
$vsvr_id = dbInsert($db_insert, 'netscaler_vservers'); echo (" +");
|
|
||||||
} else {
|
|
||||||
$updated = dbUpdate($db_update, 'netscaler_vservers', '`vsvr_id` = ?', array($vsvrs[$vsvr['vsvrName']]['vsvr_id']));
|
|
||||||
echo(" U");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!file_exists($rrd_file)) { rrdtool_create($rrd_file, $rrd_create); }
|
|
||||||
rrdtool_update($rrd_file, $rrdupdate);
|
|
||||||
|
|
||||||
echo("\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
Reference in New Issue
Block a user