netscaler tcp stats poller and three graph definitions

git-svn-id: http://www.observium.org/svn/observer/trunk@2819 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong 2012-01-17 13:37:52 +00:00
parent 0cf67da88e
commit 82e878fd48
6 changed files with 143 additions and 3 deletions

View File

@ -8,8 +8,8 @@ $colour_line_in = "330033";
$colour_area_out = "FFDD88";
$colour_line_out = "FF6600";
$colour_area_in_max = "cc88cc";
$colour_area_out_max = "FFefaa";
$colour_area_in_max = "CC88CC";
$colour_area_out_max = "FFEFAA";
$graph_max = 1;
$unit_text = "Packets";

View File

@ -0,0 +1,11 @@
<?php
$rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-stats-tcp.rrd";
$ds_in = "TotRxBytes";
$ds_out = "TotTxBytes";
include("includes/graphs/generic_bits.inc.php");
?>

View File

@ -0,0 +1,25 @@
<?php
include("includes/graphs/common.inc.php");
$device = device_by_id_cache($id);
$rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-stats-tcp.rrd";
$stats = array('CurServerConn', 'CurClientConn');
$i=0;
foreach ($stats as $stat)
{
$i++;
$rrd_list[$i]['filename'] = $rrd_filename;
$rrd_list[$i]['ds'] = $stat;
}
$colours='mixed';
$nototal = 1;
$simple_rrd = 1;
include("includes/graphs/generic_multi_line.inc.php");
?>

View File

@ -0,0 +1,21 @@
<?php
$rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-stats-tcp.rrd";
$ds_in = "TotRxBytes";
$ds_out = "TotTxBytes";
$colour_area_in = "AA66AA";
$colour_line_in = "330033";
$colour_area_out = "FFDD88";
$colour_line_out = "FF6600";
$colour_area_in_max = "cc88cc";
$colour_area_out_max = "FFefaa";
$graph_max = 1;
$unit_text = "Packets";
include("includes/graphs/generic_duplex.inc.php");
?>

View File

