NetApp empfiehlt[1] die Überwachung der “per-volume-latency” (Latenz je Volume) als primären Indikator für zu erwartende Performance-Engpässe. Da dieser Indikator über SNMP nicht verfügbar war, gibt es meines Wissens nach kein Nagios-Plugin, das sich dafür geeignet hätte.
Es lag daher nahe, auf Basis des NetApp SDK ein Nagios-Plugin zu entwickeln, das die Latenz eines Volumes regelmäßig prüft und aufzeichnet. Mit PerfVolume steht ein solches seit heute zur Verfügung.
Unterstützte Counter
Wie auch die anderen Plugins, verfügt PerfVolume.pm über eine Option zur Erkennung der auf einem NetApp-System angebotenen Leistungskennzahlen.
Aufgerufen wird dieses Check-Plugin übrigens mit dem zu der Version 2 gehörigen Startskript check_netapp.pl.
$ ./check_netapp.pl PerfVolume -H sim8a -f ../auth --explore=counters Volume Performance Counters available on this filer: ================================================================================ Counter-Name Description (Unit, Privilege) -------------------------------------------------------------------------------- read_latency Average time for reads to the volume (microsec, basic) avg_latency Average latency in microseconds for all operations on the volume (microsec, basic) total_ops Number of operations per second serviced by the volume (per_sec, basic) other_latency Average time for other operations to the volume (microsec, basic) other_ops Number of other operations per second to the volume (per_sec, basic) write_ops Number of writes per second to the volume (per_sec, basic) write_latency Average time for writes to the volume (microsec, basic) read_ops Number of reads per second to the volume (per_sec, basic)
Beispiel
Nehmen wir den Counter avg_latency als Beispiel. Folgend der Aufruf über die Komandozeile und die Ausgabe.
$ ./check_netapp.pl PerfVolume -H sim8a -f ../auth -z avg_latency -n vol0 -w 20 -c 200 NETAPP OK - avg_latency: 3.2 µs | avg_latency=3.20µs;20;200
Verdächtig flott – aber dieser Filer hat nicht viel zu tun …