Jump to content

Просмотр информации SMART (здоровья) подключенного жёсткого диска


Recommended Posts

Нашёл одну интересную статью в которой предлогается просматривать информацию SMART (температуру жёсткого диска, его модель, версию прошивки и др.) подключенного по USB жёсткого диска. Вся информация отображается в браузере и сохраняется в базу данных для последующего просмотра статистики за несколько дней. Для обновления информации используется планировщик задач cron.

Для снятия показаний SMART используется программа smartmontools, для учёта статистики и построения графиков - rrdtool. Всё это работает с помощью веб-сервера на базе lighttpd на основе скрипта smarthtml_0.8.2.

Скрипт получает данные из вывода smartctl, сравнивает их с сохранёнными значениями предыдущей проверки и создаёт html-страницу (/opt/share/www/smart.html) с таблицей атрибутов, отображая в ней последние изменения параметров. Также пишет в лог при изменении критически важных атрибутов и может отсылать сообщение по e-mail (sendmail).

Перед началом использования, естественно, необходимо установить smartmontools и rrdtool с помощью комманды:

opkg install smartmontools rrdtool

Сам скрипт нужно положить, к примеру, в /opt/usr/bin/smarthtml.sh (после этого не забыв: chmod +x /opt/usr/bin/smarthtml.sh). Затем добавить в cron для регулярного запуска.

Cron устанавливается с помощью комманды:

opkg install cron

После установки cron нужно отредактировать фаил crontab, который находится по адресу /opt/etc/crontab. В предлогаемой конфигурации файла crontab время обновления информации SMART равно 3 часам.

42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly    
# Read the information to the hard drive SMART #
10 */3 * * * /opt/usr/bin/smarthtml.sh

Далее нужно узнать как определяется в системе жёсткий диск, для этого нужно ввести комманду: smartctl --scan. В терминале можно посмотреть информацию смарт с помощью комманды: smartctl -a /dev/sdb. Чтоб узнать температуру жёсткого диска нужно ввести комманду: smartctl -d sat /dev/sdb -l scttemp |grep Temperature. Для просмотра более подробной информации о винчестере можно набрать комманду: smartctl --xall /dev/sdb.

~ # smartctl --scan
/dev/sdb -d sat # /dev/sdb [SAT], ATA device

