From 5c09909be8f9cfbf946cbededd47e3f0b69a9f0c Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Sun, 18 Sep 2011 22:55:29 +0000 Subject: [PATCH] fix more graph types git-svn-id: http://www.observium.org/svn/observer/trunk@2496 61d68cd4-352d-0410-923a-c4978735b2b8 --- html/includes/functions.inc.php | 14 ++-- .../graphs/device/netstat_icmp.inc.php | 73 +++++++---------- .../graphs/device/netstat_icmp_info.inc.php | 81 ++++++------------- .../includes/graphs/device/netstat_ip.inc.php | 66 +++++++-------- .../graphs/device/netstat_snmp.inc.php | 64 ++++++--------- .../graphs/device/netstat_snmp_pkt.inc.php | 40 +++++---- .../graphs/device/netstat_tcp.inc.php | 57 +++++-------- .../graphs/device/netstat_udp.inc.php | 43 +++++----- .../graphs/generic_multi_line.inc.php | 32 +++++--- 9 files changed, 208 insertions(+), 262 deletions(-) diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php index c0ce5c3c3..b24e7f45c 100644 --- a/html/includes/functions.inc.php +++ b/html/includes/functions.inc.php @@ -5,8 +5,6 @@ function rrdtool_graph($graph_file, $options) global $config, $debug; - if($debug) { echo("$options"); } - if ($config['rrdcached']) { $command = $config['rrdtool'] . " --daemon " . $config['rrdcached'] . " -"; @@ -31,8 +29,6 @@ function rrdtool_graph($graph_file, $options) // 1 => readable handle connected to child stdout // Any error output will be appended to /tmp/error-output.txt -# echo (strlen("graph $graph_file $options")); - fwrite($pipes[0], "graph $graph_file $options"); fclose($pipes[0]); fclose($pipes[1]); @@ -40,7 +36,15 @@ function rrdtool_graph($graph_file, $options) // It is important that you close any pipes before calling // proc_close in order to avoid a deadlock $return_value = proc_close($process); -# echo "command returned $return_value\n"; + + if($debug) + { + echo("

"); + if($debug) { echo("graph $graph_file $options"); } + echo("

"); + echo "command returned $return_value\n"; + echo("

