The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Мониторинг температуры жестких дисков (disk monitor)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: disk, monitor,  (найти похожие документы)
From: Necromant <kpss7@bigmir.net.> Newsgroups: email Date: Mon, 20 Feb 2006 14:31:37 +0000 (UTC) Subject: Мониторинг температуры жестких дисков Итак, как поставить mtgg и что это такое можно совбодно читать тут и не думаю, что составит большие проблемы в устновке. Итак для дела нам нужно устновить , smartdtools cd /usr/ports/sysutils/smartmontools make && make install и php 4 или 5 весрии cd /usr/ports/lang/php4 make && make install (cd /usr/ports/lang/php4 make && make install) После чего добавить в /etc/rc.conf строку smartd_enable="YES" Теперь требуется разрешить получать иформацию smart выпонив smartctl --smart=on --offlineauto=on --saveauto=on /dev/hda После чего , проверяем правильность работы smartctl smartctl -a /dev/da0 Теперь в папку /usr/local/etc/mrtg/ , заливаем скрипт da0.php слелующего содержания <? exec("/usr/local/sbin/smartctl -a /dev/ad0", $arr); $uptime = 0; $temp = 0; foreach ($arr as $row) { $row = trim($row); if (strpos($row, "Spin_Up_Time")) { $uptime = preg_replace("/(.*?) (d+)$/si", "", $row); } if (strpos($row, "Temperature_Celsius")) { $temp = preg_replace("/(.*?) (d+)$/si", "", $row); } } echo "$temp\n0\n$uptime\nda0\n"; ?> Далее прави конфиг mrtg.cfg , добавляя строки # disk DA0 WorkDir: /path/to/www/mrtg options[_]: growright, bits Language: russian Target[da0]: `/usr/local/bin/php -f /usr/local/etc/mrtg/da0.php` MaxBytes[da0]: 100 Title[da0]: Temp Analysis for da0 PageTop[da0]: Temp Analysis for da0 ShortLegend[da0]: C Options[da0]: gauge Все сохраняем и наслаждаемся полученным результатом. З.Ы. все операции выполняются только root-ом !!!! З.Ы.Ы. Оригинальный текст статьи

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, freeseacher (ok), 09:06, 26/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    smartctl --smart=on --offlineauto=on --saveauto=on /dev/hda

    hda ?
    ad ?
    чего то не понятно ось то какая ?

     
  • 1.2, CHERTS (ok), 09:56, 26/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем же PHP скрипт то воять? Можно же проще!

    smartctl -a /dev/ad0 | grep Temperature_Celsius | awk -F " " '{print $10}'

     
  • 1.3, CHERTS (ok), 10:23, 26/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поправка!

    полный скрипт на шеле:

    #!/bin/sh

    smartctl -a /dev/ad0 | grep Temperature_Celsius | awk -F " " '{print $10}'
    echo 'ad0'

    в mrtg.cfg рисуем:

    Target[ad0]: 'sh /etc/script/ata.sh'
    MaxBytes[ad0]: 100
    Title[ad0]:   Temp Analysis for ad0
    PageTop[ad0]: Temp Analysis for ad0
    ShortLegend[ad0]: C
    Options[ad0]: gauge

     
     
  • 2.11, Adil_18 (?), 17:41, 01/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Target[ad0][_OUT_] ' $target->[7]{$mode} ' evaluated to 'NaN' instead of a number
     

  • 1.4, Andrey Mitrofanov (?), 11:00, 26/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > | grep Temperature_Celsius | awk -F " " '{print $10}'
    Может быть и '-F " "' тоже:
    | awk '/Temperature_Celsius/ {print $10}'
     
  • 1.5, Necromant (?), 11:15, 26/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для Segate:
    194 Temperature_Celsius     0x0022   017   058   000    Old_age   Always       -       17 (Lifetime Min/Max 0/8)
    195 Hardware_ECC_Recovered  0x001a   055   049   000    Old_age   Always       -       22448596
    <?
    parse_str($_SERVER["argv"][1], $_GET);

    $dev = $_GET["dev"];
    if (empty($dev)) die("Empty device");


    exec("/usr/local/sbin/smartctl -a /dev/$dev", $arr);

    //var_dump($arr);
    $uptime = 0;
    $temp = 0;
    foreach ($arr as $row) {
            $row = trim($row);
            //Segate
            $row = trim(preg_replace("/\(Lifetime Min\/Max (.*?)\)/s", "", $row));
            if (strpos($row, "Spin_Up_Time")) {
                    $uptime = preg_replace("/(.*?) (\d+)\$/si", "\\2", $row);
            }
            if (strpos($row, "Temperature_Celsius")) {
                    $temp = preg_replace("/(.*?) (\d+)\$/si", "\\2", $row);
            }
    }

    echo "$temp\n0\n$uptime\n$dev\n";
    ?>

     
  • 1.6, Necromant (?), 11:17, 26/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ОС: FreeBSD 6.0 /5.4 /4.9 работает
     
  • 1.7, Necromant (?), 11:21, 26/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если кому надо могу , еще это выложить http://www.powernet.kiev.ua/blog/uploads/n/Necromant/364.png
     
     
  • 2.9, universite (ok), 21:30, 26/02/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Будь ласка!
     
     
  • 3.10, Necromant (?), 00:30, 27/02/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Читаем там: http://www.powernet.kiev.ua/blog/entry.php?w=necromant&e_id=137
     

  • 1.12, dri (?), 18:39, 25/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а то что программа каждые 5 минут лезет смотреть смарт на предметы температуры, это сильно сказывается на продолжительности жизни жёсткого диска?
     
     
  • 2.13, Necromant (?), 02:48, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >а то что программа каждые 5 минут лезет смотреть смарт на предметы
    >температуры, это сильно сказывается на продолжительности жизни жёсткого диска?
    Интрессно как же ??? А читать данные с винта не вредно , он не поломается ???


     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру