Hier sind ein paar "quick & dirty" zusammengezimmerte Userparameter für Zabbix 🙂 , welche zum Einen prüfen, wieviele Pfade pro Device zur Verfügnung stehen, sowie einmal schauen, ob sich Pfade in einem Fehlerstatus befinden.
Anzahl der Pfade
UserParameter=Count.Multipath.Devices, echo $(( $(echo 'show paths' | sudo /sbin/multipathd -k | grep ready | wc -l) / $(echo 'show maps' | sudo /sbin/multipathd -k | grep dm | wc -l) ))
Hier wird der multipathd -k
aufgerufen und die Pfade und Maps abgefragt. Ist die Summe aus Pfade / Maps = 4
so wird davon ausgegangen, dass alle 4 Pfade für das jeweilige Device da ist.
Fehlerstatus Überprüfung
UserParameter=Check.Failed.Path, echo 'show paths' | sudo /sbin/multipathd -k | awk '/failed/||/faulty/||/shaky/||/offline/ {print $2,$5,$6,$7}'|wc -l
Hier wird die Ausgabe von echo 'show path' | multipathd -k
durch einen awk
geschleift und geprüft ob einer dieser Fehlerstatus auftaucht. - shaky / faulty Ist ein Pfad verbunden und bereit für I/O ist der Status "online" ansonsten wird er auf faulty oder shaky gesetzt. - failed Ist ein DM down wird es als "failed" markiert. Ist das selbe wie bei "faulty". - offline Ist ein SCSI Device deaktivert, wird der Online_Status auf offline gesetzt.
Der Rückgabewert ist 0, sofern keine Fehler erkannt werden. Ist also der Rückgabewert höher als 0, so muss interveniert werden.
Trigger
Im Zabbix sind Trigger eingerichtet, welche dann entsprechend des Verwendungszweckes auf die Werte reagieren.
Berechtigungen
Um multipathd in den Zabbixuserparametern zu nutzen, ist es erforderlich die Berechtigungen anzupassen. Dies wird im Artikel SUDO Einstellungen für Zabbix.
Schreibe einen Kommentar