FreeBSD мониторинг S.M.A.R.T

Недавно задумался над тем, что было бы неплохо мониторить работу жестких дисков, и в тырнете наткнулся на описание одной утилиты, это smartmontools, чтож, приступим к установке и настройке:

# cd /usr/ports/sysutils/smartmontools  && make install clean && rehash

после этого проверить состояние смарта на винте можно командой:

# smartctl -a /dev/ad8

ну соотвественно /dev/ad8 замените на свой 🙂
Показывать-то показывает, а вот было бы неплохо чтобы еще уведомления на мыло приходили при ошибочках, топаем рихтовать конфиг:

# cd /usr/local/etc/
# cp smartd.conf.sample smartd.conf
# ee smartd.conf


изменяем его до такого состояния (винты меняете на свои )))):

/dev/ad6 -a -m [email protected] -o on -S on -s (S/../.././01|L/../../6/04)
/dev/ad8 -a -m [email protected] -o on -S on -s (S/../.././01|L/../../6/04)

почитать можно на лисяре
после добавляем в /etc/syslog.conf следующие строки:

# S.M.A.R.T.
local2.*                                        /var/log/smartd.log

добавляем нашу утилиту в автозагрузку:

# echo 'smartd_enable="YES"' >> /etc/rc.conf
# echo 'smartd_flags="-l local2 --interval=300"' >> /etc/rc.conf

создаем файл протокола работы:

# touch /var/log/smartd.log

перезапускаем syslogd

# killall -1 syslogd

запускаем утилиту:

# /usr/local/etc/rc.d/smartd start

проверяем запустился или нет:

# ps ax | grep smart
 6258  ??  I      0:00.00 /usr/local/sbin/smartd -p /var/run/smartd.pid -l local2 --interval=300
 6268  p1  D+     0:00.00 grep smart

как видим запустился)
проверяем лог:

# cat smartd.log

если пусто, то лечим следующим образом, в файле /etc/syslog.conf, строки

# S.M.A.R.T.
local2.*                                        /var/log/smartd.log

поднимаем выше, например как сделано у меня:

cron.*                                          /var/log/cron
*.=debug                                        /var/log/debug.log
*.emerg                                         *
# S.M.A.R.T.
local2.*                                        /var/log/smartd.log
# uncomment this to log all writes to /dev/console to /var/log/console.log

при возникновении ошибок, утилита оповестит по емейлу.
[email protected] — вымышленный ящик, не пишите ему ))))

Похожие посты

Комментировать

Комментировать email не будет опубликован