tm

   Статья о постановке на мониторинг параметров SMART жестких дисков.

Снова собирая обрывки со всего интернета получилось решение. Принцип работы этого решения таков: каждые 5 минут во временной директории скриптом создаются файлы с именем дисков, опередеённых в системе (sda, sdb). Содержимым этих файлов будет вывод команды smartctl -a /dev/<имя диска> из того же скрипта. Далее в настройках демона SNMP добавляются внешние MIB'ы, которые запускают выполнение другого скрипта. Этот скрипт выполняет парсинг файлов в с выводом команд smartctl -a и выдаёт строковой параметр со значением SMART параметра. Собственно запрос по SNMP выполняет CACTI благодаря шаблонам.

Теперь по порядку. Устанавливаем ПО для чтения параметров SMART:

apt-get install smartmontools

По-умолчанию SMART включён, однако если команда

smartctl -a /dev/<имя диска>

ничего не выдаёт, то можно попробовать включить опцию SMART:

smartctl -s on /dev/<имя диска>

Если вывод smartctl всё-таки случился, то создаём директорию куда бдет записываться файлы с названием диска и содежимым этих файлов будет вывод smartctl -a /dev/<имя диска>:

mkdir /tmp/snmp/

Следующим шагом будет правка конфигурационного файла демона SNMPD. Добавляем в конец файла:

 

nano /etc/snmp/snmpd.conf
extend smartdevices /etc/snmp/smart-generic devices
extend smartdescriptions /etc/snmp/smart-generic description
extend smart1 /etc/snmp/smart-generic 1
extend smart3 /etc/snmp/smart-generic 3
extend smart4 /etc/snmp/smart-generic 4
extend smart5 /etc/snmp/smart-generic 5
extend smart7 /etc/snmp/smart-generic 7
extend smart9 /etc/snmp/smart-generic 9
extend smart10 /etc/snmp/smart-generic 10
extend smart12 /etc/snmp/smart-generic 12
extend smart170 /etc/snmp/smart-generic 170
extend smart171 /etc/snmp/smart-generic 171
extend smart172 /etc/snmp/smart-generic 172
extend smart177 /etc/snmp/smart-generic 177
extend smart178 /etc/snmp/smart-generic 178
extend smart179 /etc/snmp/smart-generic 179
extend smart180 /etc/snmp/smart-generic 180
extend smart181 /etc/snmp/smart-generic 181
extend smart182 /etc/snmp/smart-generic 182
extend smart183 /etc/snmp/smart-generic 183
extend smart184 /etc/snmp/smart-generic 184
extend smart187 /etc/snmp/smart-generic 187
extend smart189 /etc/snmp/smart-generic 189
extend smartR190 /etc/snmp/smart-generic R190
extend smartR194 /etc/snmp/smart-generic R194
extend smart195 /etc/snmp/smart-generic 195
extend smart196 /etc/snmp/smart-generic 196
extend smart199 /etc/snmp/smart-generic R199
extend smart203 /etc/snmp/smart-generic 203
extend smart226 /etc/snmp/smart-generic 226
extend smart230 /etc/snmp/smart-generic 230
extend smart231 /etc/snmp/smart-generic 231
extend smart232 /etc/snmp/smart-generic 232
extend smart233 /etc/snmp/smart-generic 233
extend smart235 /etc/snmp/smart-generic 235
extend smart241 /etc/snmp/smart-generic 241

В некоторых строках перед цифровым параметром используется префикс R, обозначающий, что берётся значений RAW_VALUE из статистики SMART. Без префикса R берётся значение VALUE. Какое значение мониторить решайте сами. Параметры говорящие о здоровье диска могут быть как из RAW_VALUE, так и из VALUE раздела. Значения параметров SMART описаны на каждом шагу в интернете, повторяться не буду.

   Далее скачиваем архив с доработанными шаблономи для CACTI и изменёнными скриптами. Файлы из архива smart-cronjob и smart-generic помещаем в директорию /etc/snmp/ и делаем их исполняемыми:

chmod +x /etc/snmp/smart-cronjob /etc/snmp/smart-generic

 Далее скрипт smart-cronjob нужно назначить к выполнению каждые 5 минут:

sudo -i
crontab -e

в конец конфигурации вставляем

*/5 * * * * /etc/snmp/smart-cronjob

Сохраняем конфигурацию и перезапускаем сервис CRON:

service cron restart

   Далее из архива файл disk_smart.xml помещаем в директорию /usr/share/cacti/resource/snmp_queries/. Ну, и, наконец очередь файла cacti_host_template_smart_parameters.xml - его мы импортируем через web-интерфейс CACTI в меню Console -> Import Templates. После импорта для некоторых будет смысл поменять значения по-умолчанию шаблона. Console -> Graph Templates -> SMART Health (HDD). Можно поменять максимальное значение на графике - Upper Limit (--upper-limit) = 0.

   Время создавать графики. Идём в меню устройства и в разделе Associated Data Queries добавляем наш шаблон, что бы получилось как на скриншоте:

cactihdd

Далее из того же раздела редактирования устройства сверху жмём Create  Graphs for this Host. В разделе Data Query [Disk SMART Parameters] отмечаем жёсткие диски которые нужно поставить на мониторинг. Параметр Graph Type позволяет выбрать параметры и группы параметров для разных типов дисков. Я использую Health (HDD) и Temperatures. Жмём Create. Через некоторое время должны отрисоваться графики.

И, берегите зрение!

 

Комментарии отключены