мониторинг md-raid и дисков "по-быстрому"

Возникла задача  - мониторить программный  raid linux и текущие параметры дисков, при этом  внешняя система мониторинга понимает только числовые значения на выходе.

 1) Мониторинг рэйда:

mdadm --detail /dev/md[X] | grep "State :" | awk '{ if ($NF == "clean") print "0"; \ 
else if ($NF == "active") print "0"; else print "1" }

 

если на выход 0 — то все хорошо
если 1 — то плохо

вместо X необходимо подставить номер md device.

Возможные состояния рэйда:

State : clean

State : active

State : clean, degraded  — при поврежденном диске

State : clean, degraded, recovering  — при добавлении диска в рэйд

 2) мониторинг дисков через iostat

r/s                    iostat -x -m -y 1 1 -d /dev/sd[X] | grep sd[X] | awk '{ print $4 }'

w/s                   iostat -x -m -y 1 1 -d /dev/sd[X] | grep sd[X] | awk '{ print $5 }'

rMB/s                iostat -x -m -y 1 1 -d /dev/sd[X] | grep sd[X] | awk '{ print $6 }'

wMB/s               iostat -x -m -y 1 1 -d /dev/sd[X] | grep sd[X] | awk '{ print $7 }'

await                 iostat -x -m -y 1 1 -d /dev/sd[X] | grep sd[X] | awk '{ print $10 }'

r_await              iostat -x -m -y 1 1 -d /dev/sd[X] | grep sd[X] | awk '{ print $11 }'

w_await            iostat -x -m -y 1 1 -d /dev/sd[X] | grep sd[X] | awk '{ print $12 }'

 

 

 

iostat важно указать числовые значения interval (1) и count (1), тем самым мы говорим нам на выходе надо один report.  Иначе на выходе iostat будут одни и те же значения.

 

 

 

Please publish modules in offcanvas position.