@ -0,0 +1,70 @@
<?php
if ($device['os'] == "netscaler")
{
echo(" IP");
#### These are at the start of large trees that we don't want to walk the entirety of, so we snmp_get_multi them
$oids_gauge = array('tcpCurServerConn', 'tcpCurClientConn', 'tcpActiveServerConn', 'tcpCurClientConnClosing', 'tcpCurServerConnEstablished',
'tcpCurClientConnOpening', 'tcpCurClientConnEstablished', 'tcpCurServerConnClosing', 'tcpSpareConn', 'tcpSurgeQueueLen', 'tcpCurServerConnOpening',
'tcpCurPhysicalServers', 'tcpReuseHit');
$oids_counter = array('tcpTotServerConnOpened', 'tcpTotServerConnClosed', 'tcpTotClientConnOpened', 'tcpTotClientConnClosed',
'tcpTotSyn', 'tcpTotSynProbe', 'tcpTotSvrFin', 'tcpTotCltFin', 'tcpTotRxPkts', 'tcpTotRxBytes', 'tcpTotTxPkts', 'tcpTotTxBytes',
'tcpWaitToSyn', 'tcpTotZombieCltConnFlushed', 'tcpTotZombieSvrConnFlushed', 'tcpTotZombieHalfOpenCltConnFlushed', 'tcpTotZombieHalfOpenSvrConnFlushed',
'tcpTotZombieActiveHalfCloseCltConnFlushed', 'tcpTotZombieActiveHalfCloseSvrConnFlushed', 'tcpTotZombiePassiveHalfCloseCltConnFlushed',
'tcpTotZombiePassiveHalfCloseSrvConnFlushed', 'tcpErrBadCheckSum', 'tcpErrSynInSynRcvd', 'tcpErrSynInEst', 'tcpErrSynGiveUp', 'tcpErrSynSentBadAck',
'tcpErrSynRetry', 'tcpErrFinRetry', 'tcpErrFinGiveUp', 'tcpErrFinDup', 'tcpErrRst', 'tcpErrRstNonEst', 'tcpErrRstOutOfWindow', 'tcpErrRstInTimewait',
'tcpErrSvrRetrasmit', 'tcpErrCltRetrasmit', 'tcpErrFullRetrasmit', 'tcpErrPartialRetrasmit', 'tcpErrSvrOutOfOrder', 'tcpErrCltOutOfOrder',
'tcpErrCltHole', 'tcpErrSvrHole', 'tcpErrCookiePktSeqReject', 'tcpErrCookiePktSigReject', 'tcpErrCookiePktSeqDrop', 'tcpErrCookiePktMssReject',
'tcpErrRetransmit', 'tcpErrRetransmitGiveUp', 'pcbTotZombieCall', 'tcpTotSynHeld', 'tcpTotSynFlush', 'tcpTotFinWaitClosed', 'tcpErrAnyPortFail',
'tcpErrIpPortFail', 'tcpErrSentRst', 'tcpErrBadStateConn', 'tcpErrFastRetransmissions', 'tcpErrFirstRetransmissions', 'tcpErrSecondRetransmissions',
'tcpErrThirdRetransmissions', 'tcpErrForthRetransmissions', 'tcpErrFifthRetransmissions', 'tcpErrSixthRetransmissions', 'tcpErrSeventhRetransmissions',
'tcpErrDataAfterFin', 'tcpErrRstThreshold', 'tcpErrOutOfWindowPkts', 'tcpErrSynDroppedCongestion', 'tcpWaitData', 'tcpErrStrayPkt');
$oids = array_merge($oids_gauge, $oids_counter);
unset($snmpstring, $rrdupdate, $snmpdata, $snmpdata_cmd, $rrd_create);
$rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/netscaler-stats-tcp.rrd";
$rrd_create = "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:MAX:0.5:1:600 \
RRA:MAX:0.5:6:700 RRA:MAX:0.5:24:775 RRA:MAX:0.5:288:797";
foreach ($oids_gauge as $oid)
{
$oid_ds = truncate(str_replace("tcp", "", str_replace("Active", "Ac", str_replace("Passive", "Ps", str_replace("Zombie", "Zom", $oid)))), 19, '');
$rrd_create .= " DS:$oid_ds:GAUGE:600:U:100000000000";
}
foreach ($oids_counter as $oid)
{
$oid_ds = truncate(str_replace("tcp", "", str_replace("Active", "Ac", str_replace("Passive", "Ps", str_replace("Zombie", "Zom", $oid)))), 19, '');
$rrd_create .= " DS:$oid_ds:COUNTER:600:U:100000000000";
}
$data = snmpwalk_cache_oid($device, "nsTcpStatsGroup", array(), "NS-ROOT-MIB");
$rrdupdate = "N";
foreach ($oids as $oid)
{
if (is_numeric($data[0][$oid]))
{
$rrdupdate .= ":".$data[0][$oid];
} else {
$rrdupdate .= ":U";
}
}
if (!file_exists($rrd_file)) { rrdtool_create($rrd_file, $rrd_create); }
rrdtool_update($rrd_file, $rrdupdate);
$graphs['netscaler_tcp_conn'] = TRUE;
$graphs['netscaler_tcp_bits'] = TRUE;
$graphs['netscaler_tcp_pkts'] = TRUE;
}
unset($oids, $data, $data_array, $oid);
?>

View File

@ -844,7 +844,7 @@ foreach ($config['os'] as $this_os => $blah)
### Graph Types
$config['graph_sections'] = array('system', 'firewall', 'netstats', 'wireless', 'storage', 'vpdn');
$config['graph_sections'] = array('system', 'firewall', 'netstats', 'wireless', 'storage', 'vpdn', 'load balancer');
$config['graph_types']['device']['wifi_clients']['section'] = 'wireless';
$config['graph_types']['device']['wifi_clients']['order'] = '0';
@ -970,6 +970,19 @@ $config['graph_types']['device']['vpdn_tunnels_l2tp']['section'] = 'vpdn';
$config['graph_types']['device']['vpdn_tunnels_l2tp']['order'] = '0';
$config['graph_types']['device']['vpdn_tunnels_l2tp']['descr'] = 'VPDN L2TP Tunnels';
$config['graph_types']['device']['netscaler_tcp_conn']['section'] = 'load balancer';
$config['graph_types']['device']['netscaler_tcp_conn']['order'] = '0';
$config['graph_types']['device']['netscaler_tcp_conn']['descr'] = 'TCP Connections';
$config['graph_types']['device']['netscaler_tcp_bits']['section'] = 'load balancer';
$config['graph_types']['device']['netscaler_tcp_bits']['order'] = '0';
$config['graph_types']['device']['netscaler_tcp_bits']['descr'] = 'TCP Traffic';
$config['graph_types']['device']['netscaler_tcp_pkts']['section'] = 'load balancer';
$config['graph_types']['device']['netscaler_tcp_pkts']['order'] = '0';
$config['graph_types']['device']['netscaler_tcp_pkts']['descr'] = 'TCP Packets';
### Device Types