Nagios-Plugins für MultiStore vFiler

31. Januar 2012

Die MultiStore Software von NetApp ermöglich ein physisches NetApp Gerät in mehrere virtuelle vFiler aufzuteilen. Jeder dieser vFiler kann für sich von den anderen strikt getrennt verwaltet werden –  wie wenn es sich jeweils um ein eigenes, physisches Gerät handeln würde:

  • Der Administrator eines vFilers kann nur dessen Dateien verwalten
  • Die Daten fremder vFiler sind für den vFiler-Admin nicht sichtbar.
  • Volumes und Qtrees können einem vFiler exklusiv zugeteilt werden.

Der physische Storage wird damit mandantenfähig.

Für das Monitoring kann es natürlich interessant sein, die Volumes eines bestimmten vFilers zu überwachen. Das um so mehr als dank „Over-All“-Checks dynamisch erkannt wird, welche Volumes am Filer gerade existieren.

Um die Überwachung ebenfalls mandantenfähig gestalten zu können, muss es möglich sein gezielt den vFiler ansprechen zu können, dessen Volumes überwacht werden sollen.

Die Nagios-Plugins für NetApp ermöglichen dies seit der Version 2.3.0. Bei jedem Check kann mittels der Option –vfiler=My_vFiler angegeben werden, welcher der vFiler in einer MultiStore-Umgebung geprüft werden soll.

Link: Leistungsbeschreibung Nagios Plugins für NetApp(mit vFiler-Switch).pdf


NetApp-Systeme in CMDB einpflegen?

18. November 2011

Um einen oder mehrere NetApp-Filer  in die Konfigurations-Datenbank zu übernehmen, kann man auf das Check-Modul ‘Status’ zurückgreifen. Alle relevanten Werte werden von diesem direkt vom System ausgelesen und können dann weiter verarbeitet werden.

Weitere Informationen: http://netapp-monitoring.info/

Beispiel:

$ perl check_netapp.pl Status -H toaster
NETAPP OK - Status: ok, The system's global status is normal.
===== EXTENDED SYSTEM INFORMATION =====
ONTAPI-Version: 1.12
Data ONTAP Version: NetApp Release 7.3.4P3: Thu Oct 7 15:23:27 PDT 2010
Vendor-Info, OID-Prefix: .1.3.6.1.4.1.789
vendor-id: NetApp
system-name: filer
partner-system-id: 0131185999
cpu-processor-type: Intel Xeon
board-type: System Board X
cpu-part-number: 110-00035
system-machine-type: FAS3020
system-serial-number: 20588990
memory-size: 2048
cpu-firmware-release: CFE 3.1.0
cpu-serial-number: 0322221
board-speed: 2797
cpu-microcode-version: 45
supports-raid-array: false
partner-system-name: filer2
system-model: FAS3020
system-id: 0001142064
number-of-processors: 2
cpu-processor-id: 0xf29
system-revision: D0
cpu-revision: B1

NetApp DevCon2011 in Japan

29. September 2011

NetApp DevCon2011 in JapanSoftware-Entwickler, spezialisiert auf  Produkte rund um NetApps DataONTAP treffen sich zur Zeit in Japan. Eine ähnliche Konferenz ist auch für Europa geplant – würde mich freuen, wenn daraus etwas wird.

Derzeit verfolge ich diese Konferenz über die NetApp DevCon2011 in Japan-Update Seite.


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.