Voice Alarming mit Nagios und Asterisk

Bei besonders kritischen Services reicht es nicht aus eine Mail als Alarm zu erhalten. Ein Telefonanruf ist hier deutlich besser geeignet. Sein Handy hat man immer dabei und via Tonwahl lassen sich ggf. gleich Aktionen im Nagios ausführen (ACKNOWLEDGE, disable notficications). Eine kurze Internetrecherche hat mich zu einer Lösung von Netways zu diesem Problem geführt. Die dort beschriebene Lösung habe ich dann noch etwas angepasst, so dass die Anrufe von Asterisk über SIP an eine beliebige Telefonnumer geschickt werden. Hierzu rufe ich das Perlscipt call.pl wie folgt auf:

/usr/bin/printf "%b" "$MESSAGE" | /usr/lib/nagios/contrib/nagios2asterisk/call.pl -n $CONTACTPAGER -c 110 -C "SIP/$CONTACTPAGER@sipgate-out"

Im Asterisk ist unter sipgate-out die Verbindung zu meinem VoIP Provider (in diesem Falle sipgate) definiert. In $CONTACTPAGER steht die anzurufende Telefonnummer und in $MESSAGE die vorzulesende Nachricht. Damit die Alarme vom Nagios etwas besser verständlich werden, habe ich um das ganze noch ein wrapper script drum rum gebaut. Dieses schickt dann in Abhängigkeit vom Nagios Alarmtyp unterschiedliche Nachrichten ans Telefon. Zu den verwendeten Text2Voice Tools (MBROLA, TXT2PHO) gibt es auch einige Anmerkungen: Damit die MBROLA Binaries auf meinem Ubuntu x64 System laufen, musste ich erst noch (auch bei der x64 Version von MBROLA) das Paket libc6-i386 installieren. Ein . (Punkt) im vorzulesenden Text erzeugt eine Pause. Dieses Element sollte man durchaus nutzen um die Nachrichten verständlicher zu gestalten. Ich nutze zum Vorlesen die Stimme de5, da ich diese für am verständlichsten halte.

Don’t use OpenVPN with UDP? Bad performance?

Ich stellte schlechte OpenVPN Performance über ein 100MBit Netzwerk fest. Von meinem Macbook aus erreichte ich via Tunnelblick nur ca. 10 MBit auf einen Linux Server. Nach längeren Tests stellte es sich heraus, dass ein Schwenk auf TCP anstatt von UDP das Problem beseitigt und ich annähernd 100 MBit über den Tunnel übertragen kann. Keine Ahnung, ob das nur in meiner Konfiguration der Fall, ein generelles Problem oder nur bei den Messungen via iperf der Fall ist.

openvpn with cryptodev support

Da ich seit einigen Tagen Besitzer eines Alix 6B2 mit Geode CPU bin, musste natürlich auch die Hardware AES Beschleunigung dieser Plattform ausgenutzt werden. Um das ganze unter Linux zum laufen zu bekommen, ist etwas patching nötig. Unter diversen *BSD Varianten funktioniert das wohl „out of the box“. Es braucht einen Linux Kernel mit geode-aes support und den Cryptodev Patches. Ich habe die OCF Impelementierung und einen Standard 2.6.26.2 Kernel genutzt. Im Archiv ocf-linux-20080704.tar.gz gibt es ein Unterverzeichniss ocf welches nach linux-2.6.26.2/crypto/ocf kopiert werden möchte. Anschließend habe ich den Kernel patch angewendet: linux-2.6.26.2 $ patch -p0 < ../ocf-linux-26-20080704.patch. Laut einem Mailinglisten Eintrag auf der OCF Liste brauchts noch einen Patch für 2.6.26er kernel. Diesen habe ebenfalls eingespielt: linux-2.6.26.2 $ patch -p0 < ../ocf-2.6.26.patch. Nun kann man normal via make menuconfig seinen Kernel konfigurieren. Für crypdodev support auf Geode sind folgende Einstellungen nötig:

CONFIG_OCF_OCF=m
CONFIG_OCF_CRYPTODEV=m
CONFIG_OCF_CRYPTOSOFT=m
CONFIG_CRYPTO_DEV_GEODE=m

Sobald der Kernel gebootet ist, sollte man die Module geode-aes, ocf, cryptodev und cryptosoft laden können und über die cryptotools erste Tests (z.B. cryptotest 100 4096) machen können. Damit nun auch Anwendungen wie z.B. OpenVPN von der Hardwareunterstützung profitieren können, muss openssl gepatcht werden. Ich habe hierzu das Source Paket von openssl aus dem kommenden Debian lenny verwendet, gepatcht und installiert:

