summaryrefslogtreecommitdiff
path: root/qa/pconf/network
diff options
context:
space:
mode:
Diffstat (limited to 'qa/pconf/network')
-rw-r--r--qa/pconf/network/GNUmakefile16
-rw-r--r--qa/pconf/network/interface_bytes52
-rw-r--r--qa/pconf/network/interface_packets53
-rw-r--r--qa/pconf/network/tcp_dropped_conns42
-rw-r--r--qa/pconf/network/tcp_retransmit39
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;
+