Projet

Général

Profil

Révision 3cd15a82

ID3cd15a822007d87b124e0495b81647f5d3738a64
Parent 4e7c45fd
Enfant 7fff067f

Ajouté par root il y a environ 6 ans

improved ext2, ext3, ext4 filesystems search

Voir les différences:

plugins/disk/e2
46 46
}
47 47

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

  
56 55

  
......
78 77
if [ -n "${self//[!_]/}" ]; then
79 78
	blkdev=${self#*_}
80 79
	blkdevAppend=" ($blkdev)"
80
	blkdevpath=$(lsblk -o PATH,NAME -r | grep "$blkdev" | uniq | cut -d' ' -f1)
81 81
else
82 82
	blkdev=
83 83
	blkdevAppend=
......
108 108
	if [ -z "$blkdev" ]; then
109 109
		lse2
110 110
	else
111
		LANG=C dumpe2fs /dev/$blkdev 2>/dev/null | print_details "$blkdev"
111
		LANG=C dumpe2fs -h "$blkdevpath" 2>/dev/null | print_details "$blkdev"
112 112
	fi | \
113 113
	while read name mounts maxmounts last interval writes; do
114 114
		[ -z "$blkdev" ] && blkdevAppend2=" ($name)" || blkdevAppend2=
115
		name_esc=${name//-/_}
115 116
		case "$plugin" in
116 117
		mounts)
117
			echo "${name}_mounts.label Mount count$blkdevAppend2"
118
			echo "${name}_mounts.draw LINE2"
119
			echo "${name}_maxmounts.label Max. mount count$blkdevAppend2"
120
			echo "${name}_maxmounts.draw LINE1"
118
			echo "${name_esc}_mounts.label Mount count$blkdevAppend2"
119
			echo "${name_esc}_mounts.draw LINE2"
120
			echo "${name_esc}_maxmounts.label Max. mount count$blkdevAppend2"
121
			echo "${name_esc}_maxmounts.draw LINE1"
121 122
			;;
122 123
		checked)
123
			echo "${name}_last.label Since checked$blkdevAppend2"
124
			echo "${name}_last.draw LINE2"
125
			echo "${name}_last.cdef ${name}_last,86400,/"
126
			echo "${name}_interval.label Check interval$blkdevAppend2"
127
			echo "${name}_interval.draw LINE1"
128
			echo "${name}_interval.cdef ${name}_interval,86400,/"
124
			echo "${name_esc}_last.label Since checked$blkdevAppend2"
125
			echo "${name_esc}_last.draw LINE2"
126
			echo "${name_esc}_last.cdef ${name_esc}_last,86400,/"
127
			echo "${name_esc}_interval.label Check interval$blkdevAppend2"
128
			echo "${name_esc}_interval.draw LINE1"
129
			echo "${name_esc}_interval.cdef ${name_esc}_interval,86400,/"
129 130
			;;
130 131
		writes)
131
			echo "${name}_writes.label Lifetime writes$blkdevAppend2"
132
			echo "${name}_writes.type GAUGE"
133
			echo "${name}_writes.draw LINE2"
134
			echo "${name}_writes.cdef ${name}_writes,1073741824,*"
132
			echo "${name_esc}_writes.label Lifetime writes$blkdevAppend2"
133
			echo "${name_esc}_writes.type GAUGE"
134
			echo "${name_esc}_writes.draw LINE2"
135
			echo "${name_esc}_writes.cdef ${name_esc}_writes,1073741824,*"
135 136
			;;
136 137
		esac
137 138
	done
......
146 147
if [ -z "$blkdev" ]; then
147 148
	lse2
148 149
else
149
	LANG=C dumpe2fs /dev/$blkdev 2>/dev/null | print_details "$blkdev"
150
	LANG=C dumpe2fs -h "$blkdevpath" 2>/dev/null | print_details "$blkdev"
150 151
fi | \
151 152
while read name mounts maxmounts last interval writes; do
153
	name_esc=${name//-/_}
152 154
	case "$plugin" in
153 155
	mounts)
154
		echo "${name}_mounts.value $mounts"
155
		echo "${name}_maxmounts.value $maxmounts"
156
		echo "${name_esc}_mounts.value $mounts"
157
		echo "${name_esc}_maxmounts.value $maxmounts"
156 158
		;;
157 159
	checked)
158 160
		now=`date +%s`
159 161
		past=$(( now - last ))
160
		echo "${name}_last.value $past"
161
		echo "${name}_interval.value $interval"
162
		echo "${name_esc}_last.value $past"
163
		echo "${name_esc}_interval.value $interval"
162 164
		;;
163 165
	writes)
164
		echo "${name}_writes.value $writes"
166
		echo "${name_esc}_writes.value $writes"
165 167
		;;
166 168
	esac
167 169
done

Formats disponibles : Unified diff