diff options
Diffstat (limited to 'qa/pconf/network')
-rw-r--r-- | qa/pconf/network/GNUmakefile | 16 | ||||
-rw-r--r-- | qa/pconf/network/interface_bytes | 52 | ||||
-rw-r--r-- | qa/pconf/network/interface_packets | 53 | ||||
-rw-r--r-- | qa/pconf/network/tcp_dropped_conns | 42 | ||||
-rw-r--r-- | qa/pconf/network/tcp_retransmit | 39 |
5 files changed, 202 insertions, 0 deletions
diff --git a/qa/pconf/network/GNUmakefile b/qa/pconf/network/GNUmakefile new file mode 100644 index 0000000..73b87b6 --- /dev/null +++ b/qa/pconf/network/GNUmakefile @@ -0,0 +1,16 @@ +#!gmake + +TOPDIR = ../../.. +include $(TOPDIR)/src/include/builddefs + +TESTDIR = $(PCP_VAR_DIR)/testsuite/pconf/network +CONFIGS = interface_bytes interface_packets tcp_dropped_conns tcp_retransmit +LSRCFILES = $(CONFIGS) + +default default_pcp setup: + +install install_pcp: + $(INSTALL) -m 755 -d $(TESTDIR) + $(INSTALL) -m 644 $(CONFIGS) $(TESTDIR) + +include $(BUILDRULES) diff --git a/qa/pconf/network/interface_bytes b/qa/pconf/network/interface_bytes new file mode 100644 index 0000000..5f75885 --- /dev/null +++ b/qa/pconf/network/interface_bytes @@ -0,0 +1,52 @@ +#pmieconf-rules 1 +# + +rule network.interface_bytes + default = "$rule$" + predicate = +"some_host ( + some_inst ( + network.interface.total.bytes $hosts$ $interfaces$ > + $threshold$ Kbytes/sec + ) +)" + enabled = no + version = 1 + help = +"For at least one network interface, the average transfer rate (in +and/or out) exceeded the threshold during the last sample interval."; + +string rule + default = "busy network interface (bytes)" + modify = no + display = no; + +double threshold + default = 500 + help = +"Threshold in units of Kbytes (in or out) per second per interface. +A tolerable value depends on the type of network interface and +the packet size; some experimentation may be required to find an +accpetable threshold."; + +string interfaces + default = "" + help = +"May be set to a list of network interfaces for which the rule will +be evaluated, as a subset of configured network interfaces. Each +network interface should be enclosed in single quotes, prefixed by a +pound or hash (#) and multiple entries separated by white space, +e.g. #'ec0' #'ec2' +To discover the names of the network interfaces, execute the +following command on the target host: + pminfo -f network.interface.total.bytes +the (double) quoted instance names are the required network interface +names. +This is most useful to remove the loopback, SLIP and PPP interfaces +from the rule evaluations."; + +string action_expand + default = "%v:%i@%h" + display = no + modify = no; + diff --git a/qa/pconf/network/interface_packets b/qa/pconf/network/interface_packets new file mode 100644 index 0000000..b98198d --- /dev/null +++ b/qa/pconf/network/interface_packets @@ -0,0 +1,53 @@ +#pmieconf-rules 1 +# + +rule network.interface_packets + default = "$rule$" + predicate = +"some_host ( + some_inst ( + network.interface.total.packets $hosts$ $interfaces$ > + $threshold$ count/sec + ) +)" + enabled = no + version = 1 + help = +"For at least one network interface, the average rate of packet +transfers (in and/or out) exceeded the threshold during the last +sample interval."; + +string rule + default = "busy network interface (packets)" + modify = no + display = no; + +double threshold + default = 2000 + help = +"Threshold in units of packets (in or out) per second per interface. +A tolerable value depends on the type of network interface and +the packet size; some experimentation may be required to find +an accpetable threshold."; + +string interfaces + default ="" + help = +"May be set to a list of network interfaces for which the rule will +be evaluated, as a subset of configured network interfaces. Each +network interface should be enclosed in single quotes, prefixed by a +pound or hash (#) and multiple entries separated by white space, +e.g. #'ec0' #'ec2' +To discover the names of the network interfaces, execute the +following command on the target host: + pminfo -f network.interface.total.packets +the (double) quoted instance names are the required network interface +names. +This is most useful to remove the loopback, SLIP and PPP interfaces +from the rule evaluations."; + +string action_expand + default = "%v:%i@%h" + display = no + modify = no; + diff --git a/qa/pconf/network/tcp_dropped_conns b/qa/pconf/network/tcp_dropped_conns new file mode 100644 index 0000000..4b03184 --- /dev/null +++ b/qa/pconf/network/tcp_dropped_conns @@ -0,0 +1,42 @@ +#pmieconf-rules 1 +# + +rule network.tcp_dropped_conns + default = "$rule$" + predicate = +"some_host ( + ( 100 * ( network.tcp.drops $hosts$ + + network.tcp.conndrops $hosts$ + + network.tcp.timeoutdrop $hosts$ ) / + network.tcp.connects $hosts$ ) > $threshold$ && + network.tcp.connects $hosts$ > 20 count/minute +)" + enabled = no + version = 1 + help = +"There is some TCP connection activity (at least 20 connections +per minute) and the average ratio of TCP dropped connections to +successful connections exceeds threshold percent during the last +sample interval. +High drop rates indicate either network congestion (check the packet +retransmission rate) or an application like a Web browser that is +prone to terminating TCP connections prematurely, perhaps due to +sluggish response or user impatience."; + +string rule + default = "high number of dropped TCP connections" + modify = no + display = no; + +percent threshold + default = 20 + help = +"Maximum acceptable percentage of dropped TCP connections per new +TCP connection, in the range 0 (not expecting any connections to be +dropped) to 100 (expect most connections to be dropped)."; + +string action_expand + default = "%v%@%h" + display = no + modify = no; + diff --git a/qa/pconf/network/tcp_retransmit b/qa/pconf/network/tcp_retransmit new file mode 100644 index 0000000..0c14119 --- /dev/null +++ b/qa/pconf/network/tcp_retransmit @@ -0,0 +1,39 @@ +#pmieconf-rules 1 +# + +rule network.tcp_retransmit + default = "$rule$" + predicate = +"some_host ( + ( 100 * ( network.tcp.sndrexmitpack $hosts$ + + network.tcp.rexmttimeo $hosts$ ) / + network.tcp.sndpack $hosts$ ) > $threshold$ && + network.tcp.sndpack $hosts$ > 100 count/second +)" + enabled = no + version = 1 + help = +"There is some network output activity (at least 100 TCP packets per +second) and the average ratio of retransmitted TCP packets to output +TCP packets exceeds threshold percent during the last sample +interval. +High retransmission rates are suggestive of network congestion, or +long latency between the end-points of the TCP connections."; + +string rule + default = "high number of TCP packet retransmissions" + modify = no + display = no; + +percent threshold + default = 20 + help = +"Maximum acceptable percentage of retransmiited TCP packets per TCP +output packet, in the range 0 (not expecting any retransmission) to +100 (chronic saturation on the network)."; + +string action_expand + default = "%v%@%h" + display = no + modify = no; + |