Archive for the ‘NetApp’ Category

h1

NetApp Monitoring in neuem Blog

31. Oktober 2009

Zu dem Thema Monitoring von NetApp Speichergeräten schreibe ich ab sofort in einem eigenen Blog weiter …

blog.netapp-monitoring.info

Advertisements
h1

Debugging Nagios Plugins

9. Juni 2009

Heute war Debugging-Tag für die NetApp-Plugins für Nagios. Am meisten Probleme bereitete mir mein Ehrgeiz sie im ePN (Embedded Perlinterpreter for Nagios) laufen zu lassen. Bei einer Kundeninstallation wurden die Performancedaten nicht mehr verarbeitet, wenn das Script im ePN läuft – ein Fehler den ich bisher nicht nachvollziehen konnte, ich tippe hier auf eine fehlenden Kennzeichnung  (#nagios: -epn) im performance-Parser. Aber wer weiss …

Der andere Fehler waren einige Scripts, die sich im Nagios mit „Service check did not exit properly“ meldeten, während sie auf der Commandline problemlos liefen. Zunächst einmal drehte ich das Debugging im Nagios auf, indem ich in der nagios.cfg diese Werte setzte:

debug_level=16
debug_verbosity=1
debug_file=/usr/local/nagios/var/nagios.debug

Somit bekam ich dan schon alle Infos frei Haus geliefert, um die Fehler einzugrenzen. Z.B.
Embedded Perl failed to compile /usr/local/nagios/libexec/check_netapp_hardware.pl, compile error **ePN failed to compile /usr/local/nagios/libexec/check_netapp_hardware.pl: „Variable „$object“ will not stay shared at (eval 3969) line 240,“ at /usr/local/nagios/bin/p1.pl line 248.
– skipping plugin

Bei der Nachsicht in dem Plugin entdeckte ich, dass in einer Subroutine auf die mit my im Hauptprogramm definierte Variable (eben jene $object) zugegriffen wurde, was nicht 100%-ig sauber ist. Nach einer Änderung auf local our $object; lief das Plugin durch, bis zum nächsten Fehler, der dann sinngemäß gleich zu beheben war.

Anschliessend bekam ich dann noch die Meldung Check of service ‚CPU-Utilization‘ on host ’simbig‘ could not be performed due to a fork() error: ‚Cannot allocate memory‘! bzw. etwas ähnliches mit „too many open files“ was sich aber durch einen Neustart von Nagios beheben ließ.

Interessant auch, dass es schon ein Reihe von Wrapper-Scripts für Plugins gibt; die Folgenden habe ich gefunden aber sie für diese Debugging-Session dann gar nicht benötigt:

http://www.nagios.org/faqs/viewfaq.php?faq_id=379

http://www.waggy.at/nagios/capture_plugin.htm

h1

Nagios: Monitoring the lag-time of SnapMirrors on NetAppFiler

5. Mai 2009

I just finished a new version of check_netapp_snapmirror. You can use it to monitor the lag-time of several or all snap mirrors on a netapp-filer.

Some examples:

$ check_netapp_snapmirror.pl -H toaster -u nagios%pass
Checks the lag-time of all snampmirror-sources on toaster with the default-thresholds.

$ check_netapp_snapmirror.pl -H netapp11 -u nagios%pass -X netapp11:vol4
Checks the lag-time of all snapmirror-sources on netapp11 with the exception of vol4 using the default-thresholds.

$ check_netapp_snapmirror.pl -H netapp11 -u nagios%pass -X netapp11:vol2 -X netapp11:vol4 -w 120 -c 240
Checks the lag-time of all snapmirror-sources on netapp11 with the exception of vol2 and vol4 – thresholds are set to 120 and 240 sec.

$ check_netapp_snapmirror.pl -H toaster -u nagios%pass -l vo1 -e pair_state –ok_pairstate=snapmirrored –ok_pairstate=uninitialized –w_pairstate=source
Checks vol1, ok if state is either snapmirrored or uninitialized, warning if source.

$ check_netapp_snapmirror.pl -H toaster -u nagios%pass -e last_transfer_duration -w 360 -c 1800
Checks the last-transfer-duration of all snampmirror-sources on toaster. Warning if more than 5 minutes (360s) and critical if more than 1 hour (1800s).
http://ingo.lantschner.name/NetappNagiosPlugins.html

h1

Nagios-Plugins für NetApp: Usage und Beispiele online

20. Februar 2009

Ich habe heute die Seite mit den Nagios-Plugins für NetApp-Filer wesentlich erweitert und übsichtlicher gestaltet. Die Daten dazu werden per Perlscript drirekt aus dem git gezogen und sind somit leicht und präzise aktulell zu halten.

Um die Beispiele und Usage unabhängig vom Browser und der Fenstergröße auf einen Blick erfassbar zu machen, war es wichtig, dass keine unerwünschten Zeilenumbrüche gemacht werden. Dabei hat sich das via regex eingesetzte <nobr>-Attribut als sehr hilfreich erwiesen. Die subroutine lautet:

sub nobr {
    # hält die Bereiche der Parameter (-H host, --help, ...) zusammen
    s/\[?\-+\w+[\ = \]]\S*/<nobr>$&<\/nobr>/g;
}

Link http://ingo.lantschner.name/NetappNagiosPlugins.html

h1

Nagios-Plugins für NetApp verfügbar

13. Februar 2009

Seit heute kann man sich über die von mir erstelle Suite an Nagios-Plugins für NetApp Speichergeräte (Filer) auf meiner Homepage informieren.

Diese Plugins wurden auf Basis der NetApp-API (Manage ONTAP SDK) erstellt, holen ihre Daten über HTTP und sind daher auch mit zukünftigen Versionen von DATA ONTAP kompatibel.

Für weitere Informationen

http://ingo.lantschner.name/NetappNagiosPlugins.html

h1

CIFS Service im NetApp in Windows-Domain integrieren

6. Mai 2008

Um einige CIFS-spezifische Komandos des NetApp ONTAP testen zu können, muss der NetApp Simulator in die Domain eines Windows 2003 servers integriert werden. Ich habe habe dazu einen virtuellen Windows Server laufen, den ich mittels dcpromo zum DC der Domain netapp.test machte.

Sonstige Konfig: Zwei Virtuelle Maschinen mittels VMware Fusin auf OS X 10.5 – die eine ist der Simulator von Netapp (in einem Ubuntu Linux) die andere der Windows 2003 Server. Alle virtuellen NICs sind auf das Netzwerk gebridged und bekommen ihre IPs von dem lokalen DHCPd im Netz – genauso wie der OS X Host.

An sich ist die Konfiguration des CIFS-Service am Netapp ein simples Vorhaben, wenn man die Fallstricke kennt:

1. Firewall am Windows Server deaktivieren – sonst keine Nameresolution. Kann man mittels host <dcname>.netapp.test prüfen.

2. Zeiten synchronisieren (am OS X Host wird das wohl der Fall sein, in der Windows-VM und dem Host-OS für den Simulator ist das wichtig – der Simulator nimmt die Zeit dann von seinem Host-OS!)

2. CIFS-Service stopen: > cifs terminate

3. > cifs setup

Den defaults folgen – so weit sinnvoll. Auf die Timeservices habe ich verzichtet – muss in dieser Testumgebung halt selber den Host für den Simulator (ein Ubuntuserver) aktuell halten (# ntpdate -v time.inode.at).

Das wars!

h1

NetApp-Simulator für Mac OS X

9. April 2008

Den NetApp-Simulator in Mac OS X verwenden

Im Zuge der Entwicklung von Nagios Plugins für NetApp Speichersysteme, benötigte ich den NetApp Simulator um diese Plugins entwicklen und testen zu können. Da ich hier zur Zeit keinen Linux-Rechner betreibe entschied ich mich auf meinem iMac einen virtuellen Linuxserver zu installieren und dann dort den Simulator laufen zu lassen.

Beim Download des Simulators war eine Anleitung von Paul Hargreaves beigepackt die eine Installation des Simulator auf Windows (als Gastbetriebssystem) und dann einem Ubuntu 6.01 Desktop in einer VM beschreibt. Diese Anleitung ist an sich nicht schlecht, passte aber nicht ganz auf meine Anforderungen:

1. Habe ich OS X und nicht Windows, daher verwende ich VMware Fusion

2. Möchte ich nicht einen Desktop (mit GUI, …) installieren, wenn ich eigentlich nur einen Server brauche. Obendrein hätte ich die die Server-VM fix und fertig vorbereitet gehabt.

Also entschied ich mich für folgendes: Max OS X 10.5, VMware Fusion 1.1.1 und Ubuntu Server 6.01 LTS, NetApp Release 7.2.4 (Simulator).

Überblick:

  1. Einrichten des Gastsystemes
  2. VMware einrichten
  3. Installation Linux Server in der VM
  4. Installation des Simulators

Gastsystem einrichten

Am Mac OS X ist nichts speziell zu tun ausser VMware Fusion zu installieren. Die aktuelle Version (s.o.) läuft gut auf Leopard – aber Vorsicht: Time Machine sichert erst ab der VMware-Fusion-Version 1.1.2 und wenn OS X 10.5.2  oder höher installiert wurde die VMs! Workaround: Gelegentlich ein ZIP von der VM machen – das wird dann gesichert. (Zippen natürlich nur, wenn die VM abgeschalten ist)

VMware einrichten

In meiner Umgebung gibt es einen DHCP-Server auf der Firewall, der für das interne LAN ca. 10 freie Adressen hat. Der springende Punkt war nun – im Gegensatz zur Dokumentation von Paul Hargreaves – die virtuellen Netzwerkkarten als bridged einzurichten. Nur so ist es möglich, dass von Seiten des Hostbetriebssystemes (also OS X) auf die IP und somit den Webserver des Simulator zugegriffen wird. Das ist z.B. nötig, um über die Weboberfläche des Simulators diesen zu konfigurieren.

Also richte ich zwei virtuelle Netzwerkkarten auf der VM ein (dazu muss das Gastbetriebssystem heruntergefahren werden) und beide werden über /etc/network/interfaces als DHCP-Clients konfiguriert. (Diese zweite Netzwerkkarte kann man sich auch sparen, dann bekommt man bei der Installation des Simulator eine Warnmeldung, dass der Simulator von diesem Server aus nicht zu nützen sei. Das mag sein, mir war das aber nicht wichtig, denn administrierbar war der Netapp-Simulator jedenfalls.)

Linux Server in der VM installieren

Ich hab eine schon früher vorbereitete Installation von Ubuntu Server verwendet. Auf Updates (apt-get upgrade) und VMware Tools habe ich verzichtet. Aber sehr wichtig: Es wird Perl benötigt, sonst kann man später keine Disken dem Simulator hinzufügen.

apt-get install perl

Dann kopiert man das Simulator-Tar auf die Linuxmaschine – mit z.B. scp. Wenn man dabei nicht noch den sshd am Linuxrechner installieren will (was mit apt-get install open-ssh-server möglich wäre) muss man am Mac den sshd aktivieren. Das läuft über die Systemeinstellungen -> Sharing -> „Entfernte Anmeldungen“ aktivieren.

Installation des Simulators

Siehe dem Simulator beigepackte Doku – hier nur ein paar Tipps:

./setup.sh

Im Folgenden sind die Default-Antworten ok. Lediglich die an sich unnötige Frage, ob man die Installation fortsetzen will muss natürlich mit yes statt no beantwortet werden.

Bei der Frage “ Which network interface schould the simulator use?“ habe ich dediziert eth2 angegeben.

Dann kann man wieder den defaults folgen.

Als Nächster Schritt ist der Simulator mit /sim/runsim.sh zu starten und einige Fragen zur Erstinstallation zu beantworten. Dabei schaltet der Simulator die NIC in den Promiscuity-Mode, was auch das Umschalten des Hostsystemadapters zur Folge hat, weswegen man von OS X um ein Adminpasswort gefragt wird. Das ist lt. NetApp Doku so gewollt und scheint mir auch einigermassen plausibel.

Etwas später kommt die Frage: „Please enter the IP adress for Network Interface ns0“. Hier wird dann eine vom DHCP-Server vorgschlagene Adresse als Default angegeben. Das ist ok, nur diese bitte aufschrieben, da wir sie gleich brauchen werden. Der Rest sollte klar sein, sobald man zur CIFS-Installation kommt kann man mit Ctrl+C abbrechen.

Zugriff auf die Weboberfläche vom Simulatir erfolgt dann über einen Webbrowser. Safari ist nicht mit dem Simulator kompatibel – ich habe Firefox verwendet:

http://<ip die der Sim über DHCP bekommen hat>

Dann Klick auf na_admin und root als User und das zuvor gesetzte Passwort eingeben. That’s it.