# apt-get --default-release=lenny source openssl
# cd openssl-0.9.8g/
openssl-0.9.8g # patch -p0 < ../ocf-linux-20080704/openssl-0.9.8g.patch
openssl-0.9.8g # vi debian/rules
[...]
CONFARGS = --with-cryptodev --prefix=/usr --openssldir=/usr/lib/ssl no-idea no-mdc2 no-rc5 zlib enable-tlsext
[...]
"debian/rules" 173L, 6720C geschrieben
openssl-0.9.8g # dpkg-buildpackage -rfakeroot -uc -b

Sobald die gepatchte openssl Version installiert ist kann man via openssl engine prüfen ob crpytodev Support gegeben ist. Falls ja trägt man noch

cipher AES-128-CBC
engine cryptodev
in seine OpenVPN Config ein und kann von der Hardware Beschleunigung profitieren.

Folgendes Howto hat sehr weitergeholfen:
http://www.docunext.com/wiki/My_Notes_on_Patching_2.6.22_with_OCF

HowTo: SAMP (Slug, Apache, Mysql, Php)

Also wie bekomme ich Mediawiki und Torrentflux, natürlich zusätzlich zur NAS Funktion mittels Samba und NFS, auf einen Slug? Vorweg schonmal die gute Nachricht: Es geht! Das Problem ist weniger der 266 MHz. ARM Prozessor, den der Linksys NSLU2 hat, sondern vielmehr die 32 MB RAM. Im Debian Etch für ARM gibt es zwar alles was das Herz begehrt, aber ein simples apt-get -s install mediawiki mysql-server apache2 php5 installiert zwar die passende Software, diese ist aber leider bei weitem nicht auf die beschränkten Hardwareverhältnisse eines Slug optimiert. Ich habe mir also die Mühe gemacht die Software auf so wenig wie möglich Resssourcenverbrauch zu trimmen. Los gehts…. Continue reading

Ciao Mac Mini -> Hello Slug

