diff --git a/includes/definitions.inc.php b/includes/definitions.inc.php index b60be856b1..68e0c5963a 100644 --- a/includes/definitions.inc.php +++ b/includes/definitions.inc.php @@ -524,6 +524,11 @@ $config['graph_types']['device']['arbos_flows'] = ['section' => 'graphs', 'order //F5 specific graphs $config['graph_types']['device']['bigip_apm_sessions'] = ['section' => 'apm', 'order' => 0, 'descr' => 'Active Sessions']; +$config['graph_types']['device']['bigip_system_tps'] = ['section' => 'ltm', 'order' => 0, 'descr' => 'SSL Transactions']; +$config['graph_types']['device']['bigip_system_server_concurrent_connections'] = ['section' => 'ltm', 'order' => 1, 'descr' => 'Global Server Concurrent Connections']; +$config['graph_types']['device']['bigip_system_client_concurrent_connections'] = ['section' => 'ltm', 'order' => 2, 'descr' => 'Global Client Concurrent Connections']; +$config['graph_types']['device']['bigip_system_server_connection_rate'] = ['section' => 'ltm', 'order' => 3, 'descr' => 'Global Server Connection Rate']; +$config['graph_types']['device']['bigip_system_client_connection_rate'] = ['section' => 'ltm', 'order' => 4, 'descr' => 'Global Client Connection Rate']; // Bluecoat ProxySG Graphs $config['graph_types']['device']['sgos_average_requests'] = ['section' => 'network', 'order' => 0, 'descr' => 'Average HTTP Requests']; diff --git a/includes/html/graphs/device/bigip_system_client_concurrent_connections.inc.php b/includes/html/graphs/device/bigip_system_client_concurrent_connections.inc.php new file mode 100644 index 0000000000..57f3f7ebb0 --- /dev/null +++ b/includes/html/graphs/device/bigip_system_client_concurrent_connections.inc.php @@ -0,0 +1,19 @@ +addDataset('sessions', 'GAUGE', 0); +$data = snmp_get_multi($device, $oids, '-OQUs', $mibs); +$version = $data[0]['sysProductVersion']; +$hardware = $data[0]['sysPlatformInfoMarketingName']; +$serial = $data[0]['sysProductVersion']; +unset($data, $oids); - $fields = array( - 'sessions' => $sessions, - ); - $tags = compact('rrd_def'); - data_update($device, 'bigip_apm_sessions', $tags, $fields); - $graphs['bigip_apm_sessions'] = true; +$oids = [ + 'F5-BIGIP-APM-MIB::apmAccessStatCurrentActiveSessions.0', + 'F5-BIGIP-SYSTEM-MIB::sysStatClientTotConns.0', + 'F5-BIGIP-SYSTEM-MIB::sysStatServerTotConns.0', + 'F5-BIGIP-SYSTEM-MIB::sysStatClientCurConns.0', + 'F5-BIGIP-SYSTEM-MIB::sysStatServerCurConns.0' +]; + +$metadata = [ + 'apmAccessStatCurrentActiveSessions' => [ + 'dataset' => 'sessions', + 'type' => 'GAUGE', + 'name' => 'bigip_apm_sessions' + ], + 'sysStatClientTotConns' => [ + 'dataset' => 'ClientTotConns', + 'type' => 'COUNTER', + 'name' => 'bigip_system_client_connection_rate' + ], + 'sysStatServerTotConns' => [ + 'dataset' => 'ServerTotConns', + 'type' => 'COUNTER', + 'name' => 'bigip_system_server_connection_rate' + ], + 'sysStatClientCurConns' => [ + 'dataset' => 'ClientCurConns', + 'type' => 'GAUGE', + 'name' => 'bigip_system_client_concurrent_connections' + ], + 'sysStatServerCurConns' => [ + 'dataset' => 'ServerCurConns', + 'type' => 'GAUGE', + 'name' => 'bigip_system_server_concurrent_connections' + ], +]; + +$data = snmp_get_multi($device, $oids, '-OQUs'); + +foreach ($metadata as $key => $info) { + $value = $data[0][$key]; + if (is_numeric($value)) { + $rrd_def = RrdDefinition::make()->addDataset($info['dataset'], $info['type'], 0); + $fields = [ + $info['dataset'] => $value, + ]; + $tags = compact('rrd_def'); + data_update($device, $info['name'], $tags, $fields); + $graphs[$info['name']] = true; + } } + + +# SSL TPS +$oids = [ + 'F5-BIGIP-SYSTEM-MIB::sysClientsslStatTotNativeConns.0', + 'F5-BIGIP-SYSTEM-MIB::sysClientsslStatTotCompatConns.0', +]; +$data = snmp_get_multi($device, $oids, '-OQUs'); + +if (is_numeric($data[0]['sysClientsslStatTotNativeConns']) && is_numeric($data[0]['sysClientsslStatTotCompatConns'])) { + $rrd_def = RrdDefinition::make() + ->addDataset('TotNativeConns', 'COUNTER', 0) + ->addDataset('TotCompatConns', 'COUNTER', 0); + $fields = array( + 'TotNativeConns' => $data[0]['sysClientsslStatTotNativeConns'], + 'TotCompatConns' => $data[0]['sysClientsslStatTotCompatConns'], + ); + $tags = compact('rrd_def'); + data_update($device, 'bigip_system_tps', $tags, $fields); + $graphs['bigip_system_tps'] = true; +} + + +unset($data, $oids, $metadata);