Einleitung Storage-Monitoring mit Nagios Kapitel 01: Einleitung Überblick... 01.01 NetApp - Network Appliance... 01.03 Data ONTAP & WAFL... 01.04 Interner Aufbau... 01.05
Überblick Storage-Monitoring mit Nagios Folie 01.01 Inhalt des Vortrags: Einleitung NetApp ONTAP ONTAP & Monitoring check_netappfiler.py
Begriffe rund um Filer & Storage Storage-Monitoring mit Nagios Folie 01.02 Einige wichtige Begriffe: NAS: Network Attached Storage "Zugang" auf Datei-Ebene, z.b. NFS (UNIX) und CIFS (Windows) SAN: Storage Area Network "Zugang" auf Block-Ebene, Fibre Channel (FC) und iscsi LUN: eigentlich "Logical Unit Number" "virtuelle Festplatte" Filer: Allgemein ein "File"-Server NetApp FAS: fabric-attached storage
NetApp - Network Appliance NetApp als reine NAS-Company: Storage-Monitoring mit Nagios Folie 01.03 1992: "NetApp Filer" als reiner File-Server, welcher nur NFS spricht Mitte 90er: Ergänzung durch CIFS-Protokoll, Windows-Netzwerke erschlossen Erweiterung der Appliances iscsi: Transport von SCSI über IP (günstig, keine HW notwendig) Fibre Channel: Transport von SCSI über FCP (u.a. "HBA" für alle Rechner erforderlich)
Data ONTAP & WAFL Storage-Monitoring mit Nagios Folie 01.04 Hardware: aktuell basierend auf Intel-, AMD- und MIPS-Prozessoren NVRAM als Write-Cache Data ONTAP: Data ONTAP (Open Network Technology for Appliance Products), lauffähig auf allen 3 Platformen Wesentlicher Baustein: WAFL-Dateisystem WAFL ("Write Anywhere File Layout"): Schreibender Zugriff an beliebige Stelle der Festplatte Erzeugung von Konsistenzpunkten Erzeugung von Read-Only Snapshots (automatisch und manuell)
Interner Aufbau Hardware-nahe: RAID disk RAID group (RAID-4 oder RAID-DP) Plex als Zusammenfassung von RAID-Gruppen Mit WAFL "formatiert" Aggregate als Container für FlexVols Volumes ("flexible" oder "traditional") Inhalt von Volumes (mit WAFL): Für NAS: freigegebene Dateien und Verzeichnisse Für SAN: LUNs als Dateien Storage-Monitoring mit Nagios Folie 01.05
Space auf den Volumes Storage-Monitoring mit Nagios Folie 01.06 Ein Blick auf den df-befehl > df -m -A Aggregate total used avail capacity aggr1 1282MB 851MB 431MB 66% aggr1/.snapshot 67MB 0MB 67MB 0% > df -m -V Filesystem total used avail capacity /vol/luns/ 680MB 2MB 678MB 0% /vol/luns/.snapshot 170MB 0MB 170MB 0%
Anlegen der LUNs Storage-Monitoring mit Nagios Folie 01.07 Zuerst werden mehrere LUNs angelegt und dann der Plattenplatz kontrolliert > lun create -s 250m -o noreserve /vol/luns/lun0 > lun create -s 250m -o noreserve /vol/luns/lun1 > lun create -s 250m -o noreserve /vol/luns/lun2 > df -m -V Filesystem total used avail capacity /vol/luns/ 680MB 2MB 678MB 0% /vol/luns/.snapshot 170MB 0MB 170MB 0% > lun create -s 250m /vol/luns/lun3 > df -m -V Filesystem total used avail capacity /vol/luns/ 680MB 252MB 428MB 37% /vol/luns/.snapshot 170MB 0MB 170MB 0%
ONTAP & Monitoring Kapitel 02: ONTAP & Monitoring Storage-Monitoring mit Nagios Monitoring, aber was?... 02.01 Wege zum Monitoring... 02.02
Monitoring, aber was? Storage-Monitoring mit Nagios Folie 02.01 Einiges zu überwachen: Globaler Zustand, "interne Überwachung" Netzteile, Lüfter, Temperatur Harddisks Füllstand der Aggregate, Volumes und qtrees
Wege zum Monitoring Storage-Monitoring mit Nagios Folie 02.02 "Zugang" zum Filer per serieller Konsole Telnet SSH Web-Frontend ONTAPI SNMP Für das Monitoring bleibt also nur SNMP, auch wenn Data ONTAP nur Version 1 unterstützt.
Mitgelieferte Beispiele Storage-Monitoring mit Nagios Folie 02.03 Im Nagios-Plugins-Paket werden drei kleine Mini-Überwachungen mitgeliefert: Uptime CPU-Auslastung Anzahl Festplatten: Total, Active, Failed, Spare Eigentlich ist nur der letzte interessant, allerdings stehen per SNMP wesentlich mehr Informationen bereit.
check_netappfiler.py Kapitel 03: check_netappfiler.py Storage-Monitoring mit Nagios Mein Nagios-Plugin... 03.01
Mein Nagios-Plugin Storage-Monitoring mit Nagios Folie 03.01 Work in Progress ;-) Idee: Reine SNMP-GET-Abfragen alleine reichen nicht aus Abfrage diverser Status-Werte Auswertung und Aufbereitung (Graphing) dieser Kontrolle gegen Schwellwerte
Beispiele Storage-Monitoring mit Nagios Folie 03.02 Globaler Status Die NetApp kontrolliert sich selbst und gibt einen "Global Status Code" aus. >./check_netappfiler.py -H filer NETAPP(global) OK - FAS3020: The system's global status is normal. Im Falle eines Fehlers enthält die "Global Status Message" eine manchmal mehr, manchmal weniger aussagekräftige Fehlerbeschreibung.
Beispiele CPU Auslastung & Architektur Storage-Monitoring mit Nagios Folie 03.03 Neben der Auslastung kann auch die Architektur ausgegeben werden. >./check_netappfiler.py -H filer -s cpu NETAPP(cpu) OK - CPU Busy: 0%, Context Switches: 2865215862, CPU Architecture: x86
Beispiele Storage-Monitoring mit Nagios Folie 03.04 Eingebaute Überwachung Intern werden auf Überhitzung und ausgefallene Netzteile bzw. Lüfter überprüft. >./check_netappfiler.py -H filer -s environment NETAPP(environment) OK - Filer is happy with his environment ;-) Sollte ein Fehler auftreten, wird genau angezeigt, welches Netzteil bzw. welcher Lüfter kaputt ist.
Beispiele Storage-Monitoring mit Nagios Folie 03.05 NVRAM-Batterie Das NVRAM bzw. die zugehörige Batterie/Akku ist ein wichtiger Baustein für die Datensicherheit der NetApp. >./check_netappfiler.py -H filer -s nvram NETAPP(nvram) OK - NVRAM battery status is "fullycharged" Es gibt 9 verschiedene Zustände (u.a. Batterie kaputt, leer, überladen), die im Klartext angezeigt werden.
Beispiele Storage-Monitoring mit Nagios Folie 03.06 Festplatten Festplatten können mehr als nur funktionieren oder nicht. >./check_netappfiler.py -H filer -s disk NETAPP(disk) OK - Disk stats: 14 total, 7 active, 7 spare, 0 failed Sollten Festplatten nicht als "active" oder "spare" markiert sein, so wird zusätzlich ausgegeben, welche Festplatten in welchem Zustand (z.b. "failed" oder "reconstructing") sind.
Beispiele Storage-Monitoring mit Nagios Folie 03.07 WAFL-Filesysteme Im Gegensatz zu reinen SAN-Appliances kann die NetApp zumindest zum Teil in Freigaben "hineinsehen". >./check_netappfiler.py -H filer -s fs -f 1 NETAPP(fs) OK - aggregate "aggr0": 63% used (747013696kB out of 1190617460kB), INodes: 0% used, status: mounted >./check_netappfiler.py -H filer -s fs --fsindex 3 NETAPP(fs) OK - flexiblevolume "/vol/vol0/": 2% used (169816kB out of 10066332kB), INodes: 0% used, status: mounted
ToDo Storage-Monitoring mit Nagios Folie 03.08 Bei gutem Wetter funktioniert das Plugin schon ganz gut ;-) Allgemein: Timeouts einbauen Konfigurierbare Schwellwerte für OK, WARNING und CRITICAL (z.zt. fest codiert) Performance Daten ausgeben Checks: FS-Überblick qtree- und Plex-Status Protokolle (NFS, CIFS, iscsi, FC) Netzwerk Temperaturüberwachung
Fragen? Storage-Monitoring mit Nagios Folie 03.09 Fragen? Sven Velt - sv@teamix.de