Cucumber-Nagios on Ubuntu 10.04 LTS

Well for those of you who don’t now what Cucumber is: Cucumber in general is a behaviour driven development system, which uses native language to explain whats going on. Cucumber-Nagios adapts this and turns your monitoring in a tool where you can express different behaviours for your applications, e.g.:

Feature: google.com
It should be up
And I should be able to search for things

Scenario: Searching for things
When I go to "http://www.google.com.au/"
And I fill in "q" with "wikipedia"
And I press "Google Search"
Then I should see "www.wikipedia.org"

It took me some time so figure out that the RubyGems from the Ubuntu Repo is a pain in the ass, but finally Cucumber-Nagios is now working on my Ubuntu boxes …


root@sbxx:~# aptitude install ruby rdoc ruby-dev irb libxslt-dev libxslt-ruby libopenssl-ruby
root@sbxx:~# wget http://rubyforge.org/frs/download.php/75309/rubygems-1.8.10.tgz
root@sbxx:~# tar xfz rubygems-1.8.10.tgz
root@sbxx:~# cd rubygems-1.8.10/
root@sbxx:~# ruby setup.rb
root@sbxx:~# ln -s /usr/bin/gem1.8 /usr/bin/gem
root@sbxx:~# gem install cucumber-nagios

Damn slow Solaris 10

Ich bin heute mal wieder darüber gestolpert, dass einpaar Server ziemlich langsam von einem unserer Monitoring-Server erreichbar sind. Eigentlich nichts wildes, aber es stört zeitweise, wenn es um Latenz und Prozessanzahl geht.

root@monitor1:~$ time ssh -o GSSAPIAuthentication=yes app-node1 "uptime"
4:42pm up 227 day(s), 19:32, 1 user, load average: 0.14, 0.12, 0.15
real 0m15.878s
user 0m0.012s
sys 0m0.012s

Also habe ich etwas debugged, zuerst mal einpaar Server gleicher Bauart (SUN X4100 mit Solaris 10) getestet, nichts zu finden. Dann mal die SSH-Verbindung im Verbose-Mode angeschaut und die TCP-Connection geht auch schnell, nur bleibt der Prozess bei einer GIS… stehen und wartet dort. Mal gesucht und die falsche Einstellung im SSH-Client gefunden.


root@monitor1:~$ time ssh -o GSSAPIAuthentication=no app-node1 "uptime"
4:42pm up 227 day(s), 19:32, 1 user, load average: 0.16, 0.13, 0.15
real 0m0.714s
user 0m0.020s
sys 0m0.004s

Und hier dann der generelle Fix in der Globalen /etc/ssh/ssh_config:

root@monitor1:~$grep GSSAPIAuthentication /etc/ssh/ssh_config
GSSAPIAuthentication no

Woohoo mein IPad ist da …

Es hat nun doch geklappt. Nach den Apple start Schwierigkeiten bin ich seid heute Nachmittag stolzer Besitzer eines IPad 3G mit 64GB. Ich bin mal gespannt was da noch so alles kommt an Apps rauskommt.

Cheers,
Jan

ipad

New Domain

Ich habe mir gestern mal eine etwas kürzere Domain als Akronym?!? für skullboxx registriert, hier drunter ist der Blog nun auch zu erreichen.

http://sbxx.de

New Year, New Oneliner

So fangen wir mal an, ich mußte gerade kurz einpaar dateien aus 2 Verzeichnissen abgleichen mein erster Einfall war das hier:

root@server:/usr/local/nagios-x64/libexec# for i in *; do [[ -f ../../nagios/libexec/$i ]] || echo "$i not available"; done
check_http_status not available
check_md not available
check_memory not available
check_smart not available
root@server:/usr/local/nagios-x64/libexec#

Ist eigentlich ganz geschmeidig :) man könnte es natürlich auch mit rsync –dry-run machen oder 2 Textfiles und diff, die Möglichkeiten sind unendlich ;)

Ninja Assassin

Source: UCI-Kinowekt.de

Source: UCI-Kinowelt.de

“Kopf  aus, Licht aus und Film an!” Das bringt es auf den Punkt, dieser fabulöse Film glänzt mit einer sehr guten Choreographie, er ist allerdings sehr Agressiv angehaucht. Nichts erinnert noch an die schönen Kung Fu Filme mit Jet Li oder Michelle Yeoh, dieser Film handelt von Neoneuzeit-Ninjas die gnadenlos alles wegmetzeln was ihnen vors Schwert kommt.

Alles also eine Geschmackssache, für meinen Geschmack war es zuviel digitales Blut und zu wenig synthetisches Blut. Die Story war sehr dünn und ich finde in der Schlussszene hat das Titellied von “Team America” gefehlt.

Kurz zur Story: Als Kind wurde der rebellische Raizo (Rain ein unbekannter Schauspieler, macht aber eine gute Figur) von einer mächtigen und geheimen Organisation von der Straße geholt und zusammen mit anderen zu einem gefährlichen und vor allem tödlichen Ninja-Kämpfer ausgebildet. Nachdem sie jedoch seine Freundin auf grausame Weise ermordet haben, hat sich Raizo von seinen einstigen Ziehvätern abgewandt, ist geflohen und hält sich seither im Untergrund versteckt. Und genau hier wartet er nur auf eines: den perfekten Moment für seine Rache. (Quelle: uci-kinowelt.de)

