Articles in the Digital Life category

OSMC - Open Source Monitoring Conference

I'm a OSMC Speaker

Ich werde auch dieses Jahr wieder an der OSMC ("Open Source Monitoring Conference", ehemals "Nagios Conference") als Referent dabei sein. Wie auch schon die letzten Jahre werde ich meinen Einsteiger-Workshop halten. Eventuell (muss mal sehen, wie schnell ich mit dem Programmieren vorankomme) könnte ich sogar noch einen 2. Vortrag halten, der dann über einen NSCA-Ersatz geht. Na, mal sehen ;-)

OSMC Banner

Patch for Nagios Business Process AddOn (NagiosBP) to use Merlin/MySQL-DB

[UPDATE 2009-11-01]
This patch is obsoleted by NagiosBP 0.9.4 Everything (including a small fix to my patch) you need is in the release!
[/UPDATE 2009-11-01]

Some participants of my "Nagios Advanced" training/workshop want(ed) to use Nagios Business Process AddOn with a Merlin/MySQL database. So I had a look at the source code of NagiosBP and I must say: Good job, Bernd!

It was REALLY easy to add another backend to it and now play with NagiosBP and Merlin.

[UPDATE 2009-07-07]
Hey you guys out there! I see really many downloads of this patch (no bots or search engines!) but I didn't get any feedback! So... please send me some feedback - "W00t! Works!" IS feedback ;-)
[/UPDATE 2009-07-07]

Step by step:

Python-Bindings of NET-SNMP for SUSE 11

Anyone out there?

I'm looking for packaged (RPM) Python bindings of NET SNMP for SUSE 11...

Any hint?

CRM114 - Mails zu dick für den Hauptspeicher?

Neulich hat mir jemand Mails mit einigen vielen MBs Anhang zukommen lassen. Bisher hatte ich damit auch kein Problem und deswegen ist es mir auch nicht aufgefallen. Allerdings kam neulich keinerlei Mail mehr zu mir durch und ich begann mit der Fehlersuche.

Schuld war letztendlich crm144, welcher bei mir als "xfilter" in der .mailfilterrc von maildrop aufgerufen wurde. Da er scheinbar nicht genügend Speicher hatte (WTF?) brach er ab und damit auch maildrop. Gottseidank kann man das auch umgehen und zwar so:

Vorher:

xfilter "/usr/share/crm114/mailfilter.crm -u $HOME/.crm114/"

Nachher:

exception {
        xfilter "/usr/share/crm114/mailfilter.crm -u $HOME/.crm114/"
}

Ich hoffe mal, dass jetzt nicht allzuviele Spam-Mails mit mehreren Hundert MB meine Mailbox erreichen ;-)))

Hammerfall, 20. März 2009, Bamberg, Jako-Arena

Nach längerer Zeit war ich mal wieder auf einem Konzert - und auch seit vielen Jahren wieder mal auf Hammerfall. Und ich muss sagen, es hat einfach Spaß gemacht.

Aber von Anfang an: Die erste Vorband Bullet hatte ungefähr 30 Minuten Zeit und lieferte eine recht ordentliche Vorstellung ab, es war eine gute Einstimmung auf den Abend. Danach betraten Sabaton die Bühne. Und die machten mal alles was sie konnten aus ihren 45 Minuten. Druckvoll, laut, melodisch - einfach ziemlich gut. Manch andere Anwesende haben sich dann gleich mal erkundigt, welche Alben es denn eigentlich von dieser Band gibt - wenn sich nicht (auch) wegen Sabaton gekommen waren. Und so gingen sie dann doch unter heftigen Applaus von der Bühne.

Was mir etwas komisch vorkam, war die Tatsache, dass in beiden Umbaupausen genau die selben Lieder gespielt wurden. Wäre ja nicht ganz so arg schlimm gewesen, wenn nicht bei "Helloween - Eagle Fly Free" (einem meiner Lieblingslieder...) irgendwann in der Mitte einfach zum nächsten Song weitergesprungen wurde.. Seltsam das...

Und schließlich kamen dann noch Hammerfall auf die Bühne. Fast 2 Stunden lang ging's einmal quer durch die Vergangenheit. Dabei fiel mir dann allerdings auf, dass ich die ein oder andere Scheibe von den Jungs gar nicht kenne. Macht aber nix - die Richtung bzw. Art der Musik passte und so wurden die beiden guten Vorbands anschließend von einem noch besseren Headliner getoppt. So stellt man sich einen Konzertabend vor ;-)

check_netappfiler on github - let's have fun!

Just a short note:

check_netappfiler's code is now available on GitHub. I didn't import the whole history (just the last... uh... about 6 "releases") because there was(is) much crap in my original Subversion repository.