"); + } } } diff --git a/html/includes/graphs/device/netstat_icmp.inc.php b/html/includes/graphs/device/netstat_icmp.inc.php index d56c9ea2e..6caa7ac06 100644 --- a/html/includes/graphs/device/netstat_icmp.inc.php +++ b/html/includes/graphs/device/netstat_icmp.inc.php @@ -6,46 +6,35 @@ $device = device_by_id_cache($id); $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netstats-icmp.rrd"; -$rrd_options .= " DEF:icmpInMsgs=$rrd_filename:icmpInMsgs:AVERAGE"; -$rrd_options .= " DEF:icmpOutMsgs=$rrd_filename:icmpOutMsgs:AVERAGE"; -$rrd_options .= " DEF:icmpInErrors=$rrd_filename:icmpInErrors:AVERAGE"; -$rrd_options .= " DEF:icmpOutErrors=$rrd_filename:icmpOutErrors:AVERAGE"; -$rrd_options .= " DEF:icmpInEchos=$rrd_filename:icmpInEchos:AVERAGE"; -$rrd_options .= " DEF:icmpOutEchos=$rrd_filename:icmpOutEchos:AVERAGE"; -$rrd_options .= " DEF:icmpInEchoReps=$rrd_filename:icmpInEchoReps:AVERAGE"; -$rrd_options .= " DEF:icmpOutEchoReps=$rrd_filename:icmpOutEchoReps:AVERAGE"; -$rrd_options .= " COMMENT:Packets/sec\ \ \ \ Current\ \ \ \ Average\ \ \ Maximum\\\\n"; -$rrd_options .= " LINE1.25:icmpInMsgs#00cc00:InMsgs "; -$rrd_options .= " GPRINT:icmpInMsgs:LAST:\ \ \ \ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInMsgs:AVERAGE:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInMsgs:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:icmpOutMsgs#006600:OutMsgs "; -$rrd_options .= " GPRINT:icmpOutMsgs:LAST:\ \ \ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutMsgs:AVERAGE:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutMsgs:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:icmpInErrors#cc0000:InErrors "; -$rrd_options .= " GPRINT:icmpInErrors:LAST:\ \ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInErrors:AVERAGE:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInErrors:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:icmpOutErrors#660000:OutErrors "; -$rrd_options .= " GPRINT:icmpOutErrors:LAST:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutErrors:AVERAGE:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutErrors:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:icmpInEchos#0066cc:InEchos "; -$rrd_options .= " GPRINT:icmpInEchos:LAST:\ \ \ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInEchos:AVERAGE:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInEchos:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:icmpOutEchos#003399:OutEchos "; -$rrd_options .= " GPRINT:icmpOutEchos:LAST:\ \ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutEchos:AVERAGE:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutEchos:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:icmpInEchoReps#cc00cc:InEchoReps "; -$rrd_options .= " GPRINT:icmpInEchoReps:LAST:\ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInEchoReps:AVERAGE:\ \ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpInEchoReps:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:icmpOutEchoReps#990099:OutEchoReps"; -$rrd_options .= " GPRINT:icmpOutEchoReps:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutEchoReps:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:icmpOutEchoReps:MAX:\ %6.2lf%s\\\\n"; +$stats = array('icmpInMsgs' => '00cc00', + 'icmpOutMsgs' => '006600', + 'icmpInErrors' => 'cc0000', + 'icmpOutErrors' => '660000', + 'icmpInEchos' => '0066cc', + 'icmpOutEchos' => '003399', + 'icmpInEchoReps' => 'cc00cc', + 'icmpOutEchoReps' => '990099'); -?> \ No newline at end of file +$i=0; + +foreach($stats as $stat => $colour) +{ + $i++; + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = str_replace("icmp", "", $stat); + $rrd_list[$i]['rra'] = $stat; + if(strpos($stat, "Out") !== FALSE) + { + $rrd_list[$i]['invert'] = TRUE; + } +} + +$colours='mixed'; + +$scale_min = "0"; +$nototal = 1; +$basicrrd = 1; + +include("includes/graphs/generic_multi_line.inc.php"); + +?> diff --git a/html/includes/graphs/device/netstat_icmp_info.inc.php b/html/includes/graphs/device/netstat_icmp_info.inc.php index 2daa34a19..38be4fbbb 100644 --- a/html/includes/graphs/device/netstat_icmp_info.inc.php +++ b/html/includes/graphs/device/netstat_icmp_info.inc.php @@ -6,64 +6,35 @@ $device = device_by_id_cache($id); $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netstats-icmp.rrd"; -$rrd_options .= " DEF:InSrcQuenchs=$rrd_filename:icmpInSrcQuenchs:AVERAGE"; -$rrd_options .= " DEF:OutSrcQuenchs=$rrd_filename:icmpOutSrcQuenchs:AVERAGE"; -$rrd_options .= " DEF:InRedirects=$rrd_filename:icmpInRedirects:AVERAGE"; -$rrd_options .= " DEF:OutRedirects=$rrd_filename:icmpOutRedirects:AVERAGE"; -$rrd_options .= " DEF:InAddrMasks=$rrd_filename:icmpInAddrMasks:AVERAGE"; -$rrd_options .= " DEF:OutAddrMasks=$rrd_filename:icmpOutAddrMasks:AVERAGE"; -$rrd_options .= " DEF:InAddrMaskReps=$rrd_filename:icmpInAddrMaskReps:AVERAGE"; -$rrd_options .= " DEF:OutAddrMaskReps=$rrd_filename:icmpOutAddrMaskReps:AVERAGE"; -$rrd_options .= " DEF:InSrcQuenchs_m=$rrd_filename:icmpInSrcQuenchs:MAX"; -$rrd_options .= " DEF:OutSrcQuenchs_m=$rrd_filename:icmpOutSrcQuenchs:MAX"; -$rrd_options .= " DEF:InRedirects_m=$rrd_filename:icmpInRedirects:MAX"; -$rrd_options .= " DEF:OutRedirects_m=$rrd_filename:icmpOutRedirects:MAX"; -$rrd_options .= " DEF:InAddrMasks_m=$rrd_filename:icmpInAddrMasks:MAX"; -$rrd_options .= " DEF:OutAddrMasks_m=$rrd_filename:icmpOutAddrMasks:MAX"; -$rrd_options .= " DEF:InAddrMaskReps_m=$rrd_filename:icmpInAddrMaskReps:MAX"; -$rrd_options .= " DEF:OutAddrMaskReps_m=$rrd_filename:icmpOutAddrMaskReps:MAX"; +$stats = array('icmpInSrcQuenchs' => array(), + 'icmpOutSrcQuenchs' => array(), + 'icmpInRedirects' => array(), + 'icmpOutRedirects' => array(), + 'icmpInAddrMasks' => array(), + 'icmpOutAddrMasks' => array(), + 'icmpInAddrMaskReps' => array(), + 'icmpOutAddrMaskReps' => array()); -$rrd_options .= " CDEF:OutSrcQuenchs_Inv=OutSrcQuenchs,-1,*"; -$rrd_options .= " CDEF:OutRedirects_Inv=OutRedirects,-1,*"; -$rrd_options .= " CDEF:OutAddrMasks_Inv=OutAddrMasks,-1,*"; -$rrd_options .= " CDEF:OutAddrMaskReps_Inv=OutAddrMaskReps,-1,*"; +$i=0; -$rrd_options .= " COMMENT:Packets/sec\ \ \ \ Current\ \ \ \ Average\ \ \ Maximum\\\\n"; +foreach($stats as $stat => $array) +{ + $i++; + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = str_replace("icmp", "", $stat); + $rrd_list[$i]['rra'] = $stat; + if(strpos($stat, "Out") !== FALSE) + { + $rrd_list[$i]['invert'] = TRUE; + } +} -$rrd_options .= " LINE1.25:InSrcQuenchs#00cc00:'InSrcQuenchs '"; -$rrd_options .= " GPRINT:InSrcQuenchs:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:InSrcQuenchs:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:InSrcQuenchs_m:MAX:%6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:OutSrcQuenchs_Inv#006600:'OutSrcQuenchs '"; -$rrd_options .= " GPRINT:OutSrcQuenchs:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:OutSrcQuenchs:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:OutSrcQuenchs_m:MAX:%6.2lf%s\\\\n"; +$colours='mixed'; -$rrd_options .= " LINE1.25:InRedirects#cc0000:'InRedirects '"; -$rrd_options .= " GPRINT:InRedirects:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:InRedirects:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:InRedirects_m:MAX:'%6.2lf%s\\n'"; -$rrd_options .= " LINE1.25:OutRedirects_Inv#660000:'OutRedirects '"; -$rrd_options .= " GPRINT:OutRedirects:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:OutRedirects:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:OutRedirects_m:MAX:'%6.2lf%s\\n'"; +$scale_min = "0"; +$nototal = 1; +$basicrrd = 1; -$rrd_options .= " LINE1.25:InAddrMasks#0066cc:'InAddrMasks '"; -$rrd_options .= " GPRINT:InAddrMasks:LAST:'%6.2lf%s'"; -$rrd_options .= " GPRINT:InAddrMasks:AVERAGE:'%6.2lf%s'"; -$rrd_options .= " GPRINT:InAddrMasks:MAX:'%6.2lf%s\\n'"; -$rrd_options .= " LINE1.25:OutAddrMasks_Inv#003399:'OutAddrMasks '"; -$rrd_options .= " GPRINT:OutAddrMasks:LAST:'%6.2lf%s'"; -$rrd_options .= " GPRINT:OutAddrMasks:AVERAGE:'%6.2lf%s'"; -$rrd_options .= " GPRINT:OutAddrMasks_m:MAX:'%6.2lf%s\\n'"; +include("includes/graphs/generic_multi_line.inc.php"); -$rrd_options .= " LINE1.25:InAddrMaskReps#cc00cc:'InAddrMaskReps '"; -$rrd_options .= " GPRINT:InAddrMaskReps:LAST:'%6.2lf%s'"; -$rrd_options .= " GPRINT:InAddrMaskReps:AVERAGE:'%6.2lf%s'"; -$rrd_options .= " GPRINT:InAddrMaskReps:MAX:'%6.2lf%s\\n'"; -$rrd_options .= " LINE1.25:OutAddrMaskReps_Inv#990099:'OutAddrMaskReps'"; -$rrd_options .= " GPRINT:OutAddrMaskReps:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:OutAddrMaskReps:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:OutAddrMaskReps_m:MAX:%6.2lf%s\\\\n"; - -?> \ No newline at end of file +?> diff --git a/html/includes/graphs/device/netstat_ip.inc.php b/html/includes/graphs/device/netstat_ip.inc.php index ac45c088e..b3fcf0a6b 100644 --- a/html/includes/graphs/device/netstat_ip.inc.php +++ b/html/includes/graphs/device/netstat_ip.inc.php @@ -5,41 +5,33 @@ $device = device_by_id_cache($id); $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netstats-ip.rrd"; -$rrd_options .= " DEF:ipForwDatagrams=$rrd_filename:ipForwDatagrams:AVERAGE"; -$rrd_options .= " DEF:ipInDelivers=$rrd_filename:ipInDelivers:AVERAGE"; -$rrd_options .= " DEF:ipInReceives=$rrd_filename:ipInReceives:AVERAGE"; -$rrd_options .= " DEF:ipOutRequests=$rrd_filename:ipOutRequests:AVERAGE"; -$rrd_options .= " DEF:ipInDiscards=$rrd_filename:ipInDiscards:AVERAGE"; -$rrd_options .= " DEF:ipOutDiscards=$rrd_filename:ipOutDiscards:AVERAGE"; -$rrd_options .= " DEF:ipOutNoRoutes=$rrd_filename:ipInDiscards:AVERAGE"; -$rrd_options .= " COMMENT:Packets/sec\ \ \ \ Current\ \ \ Average\ \ \ Maximum\\\\n"; -$rrd_options .= " LINE1.25:ipForwDatagrams#cc0000:ForwDgrams\ "; -$rrd_options .= " GPRINT:ipForwDatagrams:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:ipForwDatagrams:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:ipForwDatagrams:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:ipInDelivers#00cc00:InDelivers\ "; -$rrd_options .= " GPRINT:ipInDelivers:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:ipInDelivers:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:ipInDelivers:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:ipInReceives#006600:InReceives\ "; -$rrd_options .= " GPRINT:ipInReceives:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:ipInReceives:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:ipInReceives:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:ipOutRequests#0000cc:OutRequests"; -$rrd_options .= " GPRINT:ipOutRequests:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:ipOutRequests:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:ipOutRequests:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:ipInDiscards#cccc00:InDiscards\ "; -$rrd_options .= " GPRINT:ipInDiscards:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:ipInDiscards:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:ipInDiscards:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:ipOutDiscards#330033:OutDiscards"; -$rrd_options .= " GPRINT:ipOutDiscards:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:ipOutDiscards:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:ipOutDiscards:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:ipOutNoRoutes#660000:OutNoRoutes"; -$rrd_options .= " GPRINT:ipOutNoRoutes:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:ipOutNoRoutes:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:ipOutNoRoutes:MAX:\ %6.2lf%s\\\\n"; +$stats = array('ipForwDatagrams' => array(), + 'ipInDelivers' => array(), + 'ipInReceives' => array(), + 'ipOutRequests' => array(), + 'ipInDiscards' => array(), + 'ipOutDiscards' => array(), + 'ipOutNoRoutes' => array()); -?> \ No newline at end of file +$i=0; +foreach($stats as $stat => $array) +{ + $i++; + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = str_replace("ip", "", $stat); + $rrd_list[$i]['rra'] = $stat; + if(strpos($stat, "Out") !== FALSE) + { + $rrd_list[$i]['invert'] = TRUE; + } +} + +$colours='mixed'; + +$scale_min = "0"; +$nototal = 1; +$basicrrd = 1; + +include("includes/graphs/generic_multi_line.inc.php"); + +?> diff --git a/html/includes/graphs/device/netstat_snmp.inc.php b/html/includes/graphs/device/netstat_snmp.inc.php index ea8d4005c..9c70ecf07 100644 --- a/html/includes/graphs/device/netstat_snmp.inc.php +++ b/html/includes/graphs/device/netstat_snmp.inc.php @@ -6,44 +6,32 @@ $device = device_by_id_cache($id); $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netstats-snmp.rrd"; -$rrd_options .= " DEF:snmpInTraps=$rrd_filename:snmpInTraps:AVERAGE"; -$rrd_options .= " DEF:snmpOutTraps=$rrd_filename:snmpOutTraps:AVERAGE"; -$rrd_options .= " DEF:snmpInTotalReqVars=$rrd_filename:snmpInTotalReqVars:AVERAGE"; -$rrd_options .= " DEF:snmpInTotalSetVars=$rrd_filename:snmpInTotalSetVars:AVERAGE"; -$rrd_options .= " DEF:snmpOutGetResponses=$rrd_filename:snmpOutGetResponses:AVERAGE"; -$rrd_options .= " DEF:snmpOutSetRequests=$rrd_filename:snmpOutSetRequests:AVERAGE"; +$stats = array('snmpInTraps', + 'snmpOutTraps', + 'snmpInTotalReqVars', + 'snmpInTotalSetVars', + 'snmpOutGetResponses', + 'snmpOutSetRequests'); -$rrd_options .= " DEF:snmpInTraps_max=$rrd_filename:snmpInTraps:MAX"; -$rrd_options .= " DEF:snmpOutTraps_max=$rrd_filename:snmpOutTraps:MAX"; -$rrd_options .= " DEF:snmpInTotalReqVars_max=$rrd_filename:snmpInTotalReqVars:MAX"; -$rrd_options .= " DEF:snmpInTotalSetVars_max=$rrd_filename:snmpInTotalSetVars:MAX"; -$rrd_options .= " DEF:snmpOutGetResponses_max=$rrd_filename:snmpOutGetResponses:MAX"; -$rrd_options .= " DEF:snmpOutSetRequests_max=$rrd_filename:snmpOutSetRequests:MAX"; +$i=0; +foreach($stats as $stat) +{ + $i++; + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = str_replace("snmp", "", $stat); + $rrd_list[$i]['rra'] = $stat; + if(strpos($stat, "Out") !== FALSE) + { + $rrd_list[$i]['invert'] = TRUE; + } +} -$rrd_options .= " COMMENT:Packets/sec\ \ \ \ \ \ \ \ Current\ \ Average\ \ Maximum\\\\n"; -$rrd_options .= " LINE1.25:snmpInTraps#00cc00:InTraps "; -$rrd_options .= " GPRINT:snmpInTraps:LAST:\ \ \ \ \ \ \ \ %6.2lf%s"; -$rrd_options .= " GPRINT:snmpInTraps:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpInTraps_max:MAX:%6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:snmpOutTraps#006600:OutTraps "; -$rrd_options .= " GPRINT:snmpOutTraps:LAST:\ \ \ \ \ \ \ %6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutTraps:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutTraps_max:MAX:%6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:snmpInTotalReqVars#cc0000:InTotalReqVars "; -$rrd_options .= " GPRINT:snmpInTotalReqVars:LAST:\ %6.2lf%s"; -$rrd_options .= " GPRINT:snmpInTotalReqVars:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpInTotalReqVars_max:MAX:%6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:snmpInTotalSetVars#660000:InTotalSetVars "; -$rrd_options .= " GPRINT:snmpInTotalSetVars:LAST:\ %6.2lf%s"; -$rrd_options .= " GPRINT:snmpInTotalSetVars:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpInTotalSetVars_max:MAX:%6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:snmpOutGetResponses#0066cc:OutGetResponses "; -$rrd_options .= " GPRINT:snmpOutGetResponses:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutGetResponses:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutGetResponses_max:MAX:%6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:snmpOutSetRequests#003399:OutSetResponses "; -$rrd_options .= " GPRINT:snmpOutSetRequests:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutSetRequests:AVERAGE:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutSetRequests_max:MAX:%6.2lf%s\\\\n"; +$colours='mixed'; -?> \ No newline at end of file +$scale_min = "0"; +$nototal = 1; +$basicrrd = 1; + +include("includes/graphs/generic_multi_line.inc.php"); + +?> diff --git a/html/includes/graphs/device/netstat_snmp_pkt.inc.php b/html/includes/graphs/device/netstat_snmp_pkt.inc.php index 8bd91dc9a..46d084790 100644 --- a/html/includes/graphs/device/netstat_snmp_pkt.inc.php +++ b/html/includes/graphs/device/netstat_snmp_pkt.inc.php @@ -5,21 +5,27 @@ $device = device_by_id_cache($id); $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netstats-snmp.rrd"; -$rrd_options .= " DEF:snmpInPkts=$rrd_filename:snmpInPkts:AVERAGE"; -$rrd_options .= " DEF:snmpInPkts_max=$rrd_filename:snmpInPkts:MAX"; -$rrd_options .= " DEF:snmpOutPkts=$rrd_filename:snmpOutPkts:AVERAGE"; -$rrd_options .= " DEF:snmpOutPkts_max=$rrd_filename:snmpOutPkts:MAX"; -$rrd_options .= " CDEF:snmpOutPkts_max_neg=snmpOutPkts_max,-1,*"; -$rrd_options .= " CDEF:snmpOutPkts_neg=snmpOutPkts,-1,*"; -$rrd_options .= " COMMENT:Packets/sec\ \ \ \ Current\ \ \ \ Average\ \ \ Maximum\\\\n"; -$rrd_options .= " LINE1.25:snmpInPkts#009900:snmpInPkts\ \ "; -$rrd_options .= " GPRINT:snmpInPkts:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpInPkts:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:snmpInPkts_max:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:snmpOutPkts_neg#003399:snmpOutPkts\ "; -#$rrd_options .= " AREA:snmpOutPkts_max_neg#4466AA::"; -$rrd_options .= " GPRINT:snmpOutPkts:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutPkts:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:snmpOutPkts_max:MAX:\ %6.2lf%s\\\\n"; +$stats = array('snmpInPkts', + 'snmpOutPkts'); -?> \ No newline at end of file +$i=0; +foreach($stats as $stat) +{ + $i++; + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = str_replace("snmp", "", $stat); + $rrd_list[$i]['rra'] = $stat; + if(strpos($stat, "Out") !== FALSE) + { + $rrd_list[$i]['invert'] = TRUE; + } +} + +$colours='mixed'; + +$nototal = 1; +$basicrrd = 1; + +include("includes/graphs/generic_multi_line.inc.php"); + +?> diff --git a/html/includes/graphs/device/netstat_tcp.inc.php b/html/includes/graphs/device/netstat_tcp.inc.php index 0a617afaf..7ef50e642 100644 --- a/html/includes/graphs/device/netstat_tcp.inc.php +++ b/html/includes/graphs/device/netstat_tcp.inc.php @@ -5,41 +5,26 @@ $device = device_by_id_cache($id); $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netstats-tcp.rrd"; -$rrd_options .= " DEF:tcpActiveOpens=$rrd_filename:tcpActiveOpens:AVERAGE"; -$rrd_options .= " DEF:tcpPassiveOpens=$rrd_filename:tcpPassiveOpens:AVERAGE"; -$rrd_options .= " DEF:tcpAttemptFails=$rrd_filename:tcpAttemptFails:AVERAGE"; -$rrd_options .= " DEF:tcpEstabResets=$rrd_filename:tcpEstabResets:AVERAGE"; -$rrd_options .= " DEF:tcpInSegs=$rrd_filename:tcpInSegs:AVERAGE"; -$rrd_options .= " DEF:tcpOutSegs=$rrd_filename:tcpOutSegs:AVERAGE"; -$rrd_options .= " DEF:tcpRetransSegs=$rrd_filename:tcpRetransSegs:AVERAGE"; -$rrd_options .= " COMMENT:Packets/sec\ \ \ \ Current\ \ \ \ Average\ \ \ Maximum\\\\n"; -$rrd_options .= " LINE1.25:tcpActiveOpens#00cc00:ActiveOpens\ "; -$rrd_options .= " GPRINT:tcpActiveOpens:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:tcpActiveOpens:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:tcpActiveOpens:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:tcpPassiveOpens#006600:PassiveOpens"; -$rrd_options .= " GPRINT:tcpPassiveOpens:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:tcpPassiveOpens:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:tcpPassiveOpens:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:tcpAttemptFails#cc0000:AttemptFails"; -$rrd_options .= " GPRINT:tcpAttemptFails:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:tcpAttemptFails:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:tcpAttemptFails:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:tcpEstabResets#660000:EstabResets\ "; -$rrd_options .= " GPRINT:tcpEstabResets:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:tcpEstabResets:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:tcpEstabResets:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:tcpInSegs#0066cc:InSegs\ \ \ \ \ \ "; -$rrd_options .= " GPRINT:tcpInSegs:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:tcpInSegs:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:tcpInSegs:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:tcpOutSegs#003399:OutSegs\ \ \ \ \ "; -$rrd_options .= " GPRINT:tcpOutSegs:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:tcpOutSegs:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:tcpOutSegs:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:tcpRetransSegs#cc00cc:RetransSegs\ "; -$rrd_options .= " GPRINT:tcpRetransSegs:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:tcpRetransSegs:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:tcpRetransSegs:MAX:\ %6.2lf%s\\\\n"; +$stats = array('tcpInSegs','tcpOutSegs','tcpActiveOpens','tcpPassiveOpens','tcpAttemptFails','tcpEstabResets','tcpRetransSegs'); + +$i=0; +foreach($stats as $stat) +{ + $i++; + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = str_replace("tcp", "", $stat); + $rrd_list[$i]['rra'] = $stat; + if(strpos($stat, "Out") !== FALSE || strpos($stat, "Retrans") !== FALSE || strpos($stat, "Attempt") !== FALSE) + { + $rrd_list[$i]['invert'] = TRUE; + } +} + +$colours='mixed'; + +$nototal = 1; +$basicrrd = 1; + +include("includes/graphs/generic_multi_line.inc.php"); ?> diff --git a/html/includes/graphs/device/netstat_udp.inc.php b/html/includes/graphs/device/netstat_udp.inc.php index 47eacca45..016e110e2 100644 --- a/html/includes/graphs/device/netstat_udp.inc.php +++ b/html/includes/graphs/device/netstat_udp.inc.php @@ -5,27 +5,26 @@ $device = device_by_id_cache($id); $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/netstats-udp.rrd"; -$rrd_options .= " DEF:udpInDatagrams=$rrd_filename:udpInDatagrams:AVERAGE"; -$rrd_options .= " DEF:udpOutDatagrams=$rrd_filename:udpOutDatagrams:AVERAGE"; -$rrd_options .= " DEF:udpInErrors=$rrd_filename:udpInErrors:AVERAGE"; -$rrd_options .= " DEF:udpNoPorts=$rrd_filename:udpNoPorts:AVERAGE"; -$rrd_options .= " COMMENT:Packets/sec\ \ \ \ Current\ \ \ \ Average\ \ \ Maximum\\\\n"; -$rrd_options .= " LINE1.25:udpInDatagrams#00cc00:InDatagrams\ "; -$rrd_options .= " GPRINT:udpInDatagrams:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:udpInDatagrams:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:udpInDatagrams:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:udpOutDatagrams#006600:OutDatagrams"; -$rrd_options .= " GPRINT:udpOutDatagrams:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:udpOutDatagrams:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:udpOutDatagrams:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:udpInErrors#cc0000:InErrors\ \ \ \ "; -$rrd_options .= " GPRINT:udpInErrors:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:udpInErrors:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:udpInErrors:MAX:\ %6.2lf%s\\\\n"; -$rrd_options .= " LINE1.25:udpNoPorts#660000:NoPorts\ \ \ \ \ "; -$rrd_options .= " GPRINT:udpNoPorts:LAST:%6.2lf%s"; -$rrd_options .= " GPRINT:udpNoPorts:AVERAGE:\ %6.2lf%s"; -$rrd_options .= " GPRINT:udpNoPorts:MAX:\ %6.2lf%s\\\\n"; +$stats = array('udpInDatagrams','udpOutDatagrams','udpInErrors','udpNoPorts'); +$i=0; +foreach($stats as $stat) +{ + $i++; + $rrd_list[$i]['filename'] = $rrd_filename; + $rrd_list[$i]['descr'] = str_replace("udp", "", $stat); + $rrd_list[$i]['rra'] = $stat; + if(strpos($stat, "Out") !== FALSE || strpos($stat, "Retrans") !== FALSE || strpos($stat, "Attempt") !== FALSE) + { + $rrd_list[$i]['invert'] = TRUE; + } +} -?> \ No newline at end of file +$colours='mixed'; + +$nototal = 1; +$basicrrd = 1; + +include("includes/graphs/generic_multi_line.inc.php"); + +?> diff --git a/html/includes/graphs/generic_multi_line.inc.php b/html/includes/graphs/generic_multi_line.inc.php index 2b255ecda..1a8758b04 100644 --- a/html/includes/graphs/generic_multi_line.inc.php +++ b/html/includes/graphs/generic_multi_line.inc.php @@ -23,24 +23,36 @@ foreach ($rrd_list as $rrd) $descr = substr(str_pad($descr, 10),0,10); $descr = str_replace(":", "\:", $descr); - $id = $rra."_".$i; + $id = "ds".$i; $rrd_options .= " DEF:".$id."=$filename:$rra:AVERAGE"; - $rrd_options .= " DEF:".$id."min=$filename:$rra:MIN"; - $rrd_options .= " DEF:".$id."max=$filename:$rra:MAX"; - if ($rrd['invert'] == "1") + if(!$basicrrd) { - $rrd_options .= " CDEF:".$id."graph=".$id.",-1,*"; - $rrd_options .= " LINE1.25:".$id."graph#".$colour.":'$descr'"; + $rrd_options .= " DEF:".$id."min=$filename:$rra:MIN"; + $rrd_options .= " DEF:".$id."max=$filename:$rra:MAX"; + } + + if ($rrd['invert']) + { + $rrd_options .= " CDEF:".$id."i=".$id.",-1,*"; + $rrd_options .= " LINE1.25:".$id."i#".$colour.":'$descr'"; } else { $rrd_options .= " LINE1.25:".$id."#".$colour.":'$descr'"; } - $rrd_options .= " GPRINT:".$id.":LAST:%5.2lf%s GPRINT:".$id."min:MIN:%5.2lf%s"; - $rrd_options .= " GPRINT:".$id."max:MAX:%5.2lf%s GPRINT:".$id.":AVERAGE:%5.2lf%s\\\\n"; - + if(!$basicrrd) + { + $rrd_options .= " GPRINT:".$id.":LAST:%5.2lf%s GPRINT:".$id."min:MIN:%5.2lf%s"; + $rrd_options .= " GPRINT:".$id."max:MAX:%5.2lf%s GPRINT:".$id.":AVERAGE:'%5.2lf%s\\n'"; + } else { + $rrd_options .= " GPRINT:".$id.":LAST:%5.2lf%s GPRINT:".$id.":MIN:%5.2lf%s"; + $rrd_options .= " GPRINT:".$id.":MAX:%5.2lf%s GPRINT:".$id.":AVERAGE:'%5.2lf%s\\n'"; + } $i++; $iter++; + } -?> \ No newline at end of file +$rrd_options .= " HRULE:0#999999"; + +?>