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 CountRaw Read Error RateWear Leveling CountUsed Rsvd Blk Cnt TotUncorrectable Error CountCommand TimeoutAirflow Temperature CelsiusTemperature CelsiusCurrent Pending SectorOffline UncorrectableUDMA CRC Error CountHost Writes 32MiBAvailable Reservd SpaceTotal LBAs WrittenTotal LBAs ReadHost Reads 32MiBNAND 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.
