Disk-Utilization auf Aggregatebene

26. August 2010

Der Version 2-Check PerfDisk macht verglichen mit seinem Vorgänger check_netapp_utilization nichts Neues: er misst in regelmässigen Abständen die utilization je vorhandener Disk.

Utilization: Percentage of time there was at least one outstanding request to the disk

Neu ist, dass bei Perfdisk ein Filter für das Aggregat gesetzt werden kann. Sinnvoll ist das vor allem um heraus zu finden, ob für ein Aggregat weitere Festplatten nötig sind, um der Belastung gewachsen zu sein.

Nagios-Plugins für NetApp


Latenz („per volume latency“) mit Nagios überwachen

16. Juni 2010

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 …

Link

[1]
Storage Performance Management


Autodiscovery für Perf-Counter

24. Februar 2010

Mit dem Plugin check_netapp_ops.pl lassen sich verschiedene Systemcounter wie beisielsweise total_ops, nfs_ops, net_data_sent eines NetApp Filers überwachen und bei Überschreiten Alarme via Nagios versenden. Doch nicht alle Counter sind auf jedem System vorhanden und nicht alle vorhandenen Counter werden vom Plugin unterstützt. Das Herausfinden der Schnittmenge aus vorhandenen und unterstützten Countern war eine eher mühsame Aufgabe bei der Implementierung der Plugins.

In der Version 2 verfügt das diesem Check nachfolgende Check-Modul Ops.pm diese Aufgabe für den Admin: Durch Angabe von explore anstelle eines Counternamens, bekommt man eine Liste aller verfügbaren und vom Plugin auch überwachbaren Counter  - gleich zusammen mit der Maßeinheit.

Hier ein Beispiel:

$ ./check_netapp.pl Ops -f auth -H toaster01 -z explore
System Performance Counters available _and_ supported on this filer:
================================================================================
Counter-Name                Description (Unit, Privilege)
--------------------------------------------------------------------------------cifs_ops                    CIFS operations per second (per_sec, basic)
nfs_ops                     NFS operations per second (per_sec, basic)
net_data_sent               Network KB sent per second (kb_per_sec, basic)
total_ops                   Total operations per second (per_sec, diag)
net_data_recv               Network KB received per second (kb_per_sec, basic)
write_ops                   Write operations per second (per_sec, basic)
fcp_ops                     FCP operations per second (per_sec, basic)
iscsi_ops                   iSCSI operations per second (per_sec, basic)
read_ops                    Read operations per second (per_sec, basic)
disk_data_written           Disk KB written per second (kb_per_sec, basic)
http_ops                    HTTP operations per second (per_sec, basic)
streaming_pkts              Netcache streaming media packets serviced per
second (per_sec, diag)
disk_data_read              Disk KB read per second (kb_per_sec, basic)
cifs_ops                    CIFS operations per second (per_sec, basic) nfs_ops                     NFS operations per second (per_sec, basic) net_data_sent               Network KB sent per second (kb_per_sec, basic) total_ops                   Total operations per second (per_sec, diag) net_data_recv               Network KB received per second (kb_per_sec, basic) write_ops                   Write operations per second (per_sec, basic) fcp_ops                     FCP operations per second (per_sec, basic) iscsi_ops                   iSCSI operations per second (per_sec, basic) read_ops                    Read operations per second (per_sec, basic) disk_data_written           Disk KB written per second (kb_per_sec, basic) http_ops                    HTTP operations per second (per_sec, basic) streaming_pkts              Netcache streaming media packets serviced per                            second (per_sec, diag) disk_data_read              Disk KB read per second (kb_per_sec, basic)
http://www.netapp-monitoring.info/de/nagios-plugins.html

NetApp Performance-Counter

30. November 2009

Performance Counter – die Basis für das Performance-Monitoring

Wie auch immer man die Leistung eines NetApp-Filers überwacht, letztendlich greift man auf die Performance Counter zu. Diese sind nach einem klar strukturierten, hierarchischen Konzept [1] angelegt.

Objekte – Exemplare – Zähler (Objects – Instances – Counter)

Die oberste Ebene stellen Objekte dar, wie zum Beispiel Volumes. Von diesen Objekten kann es nun mehrere Exemplare (engl. instances) geben, z.B. ‘vol0′, ‘backup-vol’, o.a. Jedes Exemplar besitzt wiederum ein durch das Objekt vorgegebenes Set  an Zählern (engl. counter). So werden beispielsweise je Volume die read_ops, die read_latency usw. zur Verfügung gestellt.

Verwaltet werden alle diese Werte vom Counter Manager (CM), auf den über das NetApp eigene CLI aber auch via SNMP oder die NetApp-API zugegriffen werden kann.

Das Nagios-Plugin check_netapp_ops frägt zahlreiche dieser Werte ab und stellt sie für die weitere Verarbeitung in Nagios zur Verfügung.

  • total_ops, read_ops, write_ops
  • nfs_ops, cifs_ops, http_ops fcp_ops
  • iscsi_ops, dafs_ops
  • net_data_recv, net_data_sent
  • disk_data_read, disk_data_written
  • streaming_pkts

So kann  nun einfach beim Überschreiten von Schwellwerten alarmiert werden oder an Hand von Trends, die PNP4Nagios aufzeichnet anaysiert werden. Eine Erweiterung um Werte wie latency oder cache-age ist schon angedacht. Bei Interesse kontaktieren Sie mich bitte.

[1] partners.netapp.com - Abbildung Blockdiagramm


Monitoring Cache-Age

26. November 2009

Aktualisierung 2012-01-31

Wie in dem Kommentar zu lesen ist, der Wert „cache age“ hat sich in der sysstat Ausgabe selbst überlebt. Es gibt daher  von mir auch kein Nagios-Plugin das den cache-age prüfen würde.

Aktuell gibt es aber einige neue Entwürfe zum Monitoring der verschiedenen Caches (System-Buffer, FlashCash, FlexCache).


Ursprünglicher Artikel

Allenthalben hört und liesst man von der Möglichkeit, auf einem NetApp-Filer den Wert cache-age zu überwachen. Folgendes fällt mir dazu ein:

Was ist das Cache-Alter (cache-age)?

Das CLI-Werkzeug sysstat definiert den Wert cache-age so:

The age in minutes of the oldest read-only blocks in the buffer cache. Data in this column indicates how fast read operations are cycling through system memory; when the filer is reading very large files (larger than the machine’s memory size), buffer cache age will be very low.

Kurz zusammengefasst gibt der Wert also ein Alter in Minuten an  - je größer um so besser sollte es um die Antwortzeiten für Leseanfragen bestellt sein. Auf die Write-Performance hat das keinen Einfluss.

Was machen wir mit diesem Wert?

Der NetApp System Administration Guide empfiehlt bei einem Absacken der cache-age auf unter 3 Minuten, die Werte für read-ahead auf den betroffenden Volumens anzupassen.

If the file access patterns of your clients are random (nonsequential) and the cache age is less than three, setting minimal read-ahead to ‘on‘ might improve performance.
Weiters kann ein reduzierter cache-age ein Hinweis darauf sein, dass man durch Einbau von mehr Cache-Speicher (PAM-Card) die Performance verbessern kann.
http://blogs.netapp.com/storage_nuts_n_bolts/2008/08/performance-acc.html

Follow

Get every new post delivered to your Inbox.