Skip to content

Commit

Permalink
improved ext2, ext3, ext4 filesystems search
Browse files Browse the repository at this point in the history
  • Loading branch information
rantal authored and sumpfralle committed Sep 5, 2019
1 parent 4e7c45f commit 3cd15a8
Showing 1 changed file with 28 additions and 26 deletions.
54 changes: 28 additions & 26 deletions plugins/disk/e2
Expand Up @@ -46,11 +46,10 @@ print_details() {
}

lse2() {
for name in {h,s}d{a..z}{1..16}; do
if [ -b /dev/$name ]; then
LANG=C dumpe2fs /dev/$name 2>/dev/null | print_details "$name"
fi
done
while read -r line ; do
value=( $line );
LANG=C dumpe2fs -h "${value[1]}" 2>/dev/null | print_details "${value[0]}"
done <<< "$(lsblk -o NAME,PATH,FSTYPE -r | grep ext[2-4] | uniq )"
}


Expand Down Expand Up @@ -78,6 +77,7 @@ plugin=${self%%_*}
if [ -n "${self//[!_]/}" ]; then
blkdev=${self#*_}
blkdevAppend=" ($blkdev)"
blkdevpath=$(lsblk -o PATH,NAME -r | grep "$blkdev" | uniq | cut -d' ' -f1)
else
blkdev=
blkdevAppend=
Expand Down Expand Up @@ -108,30 +108,31 @@ if [ "$1" = "config" ]; then
if [ -z "$blkdev" ]; then
lse2
else
LANG=C dumpe2fs /dev/$blkdev 2>/dev/null | print_details "$blkdev"
LANG=C dumpe2fs -h "$blkdevpath" 2>/dev/null | print_details "$blkdev"
fi | \
while read name mounts maxmounts last interval writes; do
[ -z "$blkdev" ] && blkdevAppend2=" ($name)" || blkdevAppend2=
name_esc=${name//-/_}
case "$plugin" in
mounts)
echo "${name}_mounts.label Mount count$blkdevAppend2"
echo "${name}_mounts.draw LINE2"
echo "${name}_maxmounts.label Max. mount count$blkdevAppend2"
echo "${name}_maxmounts.draw LINE1"
echo "${name_esc}_mounts.label Mount count$blkdevAppend2"
echo "${name_esc}_mounts.draw LINE2"
echo "${name_esc}_maxmounts.label Max. mount count$blkdevAppend2"
echo "${name_esc}_maxmounts.draw LINE1"
;;
checked)
echo "${name}_last.label Since checked$blkdevAppend2"
echo "${name}_last.draw LINE2"
echo "${name}_last.cdef ${name}_last,86400,/"
echo "${name}_interval.label Check interval$blkdevAppend2"
echo "${name}_interval.draw LINE1"
echo "${name}_interval.cdef ${name}_interval,86400,/"
echo "${name_esc}_last.label Since checked$blkdevAppend2"
echo "${name_esc}_last.draw LINE2"
echo "${name_esc}_last.cdef ${name_esc}_last,86400,/"
echo "${name_esc}_interval.label Check interval$blkdevAppend2"
echo "${name_esc}_interval.draw LINE1"
echo "${name_esc}_interval.cdef ${name_esc}_interval,86400,/"
;;
writes)
echo "${name}_writes.label Lifetime writes$blkdevAppend2"
echo "${name}_writes.type GAUGE"
echo "${name}_writes.draw LINE2"
echo "${name}_writes.cdef ${name}_writes,1073741824,*"
echo "${name_esc}_writes.label Lifetime writes$blkdevAppend2"
echo "${name_esc}_writes.type GAUGE"
echo "${name_esc}_writes.draw LINE2"
echo "${name_esc}_writes.cdef ${name_esc}_writes,1073741824,*"
;;
esac
done
Expand All @@ -146,22 +147,23 @@ fi
if [ -z "$blkdev" ]; then
lse2
else
LANG=C dumpe2fs /dev/$blkdev 2>/dev/null | print_details "$blkdev"
LANG=C dumpe2fs -h "$blkdevpath" 2>/dev/null | print_details "$blkdev"
fi | \
while read name mounts maxmounts last interval writes; do
name_esc=${name//-/_}
case "$plugin" in
mounts)
echo "${name}_mounts.value $mounts"
echo "${name}_maxmounts.value $maxmounts"
echo "${name_esc}_mounts.value $mounts"
echo "${name_esc}_maxmounts.value $maxmounts"
;;
checked)
now=`date +%s`
past=$(( now - last ))
echo "${name}_last.value $past"
echo "${name}_interval.value $interval"
echo "${name_esc}_last.value $past"
echo "${name_esc}_interval.value $interval"
;;
writes)
echo "${name}_writes.value $writes"
echo "${name_esc}_writes.value $writes"
;;
esac
done
Expand Down

0 comments on commit 3cd15a8

Please sign in to comment.