|
Меню
Статьи
Статистика
|
Хостов сегодня: 10 Хитов сегодня: 40 Статей: 29 |
. продажа ноутбуков - acer: notebook! |
Мониторинг температуры HDDНа домашнем серве количество хардов всё растёт и растёт. Количество места конечно радует, но за этим хозяйством нужно следить. Потерять всё в один прекрасный момент как-то не хочется. Поэтому как-то задался вопросом мониторинга smart аттрибутов , но есть ещё один немаловажный фактор в жизнедеятельности hdd - это температура. Чем она меньше, тем лучше. Каждый раз лазять в консоль и смотреть сколько там цельсиев на таком-то диске не хочется. Заюзаем-ка для этих целей наш любимый cacti :]
Система как обычно состоит из скрипта, который вызывает утилиту smartctl(из порта smartmontools), вытаскивает значения и переваривает в понятный кактусу формат, ну и шаблонов для самой системы cacti.
Начнём со скрипта
#!/usr/bin/perl
#smartctl exec $sm="/usr/local/sbin/smartctl -a"; #define hdd! $hdd1="/dev/ad0"; $hdd2="/dev/ad1"; $hdd3="/dev/ad2"; $hdd4="/dev/ad3"; $hdd5="/dev/ad4"; $hdd6="/dev/ad8"; $hdd7="/dev/ad10";
#hdd1 if($hdd1) { $disk1=`$sm $hdd1 | grep Temperature_Cels`; chomp($disk1); @lines1=split(" ", $disk1); print "hdd1:".@lines1[9]; } else { print "no hdd has defined!\n"; exit(); } #hdd2 if($hdd2) { $disk2=`$sm $hdd2 | grep Temperature_Cels`; chomp($disk2); @lines2=split(" ", $disk2); print " hdd2:".@lines2[9]; } else { exit(); } #hdd3 if($hdd3) { $disk3=`$sm $hdd3 | grep Temperature_Cels`; chomp($disk3); @lines3=split(" ", $disk3); print " hdd3:".@lines3[9]; } else { exit(); } #hdd4 if($hdd4) { $disk4=`$sm $hdd4 | grep Temperature_Cels`; chomp($disk4); @lines4=split(" ", $disk4); print " hdd4:".@lines4[9]; } else { exit(); } #hdd5 if($hdd5) { $disk5=`$sm $hdd5 | grep Temperature_Cels`; chomp($disk5); @lines5=split(" ", $disk5); print " hdd5:".@lines5[9]; } else { exit(); } #hdd6 if($hdd6) { $disk6=`$sm $hdd6 | grep Temperature_Cels`; chomp($disk6); @lines6=split(" ", $disk6); print " hdd6:".@lines6[9]; } else { exit(); } #hdd7 if($hdd7) { $disk7=`$sm $hdd7 | grep Temperature_Cels`; chomp($disk7); @lines7=split(" ", $disk7); print " hdd7:".@lines7[9]; } else { exit(); } #hdd8 if($hdd8) { $disk8=`$sm $hdd8 | grep Temperature_Cels`; chomp($disk8); @lines8=split(" ", $disk8); print " hdd8:".@lines8[9]; } else { exit(); } #hdd9 if($hdd9) { $disk9=`$sm $hdd9 | grep Temperature_Cels`; chomp($disk9); @lines9=split(" ", $disk9); print " hdd9:".@lines9[9]; } else { exit(); } #hdd10 if($hdd10) { $disk10=`$sm $hdd10 | grep Temperature_Cels`; chomp($disk10); @lines10=split(" ", $disk10); print " hdd10:".@lines10[9]; } else { exit(); } |
Получился такой здоровый и некрасивый, т.к. хотел добавить некое удобство использования :) В самом начале скрипта просто объявляем переменные $hdd1, $hdd2 и т. д. в зависимости сколько у нас хардов. У меня их 7 и переменных 7. Не забываем обновить путь к smartctl, если система не FreeBSD.
Обзываем скрипт hdd_bsd.pl и кладём в /usr/local/sbin/scripts. Делаем исполняемым
| chmod +x /usr/local/sbin/scripts/hdd_bsd.pl |
Пробуем запустить и смотрим output
unixnotes#/root> /usr/local/sbin/scripts/new_hdd.pl hdd1:33 hdd2:30 hdd3:34 hdd4:24 hdd5:30 hdd6:29 hdd7:30unixnotes#/root> |
Если выплюнуло значение, всё гуд. Если нет, смотрим ошибки. Должна быть включена поддержка smart на всех дисках, которые мониторим (smartctl -s on /dev/ad0 или типа того. Или настроен демон smartd)
Шаблоны для cacti
Импортируем, заводим новый график и любуемся таким графиком :)

Добавлено: 2009-05-17 Просмотров: 669 Источник: www.unixnotes.ru
 |
|
Новое:
microdc2 консольный клиент DC++ Потребовалось раздавать юзерам сети контент с фтп сервака не только с помощью самого ftp сервера, но и через DC++ протокол. Added: 2009-08-25
FreeBSD net-snmpd Очень много возможностей Cacti работают только при работающем демоне SNMP. Загрузка сетевых карт, мониторинг дискового пространства, загруженность процессора/памяти и много Added: 2009-08-13
Копирование файла с фтп Начались проблемы с нехваткой места на биллинг сервере. Раньше все бекапы хранились на нём же, просто на другом диске. Основное Added: 2009-08-08
|