diff options
Diffstat (limited to 'src/pmieconf/filesys')
-rw-r--r-- | src/pmieconf/filesys/buffer_cache | 80 | ||||
-rw-r--r-- | src/pmieconf/filesys/dnlc_miss | 72 | ||||
-rw-r--r-- | src/pmieconf/filesys/filling | 99 | ||||
-rw-r--r-- | src/pmieconf/filesys/localdefs | 51 |
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 |