Lange hat die Lösung ja nicht gehalten. Nachdem jemand spontan meinen Mac Mini G4 haben wollte, musste ich in einer Blitzaktion meine Daten umziehen. Glücklicherweise hatte ich mir in weißer Vorraussicht bereits einen Linksys NSLU2 „SLUG“ gekauft. SLUG taken from wikipediaAlso erst mal schnell das IMAP Postfach per imapsync auf gmail hochgeladen. Ja ich weiß wer will den der Datenkrake Google noch freiwillig seine Daten geben, aber es war nunmal der einzige Freemailanbieter mit IMAP Unterstützung. Außerdem Wissen die doch eh schon alles über mich ;-). Dann noch Debian Etch auf den Slug installiert und zwei Onnto USB RAID Gehäuse angeschlossen und den Mac Mini verkauft. Jetzt fehlte mir aber halt noch ein bisschen Funktionalität:

  • samba
  • NFS Server
  • MediaWiki
  • Torrentflux
  • MythTV
  • MythTV war relativ schnell durch Elgato EyeTV ersetzt. Jetzt kommt meine Lizenz hier endlich mal richtig zu Ehren! Die restlichen Punkte erforderten etwas Arbeit, aber letztlich habe ich alles auf meinen Slug gequetscht! Mehr dazu im Howto.

    MP4Box könnte etwas gesprächiger sein :-(

    Ich bastel nun seit ein paar Tagen daran meine MythTV Aufnahmen in iPod kompatible MP4 Files zu konvertieren. mencoder habe ich schon soweit, dass er mir ein 2-pass kodiertes Video und ein AAC Audio File ausspukt. Aber leider kommt beim Multiplexen mit MP4Box nur Müll raus. Der Grund ist einfach: Mein /tmp Verzeichniss ist mit 300 MB etwas zu klein für 1 GB Film. Aber warum sagt mir das MP4Box nicht einfach. Nö da wird einfach schön bis auf 100% gemuxt und ein MP4 geschrieben, was halt dann kaputt ist. *gr* Ein einfaches Anhängen der Option „-tmp“ hat das Problem behoben. Das hätte ich auch eher haben können.

    Re: Homeserver: Was tun?

    So, ich habe endlich eine passende Lösung gefunden. Nachdem ein neuer Intel Mac Mini bei uns Einzug gehalten hat, wurde der PowerPC Mac Mini frei. Also: Raus mit der grauen Kiste. 10762Aber wie komme ich halbwegs bezahlbar an eine ausfallsichere Datenhalde? Nach längerem gegoogle bin ich auf das „Onnto RS-M2BF DataWhale 2-Bay RAID System“ gestoßen. Es handelt sich um ein Gehäuse für zwei SATA Festplatten, die dann unter anderem zu einem RAID-1 System zusammengefasst werden können. Anschluss findet das Teil dann in meinem Fall via USB2 an den Mac Mini. Das Teil gibt es auch mit eSATA und Firewire Anschluss. Also dann zwei 500 GB Festplatten rein, Debian Etch in der Power PC Variante auf den Mac Mini und los gehts! Dann noch einen DVB-T Stick angeschlossen, der auch gleich erkannt wurde. Nur noch die passende Firmware nach /lib/firmware kopiert und schon tut das Teil. MythTV funktioniert problemlos. Alles in allem ist jetzt der große Tower verschwunden und der Lüfterlärm ist nun auch um einiges weniger geworden.

    1075610759 10765

    Macbook missing

    Mein Macbook ist weg! Nein nicht verloren, geklaut oder so. Es ist in Reparatur! Was Größeres ist eigentlich nicht kaputt, nur ein kleiner Riss im Plastik der Oberschale.10322 10325Ich muss sagen mein altes iBook war hier deutlich robuster. Nun arbeite ich ersatzweiße mit einem Acer Travelmate 4072WLMI mit Ubuntu Feisty Fawn, was mir ziemlich deutlich die Probleme von Linux auf dem Desktop (Notebook) aufweißt. Das Acer hat eh schon nur noch eine Akkulaufzeit von ca. 45 Minuten, da wiegt es schon ziemlich schwer, dass kein Standby Mode funktioniert. In Bereitschaft läßt sich der Rechner noch schicken, wacht dann allerdings nicht mehr korrekt auf. Der Ruhezustand funktioniert überhaupt nicht. Am schlimmsten ist jedoch die Konfiguration von X. Es ist schon etwas utopisch dem Linux eine anständige Dual Head konfiguration zu entlocken. Soll heißen Notebook Display (1280×800) + 19″ TFT (1280×1024) und dann so, dass man den TFT abschalten kann. Nachdem ich etwas Zeit investiert hatte, habe ich dieses Vorhaben abgebrochen. Das Macbook kommt hoffentlich bald wieder! Abgesehen von diesen Hardwareproblemen läßt es sich jedoch super mit dem Gnome Desktop arbeiten.

    Linux Radio

    Normalerweise höre ich gerne hier in Mittelfranken den Rocksender Star FM. So auch heute im Auto, allerdings habe ich die Frequenz eingeschaltet, die ab 16 Uhr dem Alternativ Sender Radio Z gehört (95,8 MHz). Daher war ich etwas verwundert von der Existenz von Antenne Tux zu hören. Deren Sendung lief nämlich gerade auf Radio Z. Was ich zu hören bekam war teilweise durchaus interessant: Es wurde nur „podsave“ Musik gespielt (Gema frei, meist Creative Commons) und die Beiträge handelten von z.B. „freiem Bürgerfunk in Münster“, „geistigem Eigentum auf dem G8 Gipfel“ oder „den Linuxpaten„. Alles in allem ein schönes Projekt, was es zu erhalten gilt. Allerdings muss ich die Audioqualität bemängeln: Die Jungs von Radio Z haben die Sendung wohl aus dem Internet mit relativ geringer Bitrate runtergeladen. Jedenfalls gab es einige unschöne Artefakte während der Sendung.

    Für alle Interessierten, gibts die aktuelle Sendung natürlich auch zum Download auf www.antennetux.de.

    Happy WDS mit OpenWRT

    Endlich hatte ich mal Zeit mein WLAN Netz zu debuggen. Bei diesem April kein richtig funktionierendes WLAN im Garten ist unzumutbar! 😉 Das Problem: WDS funktioniert so halb. ich kann meine beiden per WDS angebundenen Accesspoints wunderbar pingen. Kaum Paketverluste. Clients die per LAN Kabel an den Accesspoints hängen haben auch keine Probleme. Allerdings kann ich mich per WLAN nur kurz an den OpenWRT Kisten anmelden. Nach kuerzer Zeit unterbicht aber die Verbindung und das wars. Keine WLAN Verbindung mehr möglich. Nun habe ich heute debuggt und noch ein paar fehlende nvram settings eingetragen. Und siehe da, jetzt tuts.

    Diese Einstellungen sind alle benötigten Werte für die WDS „Clients“. Weitere Parameter sind nicht nötig:

    wl0_akm=psk
    wl0_infra=1
    wl0_ifname=eth1
    wl0_mode=ap
    wl0_ssid=meinetolleSSID
    wl0_closed=0
    wl0_macmode=disabled
    wl0_lazywds=0
    wl0_antdiv=-1
    wl0_wpa_psk=08/15-4711
    # Mac Adresse des Accesspoints zu dem der WDS Link aufgebaut werden sol:
    wl0_wds=MA:CA:DD:RE:SS:E
    wl0_wep=disabled
    wl0_radio=1
    wl0_maclist=
    wl0_channel=5
    wl0_crypto=tkip