summaryrefslogtreecommitdiff
path: root/src/pmieconf/filesys
diff options
context:
space:
mode:
Diffstat (limited to 'src/pmieconf/filesys')
-rw-r--r--src/pmieconf/filesys/buffer_cache80
-rw-r--r--src/pmieconf/filesys/dnlc_miss72
-rw-r--r--src/pmieconf/filesys/filling99
-rw-r--r--src/pmieconf/filesys/localdefs51
4 files changed, 302 insertions, 0 deletions
diff --git a/src/pmieconf/filesys/buffer_cache b/src/pmieconf/filesys/buffer_cache
new file mode 100644
index 0000000..47878b4
--- /dev/null
+++ b/src/pmieconf/filesys/buffer_cache
@@ -0,0 +1,80 @@
+#pmieconf-rules 1
+# --- DO NOT MODIFY THIS FILE --- see pmieconf(4)
+#
+
+rule filesys.buffer_cache
+ summary = "$rule$"
+ predicate =
+"some_host (
+ 100 * ( kernel.all.io.lread $hosts$ -
+ kernel.all.io.bread $hosts$
+ / kernel.all.io.lread $hosts$ ) < $threshold$
+ && kernel.all.io.lread $hosts$ > $min_lread$ Kbytes/sec
+)"
+ enabled = yes
+ version = 1
+ help =
+"Some filesystem read activity (at least min_lread Kbytes per
+second of logical reads), and the read hit ratio in the buffer
+cache is below threshold percent.
+Note: It is possible for the read hit ratio to be negative
+(more phsical reads than logical reads) - this can be as a
+result of:
+ o XLV striped volumes, where blocks span stripe boundaries;
+ o very large files, where the disk controller has to read
+ blocks indirectly (multiple block reads to find a single
+ data block result);
+ o file system read-ahead pre-fetching blocks which are not
+ subsequently read.";
+
+string rule
+ default = "Low buffer cache read hit ratio"
+ modify = no
+ display = no;
+
+percent threshold
+ default = 50
+ help =
+"The minimum acceptable buffer cache read hit ratio, expressed as a
+percentage. Values may be in the range 0 (nothing is read from the
+cache and poor performance is expected) to 100 (all reads come from
+the cache, no disk I/O required and good performance expected).";
+
+double min_lread
+ default = 512
+ help =
+"Unless at least min_lread Kbytes per second are passing across the
+logical filesystem read interface the rule will not be true.";
+
+string action_expand
+ default = %v%rcach@%h
+ display = no
+ modify = no;
+
+string email_expand
+ default = "host: %h buffer cache read hit ratio: %v%"
+ display = no
+ modify = no;
+
+
+# Configuration info specific to non-PCP tools follows...
+#
+
+# for SGI Embedded Support Partner integration:
+string esp_type
+ default = "0x200049"
+ display = no
+ modify = no;
+
+# for EnlightenDSM integration:
+string enln_test
+ default = filesys.buffer_cache
+ display = no
+ modify = no;
+string enln_units
+ default = %rcach
+ display = no
+ modify = no;
+
+#
+# --- DO NOT MODIFY THIS FILE --- see pmieconf(4)
diff --git a/src/pmieconf/filesys/dnlc_miss b/src/pmieconf/filesys/dnlc_miss
new file mode 100644
index 0000000..59264de
--- /dev/null
+++ b/src/pmieconf/filesys/dnlc_miss
@@ -0,0 +1,72 @@
+#pmieconf-rules 1
+# --- DO NOT MODIFY THIS FILE --- see pmieconf(4)
+#
+
+rule filesys.dnlc_miss
+ default = "$rule$"
+ predicate =
+"some_host (
+ 100 * ( name_cache.misses $hosts$ +
+ name_cache.enters $hosts$ +
+ name_cache.removes $hosts$ )
+ / name_cache.searches $hosts$ > $threshold$
+ && name_cache.searches $hosts$
+ > $min_lookup$ count/sec
+)"
+ enabled = no
+ version = 1
+ help =
+"With at least min_lookup directory name cache (DNLC) lookups per
+second being performed, threshold percent of lookups result in
+cache misses.";
+
+string rule
+ default = "High directory name cache miss rate"
+ modify = no
+ display = no;
+
+percent threshold
+ default = 90
+ help =
+"Threshold percent of total directory name cache lookups are resulting
+in cache misses, in the range 0 (all accesses are satisified in the
+cache) to 100 (no accesses are satisifed in the cache).";
+
+double min_lookup
+ default = 100
+ help =
+"Minimum number of name cache lookups per second before considering
+whether these lookups are stressing the cache or not.";
+
+string action_expand
+ default = "%v%miss@%h"
+ display = no
+ modify = no;
+
+string email_expand
+ default = "host: %h name cache misses: %v%"
+ display = no
+ modify = no;
+
+
+# Configuration info specific to non-PCP tools follows...
+#
+
+# for SGI Embedded Support Partner integration:
+string esp_type
+ default = "0x200040"
+ display = no
+ modify = no;
+
+# for EnlightenDSM integration:
+string enln_test
+ default = filesys.dnlc_miss
+ display = no
+ modify = no;
+string enln_units
+ default = %miss
+ display = no
+ modify = no;
+
+#
+# --- DO NOT MODIFY THIS FILE --- see pmieconf(4)
diff --git a/src/pmieconf/filesys/filling b/src/pmieconf/filesys/filling
new file mode 100644
index 0000000..b54b308
--- /dev/null
+++ b/src/pmieconf/filesys/filling
@@ -0,0 +1,99 @@
+#pmieconf-rules 1
+# --- DO NOT MODIFY THIS FILE --- see pmieconf(4)
+#
+
+rule filesys.filling
+ summary = "$rule$"
+ enumerate = hosts
+ predicate =
+"some_host (
+ some_inst (
+ ( 100 * filesys.used $hosts$ / filesys.capacity $hosts$ ) > $threshold$
+ && filesys.used $hosts$ +
+ $lead_time$ * ( rate filesys.used $hosts$ ) >
+ filesys.capacity $hosts$
+ )
+)"
+ enabled = yes
+ version = 1
+ help =
+"Filesystem is at least threshold percent full and the used space
+is growing at a rate that would see the filesystem full within
+lead_time.";
+
+string rule
+ default = "File system is filling up"
+ modify = no
+ display = no;
+
+percent threshold
+ default = 95
+ help =
+"The threshold of filesystem fullness expressed as a percentage,
+usually in the range 90 to 99.";
+
+string lead_time
+ default = "20 min"
+ help =
+"The rule is true if the filesystem would be full within this time
+given the recent rate of growth. Normally requires a scale such as
+\"sec\", \"min\" or \"hr\", otherwise the value is interpreted as
+meaning seconds.";
+
+string delta
+ default = "4 mins"
+ help =
+"Sample interval between evaluations of this rule. The calculation
+of the projected rate of growth is sensitive to variations in the
+observed fullness of the filesystem. Adjust this parameter to be
+smaller if the filesystems' fullness are very stable and you want
+earlier warning of impending filling. Else make the parameter
+larger to avoid false warnings if the filesystems are close to full
+in the normal state and subject to bursts of file creation and
+deletion.";
+
+string action_expand
+ default = %v%used[%i]@%h
+ display = no
+ modify = no;
+
+string email_expand
+ default = "host: %h filesystem: %i used: %v%"
+ display = no
+ modify = no;
+
+
+# Configuration info specific to non-PCP tools follows...
+#
+
+# for SGI Embedded Support Partner integration:
+string esp_type
+ default = "0x20004A"
+ display = no
+ modify = no;
+
+# for HP OpenView integration:
+string ov_severity
+ display = no
+ default = "Critical";
+
+# for CA/Unicenter TNG integration:
+string tngfw_color
+ display = no
+ default = "Red";
+
+# for EnlightenDSM integration:
+string enln_test
+ default = filesys.filling
+ display = no
+ modify = no;
+string enln_units
+ default = %used[%i]
+ display = no
+ modify = no;
+unsigned enln_severity
+ display = no
+ default = 5;
+
+#
+# --- DO NOT MODIFY THIS FILE --- see pmieconf(4)
diff --git a/src/pmieconf/filesys/localdefs b/src/pmieconf/filesys/localdefs
new file mode 100644
index 0000000..3945214
--- /dev/null
+++ b/src/pmieconf/filesys/localdefs
@@ -0,0 +1,51 @@
+ALL_RULES = buffer_cache dnlc_miss filling
+
+LOCAL_RULES = $(ALL_RULES)
+
+# Metrics missing from Linux
+#
+# rule: buffer_cache
+# kernel.all.io.bread -12357 Unknown metric name
+# kernel.all.io.lread -12357 Unknown metric name
+#
+# rule: dnlc_miss
+# name_cache.enters -12357 Unknown metric name
+# name_cache.misses -12357 Unknown metric name
+# name_cache.removes -12357 Unknown metric name
+# name_cache.searches -12357 Unknown metric name
+#
+ifeq ($(TARGET_OS), linux)
+LOCAL_RULES = filling
+endif
+
+# Metrics missing from Mac OS X
+#
+# rule: buffer_cache
+# kernel.all.io.bread -12357 Unknown metric name
+# kernel.all.io.lread -12357 Unknown metric name
+#
+# rule: dnlc_miss
+# name_cache.enters -12357 Unknown metric name
+# name_cache.misses -12357 Unknown metric name
+# name_cache.removes -12357 Unknown metric name
+# name_cache.searches -12357 Unknown metric name
+#
+ifeq ($(TARGET_OS), darwin)
+LOCAL_RULES = filling
+endif
+
+# Metrics missing from Solaris
+#
+# rule: dnlc_miss
+# name_cache.enters -12357 Unknown metric name
+# name_cache.misses -12357 Unknown metric name
+# name_cache.removes -12357 Unknown metric name
+# name_cache.searches -12357 Unknown metric name
+#
+# rule: filling
+# filesys.capacity -12357 Unknown metric name
+# filesys.used -12357 Unknown metric name
+#
+ifeq ($(TARGET_OS), solaris)
+LOCAL_RULES = buffer_cache
+endif