Fork it! Add code! Fix errors! Send "pull request"s! ;-)

I'm not sure if it while be there forever - but hey! Let's use this wonderful site!

NFSv4 verringert Latenzen gegenüber NFSv3 (insbesondere über WLAN)

Kurz zu meiner Motivation:

Weil ich es lieben und schätzen gelernt habe, auf vielen/allen Rechner das gleiche Home-Verzeichnis zu haben, liegt bei mir zu Hause /home auf meinem Server. Dies wird dann von den diversen anderen Rechner per NFS (bisher V3) gemountet.

Meine Workstation ist aufgrund der Lage in der Wohnung per WLAN mit dem Server verbunden, was an sich kein Problem ist (die Geschwindigkeit reicht vollkommen aus, vielleicht mal beim DVD brennen nervt's - wenn das Image auf dem Server liegt).

Allerdings gibt es ein paar Programme, die IMHO viel zu häufig auf das Dateisystem zugreifen, dazu gehört eben Firefox/Iceweasel. Das Ergebnis war, dass man bis zu 3 Sekunden warten musste, bis sich ein neues Tag geöffnet hat - grausam! Versuche mit lokalem Home-Verzeichnis und Firefox/Iceweasel bzw. NFS-Home und Opera haben gezeigt, dass es eindeutig an dieser Kombination lag.

Da ich mich vor längerer Zeit auch schon mal beruflich mit NFSv4/NFS4 auseinander gesetzt habe und daher wusste, dass genau diese vielen Round-Trips zwischen Server und Client reduziert wurden, dachte ich mir, probier's doch "mal einfach schnell aus". Pustekuchen! Leider gibt's zu viele Anleitungen, die auf alten Ständen aufsetzen und nicht funktionieren. Deswegen hier eine Lösung für Debian/Lenny (NFS-Tools 1.1.2).

    1.

Vorbereitung IDMAP - Server & Client
NFSv4/NFS4 arbeitet auf der Leitung nicht mehr mit User-IDs, sondern mit "User-Strings", welche wie E-Mail-Adressen aussehen. Dazu gibt's den (rpc.)idmapd, welcher die Umsetzung auf beiden Seiten vornimmt.

% cat >/etc/idmapd.conf <<EOF
[General]

Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = homenfs.domainname.local

[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup

    2.

Server einrichten
Benötigte Pakete installieren:

root@server% aptitude install nfs-kernel-server

Anlegen der neuen Export-Struktur:

root@server% mkdir -p /exports/{home,data}

Dauerhafter Bind-Mount der zu exportierenden Verzeichnisse:

root@server% cat >>/etc/fstab <<EOF
/home /exports/home none bind 0 0
/data /exports/data none bind 0 0
EOF

Exportieren der neuen Struktur:

root@server% cat >>/etc/exports <<EOF
/exports 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash,fsid=0,crossmnt)
/exports/home 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
/exports/data 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
EOF

Starten der NFS- und IDMAP-Dienste:

root@server% /etc/init.d/nfs-common restart
root@server% /etc/init.d/nfs-kernel-server restart

    3.

Client einrichten
Benötigte Pakete installieren:

root@server% aptitude install nfs-common

Dauerhaftes Mounten der Verzeichnisse:

root@client% cat >>/etc/fstab <<EOF
server:/home /home/ nfs4 defaults 0 0
server:/data /data/ nfs4 defaults 0 0
EOF
root@client% mount -a

    4.

Glücklich sein
Man merkt zwar immernoch einen kleinen Unterschied zwischen lokalem und NFS-Home-Verzeichnis, aber das nur gelegentlich. Auf jeden Fall kann man nun auch wieder mit Firefox/Iceweasel gut arbeiten ;-)

Der gläserne Schüler

Auch schon etwas her, aber trotzdem immernoch gut

Auf Heise war zu lesen, dass sich Berliner Schüler, Eltern und Lehrer gegen die Pläne der Stadtoberen sträuben, einen "gläsernen Schüler" (wie sie es nennen) zu erschaffen. Mit allerlei Argumenten versucht man, dies zu verhindern (Misslungene Bildungspolitik, kein pädagogisches Konzept, ...).

Im Prinzip ja unterstützenswert... ABER: Wer von den Schüler bzw. Kinder der Eltern ist denn nicht bei SchülerVZ registriert und bläst dort die Daten (und noch viel, viel mehr...) freiwillig ins weltweite, große Netz?

Ich finde, man sollte einfach einen Kompromiss machen: Der Holzbrink-Verlag bekommt von Berlin ein paar Euro, dafür fügt man im SchülerVZ ein paar Datenfelder ein, die nur "Berechtigte" lesen bzw. ändern können und man hat eine klassische Win-Win-Situation: Holzbrink verdient, Berlin hat die Daten und alle sind zufrieden

