Will man mittels check_nrpe einen String welcher Leerzeichen enthält übergeben sollte dies auf Seite des Nagios Servers als auch beim NRPE Server passieren:
Nagios Check:
check_something!param1!”param with whitespace”
NRPE Server:
command[check_something]=/path/to/check.sh $ARG1$ “$ARG2$”
Die ” auf Seite des Nagios Servers sorgen dafür, dass check_nrpe die Leerzeichen nicht als einzelne Parameter interpretiert, die ” beim NRPE Server sorgen dafür das dieser diese nicht fehlinterpretiert.
Nicht schön, aber es geht.
Will man einen check in Nagios bauen welcher ein Script per NRPE aufruft und diesem mehrere “-” Parameter übergeben kann das zu problem führen wenn NRPE versucht die Parameter selbst zu interpetieren.
Als workaround kann man statt
check_blablub!-ARG1!-ARG2!-ARG3!-ARG4
folgendes konfigurieren:
check_blablub!"-ARG1 -ARG2 -ARG3 -ARG4"
Was nicht zu funktionieren scheint ist:
check_blablub!"-ARG1"!"-ARG2"!"-ARG3"!"-ARG4"
Damit werde ich mich in nächster Zukunft beschäftigen.
Ich hatte vor kurzem das Problem, dass ich ein Timeout bekam wenn ich eine VM per Livemigration von einem Host weg oder zu diesem Host hin verschieben wollte.
Problem war die MTU des physikalischen Interface die auf den Host auf 1500 gestellt war während die restlichen Hosts im Cluster eine MTU von 9000 hatten. Nachdem die MTU auf 9000 gestellt wurde (Neustart nicht erforderlich) ging alles wieder.
Ich hatte heute das Problem, dass grep mir bei der Suche in einem Testfile als Rückgabe
Binary file (standard input) matches
liefert. Interessanterweise passiert dies auch wenn ich mir den Inhalt mittels cat auf der Konsole ausgeben lasse und dies nach grep pipe. Die Datei wurde unter Windows erstellt, was auch das Problem zu sein scheint.
Der parameter “-a” bei grep kann das Problem lösen.
Eigentlich simpel aber trotzdem erwähnenswert:
Will man über NRPE einen vbs-Check aufrufen sollte man dieses wie folgt im NRPE-Client eintragen:
command[NRPE_COMMAND_NAME]=C:\WINDOWS\system32\cscript.exe -nologo c:\PATH\TO\vbs.vbs
Und weil der Fehler immer mal wieder auftaucht: vor und nach dem “=” keine Leerzeichen setzen!
Gruß
Bibliothekar
Array Inhalte zu sortieren in der Bash ist nicht weiter schwer.
Das folgende Beispiel würde ein Array “numberArray” mit Zahlen absteigend sortieren.
numberArray=($(echo ${numberArray[*]} | tr ' ' '\n' | sort -r))
Das Array wird nach tr umgeleitet, dort werden alle Leerzeichen durch Zeilenumbrüche ersetzt damit sort das ganze sortieren kann. Was und wie man sortieren will hängt hauptsächlich von sort ab.
Und wieder ein mal eine Problemlösung fürt ein Problem welches ich alle paar Monate aufs neue lösen muss / will.
Hat man die .bashrc geändert einfach den Befehl
. .bashrc
eingeben und schon ist die Änderung da. Auf das ich es nie wieder vergessen möge.
Ist Windows Vista / 7 schon installiert, im BIOS aber kein AHCI aktiviert, wird Windows sehr wahrscheinlich nach einer Aktivierung den Dienst verweigern.
Abhilfe schafft da mittels regedit nach:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\Msahci
zu gehen und den Wert des Schlüssels “Start” auf “0″ (Null) zu setzen
Nun den Rechner neu starten, AHCI im Bios aktivieren (DVD-Laufwerk an einen nicht-AHCI Port hängen, ich konnte sonst nicht mehr von CD booten) und glücklich sein.
Oder anders ausgedrückt: Windows ist doof.
Damit ich es hoffentlich nie wieder vergesse:
Wenn man beispielsweise ein Zeilenumbruch oder ähnliches durch ein anderes Zeichen ersetzen will kann dies mit dem Befehl
tr
geschehen. Für mehr details siehe
man tr
Bis vor kurzen hatten Besitzer einer x-fi Titatium unter Linux mehr oder weniger Pech. Vor kurzem kam aus dem ALSA Project (oder Unabhängig davon?) ein Treiber für die x-fi Karten welcher dann auch nach und nach in die Distributionen kommt. Unter anderem liefert das kommende Ubuntu 9.10 das ganze und siehe da: es geht (Ubuntu 9.10 Alpha 3 64bit).
Alles was ich machen musste war die Soundausgabe von hdmi auf die x-fi umzustellen.