~ # smartctl -a /dev/sdb
smartctl 6.5 2016-05-07 r4318 [mips-linux-2.6.22.15] (localbuild)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family:     Western Digital AV
Device Model:     WDC WD3200BUCT-63TWBY0
Serial Number:    WD-WX11E33PU344
LU WWN Device Id: 5 0014ee 6ae1231e9
Firmware Version: 01.01A01
User Capacity:    320 072 933 376 bytes [320 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Sat Oct  8 18:21:49 2016 YEKT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

При первом запуске (комманда sh /opt/usr/bin/smarthtml.sh) скрипт сам создаст каталог /opt/var/smarthtml/ и необходимые файлы для работы.

~ # sh /opt/usr/bin/smarthtml.sh
 + New dir /opt/var/smarthtml ...
 + New dir /opt/var/smarthtml/db ...
 + New dir /opt/var/smarthtml/log ...
 + New dir /opt/var/smarthtml/rrd ...
 + RRD DB /opt/var/smarthtml/rrd/sda.rrd was created...
~ #

Параметры вызова скрипта:

/opt/usr/bin/smarthtml.sh              # запуск основной процедуры выполнения (запускается cron'ом по расписанию)
/opt/usr/bin/smarthtml.sh resetwarn    # сброс предупреждения после изменения критического параметра
/opt/usr/bin/smarthtml.sh resetcount   # сброс счётчиков изменений параметров
/opt/usr/bin/smarthtml.sh makerrdgraph # только отрисовка графиков rrd без проверки SMART и без изменения данных
/opt/usr/bin/smarthtml.sh mailtest     # отправка тестового email (в случае использования e-mail оповещений)

Про cgi-модуль smarthtml.cgi... Он позволяет обновлять данные SMART прямо с веб-страницы в любой момент, что может быть удобно для мониторинга в реальном времени. Эта процедура не затрагивает rrd (rrd обновляется cron'ом по расписанию), а поэтому может производиться в любое время когда требуется получить текущие данные. Для работы модуля необходимо в настройках веб-сервера указать выполнение .cgi файлов с помощью /bin/sh.

Для lighttpd нужно установить модуль mod_cgi: opkg install lighttpd-mod-cgi

~ # opkg install lighttpd-mod-cgi
Installing lighttpd-mod-cgi (1.4.38-1) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd-mod-cgi_1.4.38-1_keenle.ipk.
Installing lighttpd (1.4.38-1) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd_1.4.38-1_keenle.ipk.
Installing libpcre (8.39-1) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/libpcre_8.39-1_keenle.ipk.
Configuring libpcre.
Configuring lighttpd.
Configuring lighttpd-mod-cgi.
~ #

Далее в конфиге модуля /opt/etc/lighttpd/conf.d/30-cgi.conf изменить строку  ".cgi" => "/opt/bin/perl",  на ".cgi" => "/bin/sh",

cgi.assign                 = ( ".pl"  => "/opt/bin/perl",
                               ".cgi" => "/bin/sh",
                               ".rb"  => "/opt/bin/ruby",
                               ".erb" => "/opt/bin/eruby",
                               ".py"  => "/opt/bin/python" )

Это изменение заставит сервер выполнять .cgi файлы программой /bin/sh. Сам smarthtml.cgi нужно положить в /opt/share/www/cgi-bin/ и разрешить на выполнение:

chmod +x /opt/share/www/cgi-bin/smarthtml.cgi.

Скрипте smarthtml.sh отредактировать и изменить параметр USE_CGI_MODULE=0  на USE_CGI_MODULE=1. Так же в этом скрипте стоит обратить внимание на параметр Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc" Там дожна стоять буква соответствующая вашему винчестеру, в моём случае это b - DEVICES="/dev/sdb". Если подключен только 1 винчестер, то скоре всего это будет буква a.

### Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc")
DEVICES="/dev/sdb"

Есть один нюанс с правами доступа... Доступ к дисковым устройствам (/dev/sda и пр.) доступен лишь пользователю root (admin), в случае если ваш веб-сервер запускается с правами суперюзера (что в принципе нехорошо, но для embedded-систем является обычным делом), то нет никаких проблем. Если же сервер, скажем, публичный и запускается с правами специально созданного непривелегированного юзера, то можно использовать утилиту sudo из Entware для работы cgi-сценария. В smarthtml.cgi нужно выставить USE_SUDO=1. Затем установить и настроить sudo:

~ # opkg install sudo
Installing sudo (1.8.14p3-1) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/sudo_1.8.14p3-1_keenle.ipk.
Configuring sudo.
~ #

Далее нужно отредактировать фаил sudoers ( /opt/etc/sudoers ). В оригинальной инструкции это предлагается сделать с помощью редактора vi используя комманду /opt/sbin/visudo. У меня почему то фаил не открылся для редактирования и я скопировал его на ПК, убрал атрибут "Только для чтения", отредактировал его с помощью Notepad++, сохранил изменения, вернул атрибут "Только для чтения" и вернул на прежнее место заменив старый фаил. В файле sudoers нужно добавить следующие строки (предположим, что веб-сервер запускается под юзером www) :

admin ALL=(ALL) ALL
www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh

Вторая строка разрешит пользователю www запускать /opt/bin/smartctl и /opt/usr/bin/smarthtml.sh с правами admin без ввода пароля (это важно!), что необходимо для выполнения .cgi сценария.
В случае успешной настройки при "клике" по ссылке "Check Now" в верхней части страницы таблица SMART должна обновиться вместе с датой последней проверки в заголовке таблицы.

В результате получится:

## User privilege specification
##
root ALL=(ALL) ALL
admin ALL=(ALL) ALL
www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh

 

Чтоб заработал планировщик cron нужно перезагрузить роутер или просто запустить cron вручную с помощью комманды: /opt/etc/init.d/S10cron start

~ # /opt/etc/init.d/S10cron start
 Starting cron...              already running.
~ #

smarthtml_0.8.2.tar.gz

Чтоб открыть страничку с информацией SMART нужно зайти по адресу \opt/share/www/ и открыть фаил smart.html

Выглядит результат примерно так:

wrbbqku5lk_tn.jpg

Edited by beowulf0208
  • Thanks 9
Link to comment
Share on other sites

Не знаю почему, но у меня обновление информации происходит только при ручном запуске скрипта: /opt/usr/bin/smarthtml.sh

Нашёл на одном сайте способ проверки работы cron.

В рамках тестирования работы cron в каталоге /opt/etc/cron.5mins размещаем тестовый файлик test.sh следующего содержания:

#!/bin/sh
date >> /tmp/crontest.txt


Не забываем сделать его исполняемым:


chmod 755 /opt/etc/cron.5mins/test.sh


Пробуем перезагрузить роутер, ждем около 15 минут. Затем смотрим в файл /tmp/crontest.txt, там должно быть время срабатывания скрипта, если это так, то cron работает. Пробовал комманду:

chmod +x /opt/etc/cron.5mins/test.sh

Но результата работы cron я так и не увидел. И ещё у меня не срабатывает кнопка Check Now в браузере, может кто-нибудь сможет это исправить?

 

  • Thanks 1
Link to comment
Share on other sites

В 08.10.2016 в 18:47, beowulf0208 сказал:

Но результата работы cron я так и не увидел.

Если установлен обычный cron через opkg install cron, и файловая система на диске с поддержкой opkg ntfs или fat, то работать задачи из cron не будут.

Нужно поменять файловую систему на ext2/ext3 или установить crontab из busybox (п.2)

Link to comment
Share on other sites

29 минут назад, gvan сказал:

Если установлен обычный cron через opkg install cron, и файловая система на диске с поддержкой opkg ntfs или fat, то работать задачи из cron не будут.

Нужно поменять файловую систему на ext2/ext3 или установить crontab из busybox (п.2)

У меня винчестер разделён на 2 раздела (NTFS и EXT3). На первом разделе размещена папка загрузок Transmission и aMule и ещё кое какие файлы, а на втором разделе (EXT3) установлен Entware. Установлен обычный cron.

Edited by beowulf0208
Link to comment
Share on other sites

8 минут назад, beowulf0208 сказал:

а на втором разделе (EXT3) установлен Entware. Установлен обычный cron.

Хорошо. Покажите содержимое файлов /opt/etc/crontab и вывод команды:

ls -l /opt/etc/crontab
ls -l /opt/etc/cron.5mins/test.sh
ps | grep cron

Также в test.sh лучше написать

date >> /opt/tmp/crontest.txt

Также, с учетом того, что cron работает "поверх" основной системы, то свои логи в веб-интерфейсе роутера он не показывает. Желательно включить логирование через ng-syslog, тогда свои сообщения (в т.ч. и об ошибках cron будет бросать в /opt/var/log/messages).

Edited by gvan
Дополнение
  • Thanks 2
Link to comment
Share on other sites

10 минут назад, gvan сказал:

Хорошо. Покажите содержимое файлов /opt/etc/crontab и вывод команды:


ls -l /opt/etc/crontab
ls -l /opt/etc/cron.5mins/test.sh

Также в test.sh лучше написать


date >> /opt/tmp/crontest.txt

 

~ # opkg install cron
Installing cron (4.1-3) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/cron_4.1-3_keenle.ipk.
Configuring cron.
~ # chmod +x /opt/etc/cron.5mins/test.sh
~ # sh /opt/etc/cron.5mins/test.sh
~ # /opt/etc/init.d/S10cron start
 Starting cron...              done.
~ # ls -l /opt/etc/crontab
-rw-------    1 root     root           492 Sep 14 16:30 /opt/etc/crontab
~ # ls -l /opt/etc/cron.5mins/test.sh
-rwxrwxrwx    1 root     root            29 Oct 10 13:24 /opt/etc/cron.5mins/test.sh
~ # ps | grep cron
 1037 root       920 S    cron -s
 1051 root      1576 S    grep cron
~ #

Link to comment
Share on other sites

5 минут назад, gvan сказал:

Вроде все нормально. Не хватает содержимого конф-файла /opt/etc/crontab

Спасибо за помощь. Теперь буду знать какие права должны быть у файлов. И ещё я похоже понял почему "мой" тестовый фаил не заработал, а Ваш работает.

Мой test.sh   date >> /tmp/crontest.txt

Ваш test.sh  date >> /opt/tmp/crontest.txt

Link to comment
Share on other sites

1 минуту назад, beowulf0208 сказал:

Спасибо за помощь

Пожалуйста. Т.е. в итоге заработало? 

Еще нужно не забывать в конце конф-файлов и текстовых скриптов добавлять пустую строку (иногда это может быть критично для нормального выполнения задач).

  • Thanks 2
Link to comment
Share on other sites

  • 1 year later...

не со всеми hdd работает :(

Unsupported USB bridge [0x13fd:0x1040 (0x106)

максимум, что "выжал":
 

Скрытый текст

 

~ # smartctl -a -d scsi /dev/sda
smartctl 6.6 2017-11-05 r4594 [mips-linux-3.4.113] (localbuild)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               Initio
Product:              MK6026GAX
Revision:             1.06
User Capacity:        60,011,642,880 bytes [60.0 GB]
Logical block size:   512 bytes
Device type:          disk
Local Time is:        Sun Feb 18 22:37:08 2018 MSK
SMART support is:     Unavailable - device lacks SMART capability.

=== START OF READ SMART DATA SECTION ===
Current Drive Temperature:     0 C
Drive Trip Temperature:        0 C

Error Counter logging not supported

Device does not support Self Test logging
 

 

Edited by miltt
Link to comment
Share on other sites

  • 3 weeks later...

Захотел добавить e-mail оповещение, но в Entware нет sendmail. Внес изменения в скрипт для работы с msmtp.

1. Устанавливаем msmtp:

opkg install msmtp

2. Правим файл /opt/etc/msmtprc

Для отправки с gmail.com у меня он выглядит так (закомментированные строки из него пропущены):

account default
logfile /opt/var/log/msmtp.log
    #эту строку можно не создавать, если не нужен логфайл
host smtp.gmail.com
port 587
tls on
tls_certcheck off
syslog LOG_MAIL
auth login
user e-mail@gmail.com
   #ваш аккаунт на gmail
password  ........    #пароль в аккаунт на gmail
from any_words_or_address    #любой адрес или слово, оно будет отправляться серверу как параметр From

3. Правим строки в файле скрипта /opt/usr/bin/smarthtml.sh

USE_MAIL=1

MAIL_RECIPIENT="recipient@gmail.com"     #здесь указываем на какой адрес будут отправляться уведомления

Следующие строки нужно закомментировать или удалить, они не нужны, т.к. openssl не используется, и он не установлен:

#OPENSSLCMD=`which openssl`
#if [ $USE_MAIL -eq 1 -a $? -ne 0 ]; then
#    echo " Error! openssl doesn't exists..." >&2
#    USE_MAIL=0
#fi

Меняем MTA c

MTA=`which sendmail`

на:

MTA=`which msmtp`

Меняем MTACMD на:

MTACMD="${MTA} -t $MAIL_RECIPIENT"

3. Сохраняем сделанные изменения и пробуем отправить тестовое уведомление:

/opt/usr/bin/smarthtml.sh mailtest

Если всё сделано правильно, то получаем тестовое уведомление на указанный адрес.

 

  • Thanks 1
Link to comment
Share on other sites

На GitHub есть версия этого скрипта 1.0 в которой добавлено отображение информации о разделах и свободном месте диска.

https://github.com/gSpotx2f/smarthtml

Установка в принципе аналогична, только ещё fdisk нужно установить, чтобы использовать отображение сведений о разделе и указать правильный HTML_DIR:

HTML_DIR="/opt/share/www"
Link to comment
Share on other sites

  • 1 year later...
В 14.03.2018 в 11:40, Albram сказал:

На GitHub есть версия этого скрипта 1.0 в которой добавлено отображение информации о разделах и свободном месте диска.

https://github.com/gSpotx2f/smarthtml

Установка в принципе аналогична, только ещё fdisk нужно установить, чтобы использовать отображение сведений о разделе и указать правильный HTML_DIR:


HTML_DIR="/opt/share/www

Сделал всё по инструкции, но не работает график температур

.

Скрытый текст

graf.thumb.JPG.6ddebd81201ee421919519037a408842.JPG

 

и..мгновенное обновление

chek.JPG.8b5777e91ec7442418f188dea5299861.JPG

За обновление не жалко, а вот график критичен.. С чем может быть проблема?

Edited by X-MATSE
Link to comment
Share on other sites

В 16.03.2019 в 02:23, X-MATSE сказал:

Сделал всё по инструкции, но не работает график температур

.и..мгновенное обновление

За обновление не жалко, а вот график критичен.. С чем может быть проблема?

В скрипте /opt/usr/bin/smarthtml.sh использование rrd и cgi задается параметрами:

### RRD support (0 - disable; 1 - enable)
USE_RRD=1
### RRD database preset (1 - 30mins; 2 - 1hour; 3 - 3hours; 4 - 6hours; 5 - 12hours; 6 - 24hours)
RRD_DB_PRESET=3
### S.M.A.R.T. attributes for RRD
RRD_SMART_ATTRS="smart3 smart194" # Spin-up time & temperature
#RRD_SMART_ATTRS="smart194" # Only a temperature data for RRD
RRD_SMART_ATTR_DEF_PIC="smart194"
### CGI-module smarthtml.cgi (0 - disable; 1 - enable)
USE_CGI_MODULE=1

Проверьте эти параметры.

Также при первом запуске скрипта должны были создаться каталоги:

/opt/var/smarthtml
 /opt/var/smarthtml/db
 /opt/var/smarthtml/log
 /opt/var/smarthtml/rrd

и файл:
 /opt/var/smarthtml/rrd/sda.rrd

Каталог скрипта cgi (для запуска проверки вручную со страницы), картинки графика и сам html файл страницы лежат здесь:

~ # ls -l /opt/share/www/
drwxr-xr-x    2 root     root          1024 Oct 16 00:08 cgi-bin
-rw-r--r--    1 root     root         30307 Mar 17 12:10 sdb_smart194_-14days.png
-rw-r--r--    1 root     root         30525 Mar 17 12:10 sdb_smart194_-30days.png
-rw-r--r--    1 root     root         37439 Mar 17 12:10 sdb_smart194_-365days.png
-rw-r--r--    1 root     root         25929 Mar 17 12:10 sdb_smart3_-14days.png
-rw-r--r--    1 root     root         23785 Mar 17 12:10 sdb_smart3_-30days.png
-rw-r--r--    1 root     root         25338 Mar 17 12:10 sdb_smart3_-365days.png
-rw-r--r--    1 root     root         20975 Mar 17 12:10 smart.html

Смотрите что у вас не так.



Edited by Albram
  • Thanks 1
Link to comment
Share on other sites

3 часа назад, Albram сказал:

### RRD support (0 - disable; 1 - enable)
USE_RRD=1
### RRD database preset (1 - 30mins; 2 - 1hour; 3 - 3hours; 4 - 6hours; 5 - 12hours; 6 - 24hours)
RRD_DB_PRESET=3
### S.M.A.R.T. attributes for RRD
RRD_SMART_ATTRS="smart3 smart194" # Spin-up time & temperature
#RRD_SMART_ATTRS="smart194" # Only a temperature data for RRD
RRD_SMART_ATTR_DEF_PIC="smart194"
### CGI-module smarthtml.cgi (0 - disable; 1 - enable)
USE_CGI_MODULE=1

В моём случае :

### RRD support (0 - disable; 1 - enable)
USE_RRD=1
### RRD database preset (1 - 30mins; 2 - 1hour; 3 - 3hours; 4 - 6hours; 5 - 12hours; 6 - 24hours)
RRD_DB_PRESET=3
### S.M.A.R.T. attributes for RRD
RRD_SMART_ATTRS="smart3 smart194" # Spin-up time & temperature
#RRD_SMART_ATTRS="smart194" # Only a temperature data for RRD
RRD_SMART_ATTR_DEF_PIC="smart194"
### CGI-module smarthtml.cgi (0 - disable; 1 - enable)
USE_CGI_MODULE=1

Разницы не заметил.

3 часа назад, Albram сказал:

Также при первом запуске скрипта должны были создаться каталоги:

Всё есть.


Вроде всё так.. 

Скрытый текст

smart.JPG.0837fe30f647b167faa0720711bde322.JPG

А можете кинуть сам скрипт smarthtml.sh и  smarthtml.cgi

Думаю, что криво работает 
rrdtool или smartmontools 

И меня очень напряг этот этап: 

 

В 08.10.2016 в 18:38, beowulf0208 сказал:

".cgi" => "/opt/bin/perl",  на ".cgi" => "/bin/sh",

Разве не на orp/bin/sh нужно переименовать...?

Благодарю за помощь!

Edited by X-MATSE
Link to comment
Share on other sites

Скрытый текст

 


➜ ssh root@192.168.861.291 -p 222222
root@192.168.861.291's password: 
-bash-4.4# 
-bash-4.4# /bin/sh -h
NDM Shell Wrapper, version 1.0.7
Copyright (C) 2015 NDM Systems, Inc.

Usage:
  sh                        - start ndm CLI session
  sh script-file [args...]  - run script-file via /opt/bin/sh
  sh -c command             - run command via /opt/bin/sh or execvp()
-bash-4.4# 
-bash-4.4# /bin/sh
Login: admin
Password: *****
(config)> 

           system - maintenance functions
              ntp - configure NTP
         schedule - schedule configuration
            known - manage lists of known network objects
      access-list - configure network access lists
             user - configure user account
           dyndns - configure DynDns profiles
             ndns - configure NDNS
        interface - network interface configuration
               ip - configure IP parameters
              ppe - Packet Processing Engine configuration
    igmp-snooping - configure IGMP snooping
             snmp - configure SNMP service
          service - manage services
             cifs - manage CIFS service
        dns-proxy - manage DNS proxy service
              mws - manage Modular Wi-Fi System
           whoami - display info about the current management session
          printer - printer configuration
             more - view text file
               ls - list directory contents
             copy - copy files
            erase - erase file or empty directory
            mkdir - create a new directory
           access - set user access for directory
          monitor - manage monitor services
             show - display various diagnostic information
            tools - tools for testing the environment
             opkg - Open Package configuration
          bwmeter - bandwidth meter
       components - manage firmware components
            cloud - manage cloud services

(config)> exit
Core::Configurator: Bye.
-bash-4.4#
-bash-4.4# /bin/sh /opt/etc/init.d/S10crond restart
 Shutting down crond...              done. 
 Starting crond...              done. 
-bash-4.4# 
-bash-4.4# /bin/sh -c /opt/bin/sh

BusyBox v1.29.2 () built-in shell (ash)

~ # exit
-bash-4.4#  

 

 

37 минут назад, X-MATSE сказал:

Разве не на orp/bin/sh нужно переименовать...?

с одной стороны - без разницы, с другой - неизвестно, что может принести очередное обновление

  • Thanks 1
Link to comment
Share on other sites

2 минуты назад, Kiborg_Man сказал:

строки относящиеся к температуре нужно скорректировать под конкретный диск.

Так он темпиратуру считывает нормально! Только вот график не строит(

 

Скрытый текст

1878481192_smarthtml.thumb.JPG.f9047b1ac06c43eee2bee29e149746ff.JPG

 

Link to comment
Share on other sites

1 минуту назад, X-MATSE сказал:

Так он темпиратуру считывает нормально! Только вот график не строит(

На вашем скрине в корне web сервера есть файлы png для построения картинки графика, т.е. rrdtool отработал.

А вот почему он не отображается, это уже другой вопрос. Посмотрите что у вас в этой части smarthtml.sh

SCRIPT_ROOT="/opt/var/smarthtml"
DB_DIR="${SCRIPT_ROOT}/db"
LOG_DIR="${SCRIPT_ROOT}/log"
MTA_MSG_FILE="${SCRIPT_ROOT}/email"
HTML_DIR="/opt/share/www"
HTML_OUTPUT="${HTML_DIR}/smart.html"
CGI_MODULE_WWW_PATH="/cgi-bin/smarthtml.cgi"
RRD_DB_DIR="${SCRIPT_ROOT}/rrd"
RRD_DB_EXT="rrd"
RRD_GRAPH_DIR="$HTML_DIR"
RRD_GRAPH_WWW_PATH="."
RRD_GRAPH_TYPE="PNG"
RRD_GRAPH_EXT="png"
RRD_GRAPH_WIDTH=600
RRD_GRAPH_HEIGHT=240
 

  • Thanks 1
Link to comment
Share on other sites

4 минуты назад, X-MATSE сказал:

Только вот график не строит(

В ручную скрипт запускали? Он выдал, что rrd база создана?

  • Thanks 1
Link to comment
Share on other sites

11 минуту назад, Albram сказал:

На вашем скрине в корне web сервера есть файлы png для построения картинки графика, т.е. rrdtool отработал.

Они пустые, увы...

Скрытый текст

 

 

sda_smart3_-14days.png.a934370ce2fcfde18bc225e5aa7fc3bc.pngsda_smart3_-30days.png.5e9bacb1bad0d78e2a7bee9ecba35fef.pngsda_smart3_-365days.png.a7155b9dffa1514f1fcc4b956bba5ef7.pngsda_smart194_-14days.png.53f58dd2a719d53a4674e01150c5b26b.pngsda_smart194_-30days.png.7969fb1440aca0bb8428bcb07619c9e4.pngsda_smart194_-365days.png.d6a71c1df96d01b590a57e5879ed1cc1.png

sda_smart3_-14days.png.a934370ce2fcfde18bc225e5aa7fc3bc.pngsda_smart3_-30days.png.5e9bacb1bad0d78e2a7bee9ecba35fef.pngsda_smart3_-365days.png.a7155b9dffa1514f1fcc4b956bba5ef7.pngsda_smart194_-14days.png.53f58dd2a719d53a4674e01150c5b26b.pngsda_smart194_-30days.png.7969fb1440aca0bb8428bcb07619c9e4.pngsda_smart194_-365days.png.d6a71c1df96d01b590a57e5879ed1cc1.png

 

 

Так что скорее всего  rrdtool

Edited by X-MATSE
Link to comment
Share on other sites

6 минут назад, Kiborg_Man сказал:

В ручную скрипт запускали? Он выдал, что rrd база создана?

Запускал, уже после первого запуска:


~ # /opt/usr/bin/smarthtml.sh start
df: /dev/sda2: can't find mount point
~ #

 

Link to comment
Share on other sites

9 минут назад, Albram сказал:

А вот почему он не отображается, это уже другой вопрос. Посмотрите что у вас в этой части smarthtml.sh

SCRIPT_ROOT="/opt/var/smarthtml"
DB_DIR="${SCRIPT_ROOT}/db"
LOG_DIR="${SCRIPT_ROOT}/log"
MTA_MSG_FILE="${SCRIPT_ROOT}/email"
HTML_DIR="/opt/share/www"
HTML_OUTPUT="${HTML_DIR}/smart.html"
CGI_MODULE_WWW_PATH="/cgi-bin/smarthtml.cgi"
RRD_DB_DIR="${SCRIPT_ROOT}/rrd"
RRD_DB_EXT="rrd"
RRD_GRAPH_DIR="$HTML_DIR"
RRD_GRAPH_WWW_PATH="."
RRD_GRAPH_TYPE="PNG"
RRD_GRAPH_EXT="png"
RRD_GRAPH_WIDTH=600
RRD_GRAPH_HEIGHT=240

Всё так же

Link to comment
Share on other sites

 

6 минут назад, X-MATSE сказал:

~ # /opt/usr/bin/smarthtml.sh start df:

/dev/sda2: can't find mount point

Имя диска правильно указано в скрипте, как на скрине /dev/sda ? А то бывает, что после переподключения sda и sdb местами меняются.

  • Thanks 1
Link to comment
Share on other sites

7 минут назад, X-MATSE сказал:

Запускал, уже после первого запуска:



~ # /opt/usr/bin/smarthtml.sh start
df: /dev/sda2: can't find mount point
~ #

 

Вот и причина: 1) start не нужно; 2) путь к диску должен быть указан как /dev/sda

  • Thanks 1
Link to comment
Share on other sites

1 минуту назад, Albram сказал:

Имя диска правильно указано в скрипте, как на скрине /dev/sda ? А то бывает, что после переподключения sda и sdb местами меняются.

Там два раздела.. sda1 и sda2, в 1 - файты и остальное, 2 - свап

Цитата
Device Boot Start End Sectors Size Id Type
/dev/sda1 no 2048 2928228351 2928226304 1.4T 83 Linux
/dev/sda2 no 2928228352 2930276351 2048000 1000M 82 Linux swap / Solaris

 

3 минуты назад, Kiborg_Man сказал:

1) start не нужно

Логи не меняются
 

 

3 минуты назад, Kiborg_Man сказал:

путь к диску должен быть указан как /dev/sda

############################## Settings ################################
### Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc")
DEVICES="/dev/sda"

Всё так

Link to comment
Share on other sites

1 час назад, X-MATSE сказал:

А можете кинуть сам скрипт smarthtml.sh и  smarthtml.cgi

smarthtml.cgi

smarthtml.sh

Вот мои файлы.

А вы с правами как в конце инструкции написано (где про sudo) ничего не делали?

  • Thanks 1
Link to comment
Share on other sites

6 минут назад, Albram сказал:

А вы с правами как в конце инструкции написано (где про sudo) ничего не делали?

Нет, а зачем? У меня же не сервак.

Повторюсь - у меня графики пустые создаются в папке www? тут корень проблемы(

-----

Заменил файлы на ваши и, о чуда, появилось!

Скрытый текст

sda_smart194_-14days.png.80aa26224d471cd4d3ba6867e1b5168f.png

Спасибо всем за участие! А что скрипт обновы не работает - это не важно!

Link to comment
Share on other sites

4 минуты назад, X-MATSE сказал:

Нет, а зачем? У меня же не сервак.

Ну мало ли, может вы с правами что-то сделали, потому, например, и не работало.

 

5 минут назад, X-MATSE сказал:

Заменил файлы на ваши и, о чуда, появилось!

Осталось найти разницу))

Link to comment
Share on other sites

20 часов назад, Albram сказал:

Ну мало ли, может вы с правами что-то сделали, потому, например, и не работало.

А есть программа для анализа 2-х файлов на несоответствие?
 

Глянул в логи загрузки, а там..
 

Mar 18 13:24:30 root: Failed to start lighttpd from .

Т е при включении он не стартует таки

Link to comment
Share on other sites

#offtop

1 час назад, X-MATSE сказал:

А есть программа для анализа 2-х файлов на несоответствие?

пакет `diffutils`

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...