COM/Seriell ansprechen unter Windows - Mess-PC

Dieser Artikel liegt schon ewig in meiner Queue, bevor er hier endgültig vergammelt geb ich ihn einfach mal so frei

Auslesen der Mess-PC Temperaturfühler unter Windows mit Hilfe von Python:

!/usr/bin/env python

import re
import sys

fd = open("COM3")

line = fd.readline()
line = fd.readline()

fd.close()

erg = re.search("temperature=([.0-9]+).humidity=([.0-9]+).dewpoint=([.0-9]+)", line)

temp = float(erg.group(1))

RETURNCODE=0
RETURNSTRING='OK'

if temp > 40.0:
RETURNCODE=1
RETURNSTRING='WARNING'
elif temp > 45.0:
RETURNCODE=2
RETURNSTRING='CRITICAL'

out = 'Temperatur %s: %4.1f C, ' % (RETURNSTRING, temp)
out += 'Information: Luftfeuchte %4.1f%%, ' % float(erg.group(2))
out += 'Taupunkt %4.1f' % float(erg.group(3))

out += '|Temperatur=%.1f;40.0;45.0; ' % temp
out += 'Luftfeuchtigkeit=%.1f ' % float(erg.group(2)
out += 'Taupunkt=%.1f' % float(erg.group(3))

print out
sys.exit(RETURNCODE)

check_netappfiler - Nagios-Plugin für FAS-System von NetApp

Mit Hilfe von check_netappfiler ist es möglich, wichtige Laufzeitdaten einer FAS mit Nagios zu überwachen. Das Plugin ist in Python geschrieben und hat außer dem "snmpget"-Binary keinerlei Abhängigkeiten.

Es existiert allerdings eine Version, welche auf den NET-SNMP Python-Bindings aufsetzt - diese ist zwar schneller, dafür werden aber die Bindings benötigt, welche noch nicht in allen Distributionen (z.B. nicht in Debian 4.0 "Etch", aber in 5.0 "Lenny") zu finden sind.

PNP-Graph für ein NetApp-Volume
Grafische Visualisierung mit Hilfe von PNP und RRDTool

Es gibt noch keine richtige HomePage für das Plugin, allerdings ein paar Informationen dazu (auf Englisch) befinden sich unter http://people.teamix.net/~svelt/check_netappfiler/.

Wer sich weiterhin mit NetApps beschäftigt (oder beschäftigen muss), dem sei MyNetApp.de an's Herz gelegt. Eine kleine aber feine Community mit vielen Tipps, Tricks und schnellen Antworten auf Fragen!

check_netappfiler - New "homepage"

I just want to let you know that there is a new... err... "homepage" for my check_netappfiler-Plugin. You can find it - as I do most work for it at http://people.teamix.net/~svelt/check_netappfiler/. There are also some example graphs of PNP4Nagios.

If you have problems and/or ideas what to monitor on your NetApp Toaste^WFAS don't hesitate to contact me!

German readers: Soll ich noch ein Forum auf MyNetApp.de eröffnen (lassen)?

cat ~/.gitconfig

[alias]
br = branch
st = status
log1 = log --pretty=oneline --abbrev-commit
rlog = log --pretty=format:\"%h %Cblue%cr%Creset %an %Cgreen%s%Creset\"
[color]
ui = auto
[color "branch"]
current = "yellow bold"
local = cyan
remote = "red bold"
[color "diff"]
new = cyan
old = magenta
frag = yellow
meta = green
commit = normal
whitespace = "white reverse"
[color "status"]
changed = yellow
added = magenta
untracked = "blue bold"
nobranch = "red bold"

check_netappfiler with support for "libsnmp-python"

As ''snmpget'' from Debian Etch is a real performance killer I rewrote parts of my check_netappfiler plugin for Nagios.

The Good News[tm]:
Look at the load at the time of switchting to the new version:
Load-Graph

The Bad News[tm]:
You need NET-SNMP's Python bindings which aren't in Debian/Etch so I did a quick ("works for me") backport of NET-SNMP out of Lenny

Feedback welcome! ;-)

Asus WL500g Premium, DD-WRT, Linux - Teil 2

mkdir /jffs/etc
mkdir /jffs/etc/config
cd /jffs/etc/config

cat usb.startup

chmod +x usb.startup

wget http://www.wlan-sat.com/boleo/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh
cd /tmp
sh ./optware-install.sh

Asus WL500g Premium, DD-WRT, Linux - Teil 1

Bereits einige Zeit liegt bei mir ein Asus WL500g Premium (oder WL500gP), der eigentlich nur darauf wartet, seine Aufgabe zu übernehmen. Jetzt habe ich mir dann mal vorgenommen, das originale Firmware-Image "kaputt" zu machen, damit ich mich endlich mal mit dem Kistchen genauer beschäftigen muss ;-)

Schritt 1: DD-WRT einspielen
Nach einigem hin und her habe ich für meinen Router-Liebling DD-WRT entschieden. Nachdem ein Kollege auf dem selben Modell einfach ein Debian installiert hat, wäre das wohl die zweite Alternative. Allerdings wollte ich schon länger etwas ausprobieren, was sich OptWare nennt. Das Prinzip ist einfach: Software für das NSLU2 von Linksys compiliert, aber so, dass es unterhalb von /opt liegt. Und angeblich soll das auch mit DD-WRT funktionieren.

Man findet im Netz mehr oder minder haarsträubende Beschreibungen, was man alles tun muss, um auf das weiße Kästchen initial ein DD-WRT draufzubekommen. Aber es geht auch einfach:

    * Download der aktuellen Software von [der Downloadseite von DD-WRT](http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html). Ich hab als erstes ein [Mini-Image (v24sp1)](http://www.dd-wrt.com/dd-wrtv2/downloads/v24-sp1/Consumer/Asus/WL500g-Premium/dd-wrt.v24_mini_generic.bin) draufgeflasht, bei anderen Routern wird das empfohlen und bei manchen hat es anders auch nicht funktioniert

Wenn man aber schon auf der Seite ist, kann man sich auch gleich noch das Standard-Image (v24sp1) oder sogar das Mega-Image (v24-sp1) herunterladen. Ich nutze aktuell das Mega-Image, da ist alles (fast) drin, was ich brauche und noch mehr (siehe auch den Vergleich der verschiedenen Images)

    * `aptitude install tftp` installiert die notwendige Software zum Flashen


    * Network-Manager und ähnliche Dinge auf dem Rechner ausschalten. Die automatische Konfiguration spuckt immer wieder dazwischen, deswegen macht man das von Hand:

root@linux:/tmp> ifconfig eth0 192.168.1.23/24 dev eth0 up
root@linux:/tmp> ifconfig eth0 192.168.1.23/24 dev eth0 up # Zur Sicherheit nochmal...
root@linux:/tmp> tftp 192.168.1.1
tftp> verbose
tftp> trace
tftp> binary
tftp> put dd-wrt.v24_mini_generic.bin # noch NICHT ENTER drücken!

    * Strom aus dem Asus ziehen, mit einem Stift den Reset-Taster (das ist der versenkte, NICHT der der raussteht!) gedrückt HALTEN(!) und Strom wieder anstecken.

Nach ca. 10 Sekunden hat bei mir die Power-LED geblinkt. In div. Mailings liest man allerdings, dass es auch mal 20 oder 30 Sekunden dauern kann (oder nur 5...)

    * Jetzt im tftp-Client Return drücken, man sollte sehen, wie viele Pakete Richtung Asus geschickt werden.

Wenn er fertig ist, Ruhe bewahren... lasst den Router zur Sicherheit einfach 2-3 Minuten stehen.
Dann allerdings sollte ein ping 192.168.1.1 zeigen, dass der Router wieder erreichbar ist.

    * Mit einem Web-Browser geht man dann auf das Web-Interface http://192.168.1.1, ändert das Passwort und... Willkommen bei DD-WRT ;-)


    * Unter "Administration" -> "Firmware Upgrade" kann man nun bequem das oben heruntergeladenen Standard- oder Mega-Image einspielen>br />

Da der Asus ja etwas mehr Flash besitzt, kann man diesen unter "Administration" -> "Management" -> "JFFS2" mit "JFFS2: Enable" und "Clean JFFS2: Enable" (einmalig!) mit anschließendem Reboot benutzbar machen.

    * Da ich eine 2,5"-USB-HD an das Gerät packen möchte, habe ich auch noch unter "Services" -> "Services" die Einstellungen für "Core USB support", "USB2.0 support", "USB storage support" und "ext2/ext3 FS support" eingeschalten. Das geht Out-of-the-Box nur mit dem Mega-Image, sonst muss [man selbst Hand anlegen.](http://www.dd-wrt.com/wiki/index.php/USB#USB_drivers)

Update!
Nachdem ich es selbst nicht beachtet habe und beinahe einen Router gebrickt hätte, nochmal der Hinweis: Nach dem Flashen lasst den Router ein paar Minuten einfach in Ruhe stehen! NICHT Strom abziehen oder ähnliches! Warten!

« 1 2 3 4 5 6 7 8 9 »