Erkennen Sie die Zuverlässigkeit Ihrer Festplatte (Icinga/Nagios Skript)
Vor einer Weile hatten wir uns entschieden, sukzessive die von uns geschriebenen Nagios/Icinga Überwachungskripte zu veröffentlichen. Heute möchten wir mit der Veröffentlichung eines weiteren Skriptes fortfahren.
Das Nagios/Icinga-Plugin check_smart
liest die von smartctl
zurückgelieferten Informationen des „Self-Monitoring, Analysis and Reporting Technology“ (SMART) Systems aus, das in die meisten ATA/SATA, SCSI/SAS bzw. Solid-State-Drives eingebaut ist.
SMART ermöglicht es, die Zuverlässigkeit einer Festplatte zu überwachen und eventuell nahende Ausfälle durch verschiedene Tests frühzeitig zu erkennen. Auf unserer Seite erklären wir Ihnen, wieso Festplattenüberwachung wichtig ist.
Das Skript check_smart
erfüllt dabei folgende Aufgaben:
- Überprüfung, ob der Self-Assesment Test einer Festplatte erfolgreich war (
SMART overall-health self-assessment test result: PASSED
) - Rückgabe aller vefügbaren Vendor-spezifischen SMART-Performance Daten als Nagios PERFDATA String
Dafür parst es den Output von:
für alle Festplatten, die sich in der [Monitored]
Sektion einer Konfigurationsdatei unter CONF_FILE_LOCATION
befinden. Dieses wird standardmäßig unter "/etc/nagios/check_smart.conf"
gesucht.
Sämtliche Festplatten der Form /dev/sd[a-z]
bzw. /dev/sg[0-9]
müssen in der Konfigurationsdatei entweder explizit überwacht oder ignoriert werden. Im letzteren Fall erfolgt keine Ausgabe der entsprechenden SMART-Werte bzw. keine anderweitige Überprüfung der Platte.
sda
sdb
[Ignored]
sdc
sg0
Schlägt kein Selbsttest einer spezifizierten Platte fehl und ist die Konfiguration valide, so ist der TEXT_OUTPUT/EXIT_CODE
des Skripts OK/0
andernfalls ERROR: ERROR_MSG/2
.
Werte, die je nach Verfügbarkeit ausgelesen werden, sind
Reallocated Sector Count
Raw Read Error Rate
Wear Leveling Count
Used Rsvd Blk Cnt Tot
Uncorrectable Error Count
Command Timeout
Airflow Temperature Celsius
Temperature Celsius
Current Pending Sector
Offline Uncorrectable
UDMA CRC Error Count
Host Writes 32MiB
Available Reservd Space
Total LBAs Written
Total LBAs Read
Host Reads 32MiB
NAND Writes 1GiB
Diese werden als Teil des PERF_STR
zurückgegeben, unabhängig davon, ob ein Selbsttest einer Platte versagt oder nicht.
Eine Beispielausgabe für zwei Festplatten /dev/sda
bzw. /dev/sdb
ist nachfolgend zu sehen.
OK | sda_RRER=2031652 sda_Realloc_Sector=0 sda_Temp=25 sda_Cur_Pend_Sector=0 sda_Offline_UnC=0 sda_UDMA_CRC_Error=0 sda_RRER_n=90 sda_Realloc_Sector_n=100 sda_Temp_n=240 sda_Cur_Pend_Sector_n=100 sda_Offline_UnC_n=100 sda_UDMA_CRC_Error_n=200 sdb_RRER=16253438 sdb_Realloc_Sector=2 sdb_Temp=29 sdb_Cur_Pend_Sector=1 sdb_Offline_UnC=0 sdb_UDMA_CRC_Error=0 sdb_RRER_n=80 sdb_Realloc_Sector_n=100 sdb_Temp_n=206 sdb_Cur_Pend_Sector_n=100 sdb_Offline_UnC_n=100 sdb_UDMA_CRC_Error_n=200
Das Skript kann hier heruntergeladen werden.