Die Forensik-Ermittlerin Mika (Naomie Harris bekannt aus Fluch der Karibik 1-3, dort spielte sie die Voodoo-Hexe) kommt der geheimen Organisation auf die Spur und soll nun beseitigt werden. Ihr Kollege und Freund Maslow (Ben Miles bekannt aus der brittischen TV-Serie Coupling) ist dabei keine Große hilfe, also bietet sich Raizo tatkräftig an.

Fazit: Wer lust auf ein Abend ohne den nuschelnden Til Schweiger oder den “schönen” Edward haben will sollte sich überlegen diesem Film mal eine Chance zu geben der Regiesseur James McTeigue hat schon an den Matrix Teilen und Star Wars Episode 2 mit gearbeitet, ist aber sonst weitestgehend unbekannt.  Aber hey der Film spielt im schönen Berlin :) wenn das nicht ein zusätzlicher Grund ist weiß ichs auch nicht.

Get the Flash Player to see this player.

Tags: , , ,

Nice Oneline thingy

Dieser kleine Oneliner hat es zwar schon in die Dezember-Charts geschafft ;) aber ich habe ihn noch etwas verschönert. Im Grunde sind Oneliner ja dafür gedacht ihre Arbeit so schnell und effizient + mit so wenig zeichen wie möglich zu verrichten. Dies ist bei diesem etwas in den Hintergrund gerückt, da ich finde das man auch mal einen komfortablen Output und eine Konfiguration haben kann:

t=10;b=$(du -sm|awk '{print $1}'); sleep $t; e=$(du -sm|awk '{print $1}'); echo "$b $e $t" | awk '{ printf("%4.2fMB/s after %i seconds of data collecting\n", ($2-$1)/$3, $3 )}'

Nehmen wir das Ganze mal auseinander:

  • Die Variable $t ist die Zeit in Sekunden die wir warten und Datensammeln
  • $b gibt uns den Startwert, also wie Groß ist das Verzeichnis am Anfang
  • “sleep $t” wir warten $t-Sekunden bis wir weitermachen
  • $e wie ist die Größe des Verzeichnises nach der Wartezeit von $t
  • Jetzt übergeben wir alle Werte mit “echo” an “awk”, um die Ausgabe zu generieren
  • printf(”%4.2f …”,123.34) wäre ein anderes Beispiel es sagt awk einfach ich will nur 4-Zeichen vor dem Komma und 2 nach dem Komma
  • am Ende wird eine einfache Rechnung gemacht welche dann in %f (f=float=Fließkomma) übergeben wird

December Oneliner

Want to make all files in your current directory lower case?

for i in * ; do mv $i $(echo $i | tr [A-Z] [a-z]); done

Want to sum the size of all directorys in one folder?

for i in * ; do if [ -d $i ]; then du -sh $i; fi; done

or shorter

for i in * ; do [[ -d $i ]] && du -sh $i; done

Want the Top10 Referer of your Website?

gzip -cd access_log.*.gz |  awk '{print $11}' | grep -v "\"-\"" | sort | uniq -c | sort -nr | head

Want to adjust an IP in all of your Apache virtual host files?

for i in *; do sed -e "s/80.3/81.3/" $i > $i.new; mv $i.new $i; done

Want to know the speed while filling a directory?

b=$(du -sm|awk '{print $1}'); sleep 60; e=$(du -sm|awk '{print $1}'); echo "$b $e" | awk '{ printf("%4.2fMB/s\n", ($2-$1)/60 )}'

Want to know if there are any critical/sercurity updates available for your Debian/Ubuntu?

apt-get -s upgrade | grep "^Inst" | egrep -i "(Debian-Security:|Ubuntu:[^/]*/[^-]*-security)" | wc -l | awk '{print "Critical Updates:", $1}'

Bash Oneliner

Ich habe mir gedacht fasse ich mal alle Bash Oneliner des Monats zusammen :) die ich so im Tagesgeschäft finde

The new Performance World Buzzword is “NoSQL”

Dieses Wort “NoSQL” geistert nun seid einpaar Monaten durch diverse Blog in der High Performance Welt. Es ist im Grunde ein Oberbegriff für viele Verschiedene Nicht SQL-Basierten Datenbank Modelle (Quelle: Emil’s Neo Thoughts ):

Key-Value Stores

BigTable Clones (aka “ColumnFamily”)

  • Lineage: Google’s BigTable paper.
  • Data model: Column family, i.e. a tabular model where each row at least in theory can have an individual configuration of columns.
  • Example: HBase, Hypertable, Cassandra

Document Databases

  • Lineage: Inspired by Lotus Notes.
  • Data model: Collections of documents, which contain key-value collections (called “documents”).
  • Example: CouchDB, MongoDB, Riak

Graph Databases

  • Lineage: Draws from Euler and graph theory.
  • Data model: Nodes & relationships, both which can hold key-value pairs
  • Example: AllegroGraph, InfoGrid, Neo4j

Ein sehr populärer Key-Value Store wurde allerdings vergessen, Brad Fitzpatrick’s memcached. Auch CouchDB, Voldemort und HBase sind keine neuen Dinge. Ich spüre allerdings neuerdings einen Hype was diese Art von Datenhaltung angeht, was ja auch vorteile haben kann, es ist am Ende ja immer die Frage, was für ein Problem hat man und wie kann man es am schönsten Lösen? Eine NoSQL Lösung bedeutet nicht zwangsläufig das man _kein_ SQL einsetzt aber eben “nicht nur SQL”, nicht umsonst bietet MySQL direkten memcached Support an. Die Jungs von Percona haben eine sehr interessante Artikel-Reihe über Tokyo Cabinet gemacht:

Tags: , ,