Мониторинг SMART в Linux

Что можно мониторить

  1. Raw_Read_Error_Rate
  2. Spin_Up_Time
  3. Start_Stop_Count
  4. Reallocated_Sector_Ct
  5. Seek_Error_Rate
  6. Power_On_Hours
  7. Spin_Retry_Count
  8. Power_Cycle_Count
  9. Unused_Rsvd_Blk_Cnt_Tot
  10. End-to-End_Error
  11. Reported_Uncorrect
  12. Command_Timeout
  13. High_Fly_Writes
  14. Airflow_Temperature_Cel
  15. G-Sense_Error_Rate
  16. Power-Off_Retract_Count
  17. Load_Cycle_Count
  18. Temperature_Celsius
  19. Hardware_ECC_Recovered
  20. Reallocated_Event_Count
  21. Current_Pending_Sector
  22. Offline_Uncorrectable
  23. UDMA_CRC_Error_Count

Требования

Для работы должны быть установлены следующие пакеты:

  1. smartd
  2. sed
  3. cut
  4. grep
  5. tr

Установка скрипта для мониторинга

В /opt сервера, на котором необходимо настроить мониторинг кладем 2 файла и ставим им аттрибут на исполнение:

Выдает значение параметра в том виде, как он содержится в системе

get_smart_value.sh
#!/bin/bash
if [ $# -ne 2 ];
then
echo "Usage: $0 <device> <parameter>"
exit
fi
 
smartctl -A $1 | grep $2 | tr -s ' ' | sed "s/^[[:space:]]*\(.*\)[[:space:]]*$/\1/" | cut -d" " -f10

Выдает состояние параметра с учетом времени возможного отказа

get_smart_status.sh
#!/bin/bash
if [ $# -ne 2 ];
then
echo "Usage: $0 <device> <parameter>"
exit
fi
 
smartctl -A $1 | grep $2 | tr -s ' ' | sed "s/^[[:space:]]*\(.*\)[[:space:]]*$/\1/" | cut -d" " -f7

Добавление параметров в конфигурацию агента

В конец файла /etc/zabbix/zabbix_agentd.conf добавляем строки для нужных параметров, например:

UserParameter=hdd.sda.temperature,/usr/local/bin/get_smart_value.sh /dev/sda Temperature_Celsius
UserParameter=hdd.sda.raw_read_error_rate,/usr/local/bin/get_smart_value.sh /dev/sda Raw_Read_Error_Rate
UserParameter=hdd.sda.reallocated_sector_count,/usr/local/bin/get_smart_value.sh /dev/sda Reallocated_Sector_Ct
 
UserParameter=hdd.sdb.temperature,/usr/local/bin/get_smart_value.sh /dev/sdb Temperature_Celsius
UserParameter=hdd.sdb.raw_read_error_rate,/usr/local/bin/get_smart_value.sh /dev/sdb Raw_Read_Error_Rate
UserParameter=hdd.sdb.reallocated_sector_count,/usr/local/bin/get_smart_value.sh /dev/sdb Reallocated_Sector_Ct

Шаблон для zabbix'a

monitoring_smart_v_linux.txt · Последние изменения: 2013/10/23 15:12 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика