Ich wollte nur [...] und dann ist das Universum explodiert.

Projects
Books
Archive
About









    Permalink
  1. DeadDrop | Erlangen – Schwabachanlage

    Ich war dann schliesslich doch noch bei einem funktionierenden DeadDrop in Erlangen. Dem in der Schwabachanlage. Quasi also mein erster “Check-In” an einem funktionierendem DeadDrop.

    Ich muss sagen der Inhalt war wenig bis gar nicht interessant. Allerdings muss das Bild, wie ich da mit Fahrrad, Laptop auf dem Lenker und Kabel in eine tote Mauer stehe ziemlich skurril ausgesehen haben.

    “Gibts da Strom umsonst oder was ist da los?”

    “Junger Mann, das is ja unerhört. Mit dem Laptop am Lenker Fahrrad fahren! Das ist eine Gefährdung für den Verkehr!”

    “Ach, was wird das denn? Muss ich die Politzei verständigen?”

    … um nur ein paar Zitate aufzuzählen. Zur Beruhigung aller: Ich bin natürlich nicht mit dem Fahrrad gefahren während ich den Laptop am Lenker hatte. Das (und den eigentlichen Grund meiner Anwesenheit) habe ich natürlich auch brav jedem erzählt der mich in den insgesamt nur 20 Minuten angesprochen hat. Insgesamt war das sogar witziger als der Deaddrop selbst. Werde das auf jedenfall wiederholen.


  2. Permalink
  3. BitCoin | Debian Daemon Script für poclbm-mod

    Man muss Dinge über Hirnschäden von Menschen lesen die Nachts guten Gewissens neben einem 4 Grafikarten im SLI-Verbund schlafen und zugleich die Bedenken von sinnierenden Typen die an den Limitierungen von 21 Billionen maximal möglichen BitCoins zweifeln. Umweltverschmutzung ist natürlich auch ein Thema. Klar. Gerechtfertigter Weise.

    Wenn Ihr mich fragt, schiesst die BitCoin Mining Gesellschaft am Ziel vorbei. Separate Rechner betreiben schiesst am Ziel vorbei. Hunderte von Euros für neue Grafikkarten ausgeben um 5 MegaHashes/s mehr rechnen zu können schiesst am Ziel vorbei. Euro’s für BitCoins bezahlen schiesst sowieso am Ziel vorbei. Man kann BitCoins meines Erachtens auch benutzen ohne Kopfstände zu machen. Immer wenn der Rechner sowieso gerade läuft, mit der Hardware die man zur Verfügung hat.

    Aus diesem Grund habe ich ein kleines Skript gebastelt. Einen Start-Stop-Daemon für /etc/init.d/. Es startet automatisch wenn mein Rechner hochfährt und hört auf wenn ich Ihn herunterfahre. Ganz einfach

    $ wget -O /etc/init.d/bitcoin https://gist.github.com/raw/1007794/bitcoin.sh
    $ chmod +x /etc/init.d/bitcoin
    $ update-rc.d bitcoin defaults

    https://gist.github.com/1007794

    Ich möchte aber dazu sagen, dass ich dies Funktionstüchtigkeit des Skripts nicht auf anderen Rechnern/Betriebssystemen getestet habe. Vor Benutzung also bitte lesen, verstehen ggf. anpassen. Außerdem wird ein Account bei einem Mining Pool benötigt und der Mining Client an sich (poclbm-mod). Während ich diesen Post geschrieben habe, hat mein BitCoin Mining Client entspannt auf meiner Geforce 8600 GS mit nahezu niedlichen 950 KiloHashes/s vor sich hin gemined.


  4. Permalink
  5. Twitter OAuth | Twidge reanimieren

    Da Twitter ja glorreicher Weise das Auth-Verfahren für Dritt-Software umgestellt hat, funktioniert mein Twitter-Logfile nun nicht mehr. Wie so manch anderer Client oder Schnittstelle. Die in Debian-Stable ausgelieferte Version 0.99.3 von Twidge unterstützt noch kein OAuth. Das mag jetzt niemandes Schuld sein. Denn warscheinlich liegt es weder am Author der Software, noch am Packaging. Wohl eher an der Zeit die ein Debian Paket braucht, um von Testing o. Unstable in Stable zu gelangen. Was auch gut so ist.

    Da ich Twidge aber auch außerhalb des Logfiles sehr gerne benutze, behob ich das Problem durch Installieren der Testing-Version. Zu finden unter http://packages.debian.org/squeeze/twidge

    $ twidge -v
    [...]
    This is Twidge, version 0.99.4. Copyright (c) 2008 John Goerzen

    $ wget http://ftp.de.debian.org/debian/pool/main/t/twidge/twidge_1.0.5_i386.deb

    $ dpkg -i twidge_1.0.5_i386.deb
    Vorbereiten zum Ersetzen von twidge 0.99.4 (durch twidge_1.0.5_i386.deb) ...
    Entpacke Ersatz für twidge ...
    dpkg: Abhängigkeitsprobleme verhindern Konfiguration von twidge:
    twidge hängt ab von libffi5 (>= 3.0.4); aber:
    Paket libffi5 ist nicht installiert.
    dpkg: Fehler beim Bearbeiten von twidge (--install):
    Fehler traten auf beim Bearbeiten von:
    twidge

    $ aptitude install libffi5
    Die folgenden NEUEN Pakete werden zusätzlich installiert:
    libffi5
    Die folgenden teilweise installierten Pakete werden konfiguriert:
    twidge
    Richte libffi5 ein (3.0.7-1) ...
    Richte twidge ein (1.0.5) ...
    Aktueller Status: 0 kaputt [-1].

    Die aktuelle Version von Twidge wäre also somit installiert. Zwar mit dpkg, aber wenigstens wird nachher bei neuereren Versionen geupdated :). Twidge stellt jetzt einen (wie ich finde) hervorragend gelösten Konfigurationsweg für die neue OAuth.

    $ twidge setup
    Please cut and paste this URL and open it in a web browser
    Click Allow when prompted. You will be given a numeric
    key in your browser window. Copy and paste it here.
    https://api.twitter.com/oauth/authorize?oauth_token=xxx
    Authorization key: 123456789
    Successfully authenticated!
    Twidge has now been configured for you and is ready to use.

    Hat irgendwie fast ein bisschen was von Wizard ;). Im Endeffekt sind es aber nur ein paar kleine Schritte:

    • Url öffnen
    • “App” autorisieren oder “Erlauben”
    • App-Authkey kopieren
    • Twidge vorwerfen

    Danach kann man das Internet wieder mit dem eigenen daily Nonsense füllen. Mit einem CLI-Client :). Was mich nebenbei noch fasziniert hat: http://packages.ubuntu.com/search?lang=de&searchon=names&keywords=twidge . Es gibt Twidge für Ubuntu also für Jaunty, Karmic und Maverick. Warum nicht für Lucid? Ich konnte es in meinen Quellen in Xubuntu (Lucid) auch nicht finden.


  6. Permalink
  7. Bash | Futurama Zitate aus slashdot.org HTTP-Header auslesen

    Bin heute morgen über ein Easter-Egg von Slashdot.org gestolpert. HTTP-Header:

    $ curl -Is slashdot.org
    HTTP/1.1 200 OK
    Server: Apache/1.3.41 (Unix) mod_perl/1.31-rc4
    SLASH_LOG_DATA: shtml
    X-Powered-By: Slash 2.005001
    X-Fry: You'll barely regret this.
    X-XRDS-Location: http://slashdot.org/slashdot.xrds
    Cache-Control: no-cache
    [...]

    Bei so ziemlich jeder Anfrage steht an der Stelle ein neues Zitat. Da ich sowieso total auf Futurama stehe, dachte ich mir ich baue die Zitate als Welcome-Message in meine Rechner ein:

    $ curl -Is slashdot.org | sed -n '5p' | sed 's/^X-//'
    Bender: OK, but I don't want anyone thinking we're robosexuals.
    $ curl -Is slashdot.org | sed -n '5p' | sed 's/^X-//'
    Fry: I can burp the alphabet. A, B, D ... no, wait ...

    Wenn ich aber bei allen meinen Rechnern die Zeile einbinde, hat das irgendwie ein bisschen was von DOS-Attacke. Muss ja nicht sein. Mit einem Einzeiler hab ich mir die Quotes erstmal alle besorgt:

    target="/path/to/file/018" ; while true ; do quote="$(curl -Is slashdot.org |sed -n '5p' |sed 's/^X-//')" ; if [ $(grep "$quote" $target |wc -l) -lt 1 ]; then echo $quote >> $target ; echo $quote ; sleep 1 ; fi ; done

    Hier gibt’s alle Quotes die der Einzeiler bis jetzt gesammelt hat: http://zwetschge.org/paste/018

    Futurama Quotes beim Login unter Ubuntu:

    $ wget http://zwetschge.org/paste/018 -O ~/.futurama
    $ vi ~/.bashrc
    quotes="$HOME/.futurama"
    if [[ $- == *i* ]]; then
    echo " "
    rnd=$((RANDOM % $(cat $quotes | wc -l)+3)) ; sed -n "${rnd}p" $quotes
    fi

    Einloggen oder Shell starten sieht dann wie folgt aus:

    $ ssh user@host
    user@host password:
    Linux host 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28 13:27:30 UTC 2010 i686 GNU/Linux
    Ubuntu 10.04 LTS
    [...]
    You have new mail.
    Bender: You can't count on God for jack! He pretty much told me so himself.
    user@host:~$


  8. Permalink
  9. Explain | Shell-Kommandos visualisiert erklären

    Neulich bin ich über das github Profil von Peter Hofmann gestolpert. Darin befand sich ein Projekt, welches ich sehr interessant fand.

    Explain versucht Shell Kommandos zu erklären und zu visualisieren. Gerade für Blogs oder andere Dokumentationen finde ich das mehr als sinnvoll. Es erstellt aus einem simpel gestricktem Markdown File eine ASCII-Art ähnliche Erläuterung des Kommandos. Beispielsweise:

    $ ./explain.py command.markdown
    find . -iname '*.png' -exec echo '<br><img src="{}">' \; > gallery.html
    \__/ | \___________/  \________/ \___________________/ |  \___________/
      |  |       |             |               |           |        |
      |  |       |             |               |           |        \- Ausgeben nach
      |  |       |             |               |           |           gallery.html
      |  |       |             |               |           |
      |  |       |             |               |           \- find Syntax Ende.
      |  |       |             |               |
      |  |       |             |               \- mit folgendem Inhalt aus.
      |  |       |             |
      |  |       |             \- und führe echo
      |  |       |
      |  |       \- alle Dateien die mit .png enden
      |  |
      |  \- im aktuellen Verzeichnis
      |
      \- Finde (via find)

    (PlainText: http://zwetschge.org/paste/015)

    Die Syntax des Files das zur Deklaration der Ausgabe dient:

    find . -iname '*.png' -exec echo '<br><img src="{}">' \; > gallery.html
    ---- ! -------------  ---------- --------------------- ! -------------
    
    Finde (via find)
    
    im aktuellen Verzeichnis
    
    alle Dateien die mit .png enden
    
    und führe echo
    
    mit folgendem Inhalt aus.
    
    find Syntax Ende.
    
    Ausgeben nach gallery.html

    Die Trennzeichen  sind via Parameter austauschbar und auch ansonsten tut das kleine Python Script seinen Job hervorragend. Sollte demnächst mal wieder ein Kommando erläutert werden müssen, werde ich definitiv darauf zurückgreifen. Weitere Beispiele auch unter:

    [1] http://www.uninformativ.de/?section=news&ndo=single&newsid=118
    [2] http://github.com/vain/explain


  10. Permalink
  11. Snapfish | Fotobücher erstellen mit Ubuntu

    Vor kurzem war ich mit meiner besseren Hälfte für ca. 10 Tage in New York. Zu ihrem (gleich darauf folgenden) Geburtstag, hätte Sie sich gerne so ein “Fotobuch, was auch manchmal in der Werbung kommt” gewünscht :)  Stellte sich für mich (nach dem das Jetlag überwunden war :P ) die Frage wie ich sowas mit meinem aktuell laufenden Xubuntu hinbekomme. Löst man soetwas über Webinterface des Anbieters? Ist es notwendig zwielichtige Software zu installieren, mit der man sowas basteln kann? Warscheinlich müsste ich mir dann Windows wieder installieren? Ich muss ehrlich gestehen, ich hatte keine Ahnung.

    Aufgrund einer bereits getätigten Bestellung von Fotos bei www.pixaco.de, beschloss ich also mein Glück dort zu versuchen. Musste aber feststellen, dass pixaco.de von HP aufgekauft wurde und jetzt Snapfish (www.snapfish.de) heisst. Qualitäts-, Service-, Lieferdauer-mäßig war alles gut gewesen und mein Account bestand noch, warum also nicht.

    Ich muss sagen, dass ich im Allgemeinen sehr sehr postiv von dem ganzen Vorgang überrascht war. Einloggen, auf Fotobuch drücken und OS auswählen:
    (Bilder verkleinert angehängt, mit Orginalgröße verlinkt)

    snapfish-fotobuch-os

    Linux Kernel 2.6, glibc 2.6. Muss ich zugeben, hört sich etwas abschreckend an. Ganz im Gegenteil verlief die Installation allerdings. Bei Auswahl des Radio-Buttons “Linux” , bekommt man vom Webserver seitens Snapfishs ein gut geschriebenes (soweit ich das mit meinem unterentwickelten Kenntnissen beurteilen kann) Perl-Skript zugeschoben, welches man einfach auszuführen hat.

    snapfish-fotobuch-install

    Sehr einfach, sehr schön, wenn ich mir überlege, dass das Software eines Drittanbieters ist, die nicht aus den Repos kommt. Und (warscheinlich) noch dazu “unfrei” ist. Jedenfalls, der Installtionsprozess ist nicht das einzige schöne daran. Auch die Software an sich läuft stabil, sieht gut aus und ist einfach zu benutzen.

    snapfish-fotobuch-app
    snapfish-fotobuch-addon

    Auch Installation zusätzlicher Verzierungen oder sonstigem innerhalb der Software funktioniert wunderbar. Nach ca 4-5 Werktagen (von denen ich den Großteil damit verbracht habe das Buch überhaupt zu erstellen :D )  kam dann die Lieferung von Snapfish. Wie bereits erwähnt, wunderbare Qualität, schnell, schön. Finde es dabei auch awesome, dass alternative OS bei Entwicklung solcher, ich sag mal, kommerziellen Programme nicht zu kurz kommen. Danke pixaco, Snapfish oder HP. Wie auch immer du dich jetzt nennen magst. Ich muss allerdings dazusagen, dass ich nicht weiss, was andere Anbieter in dem Bereich parat haben. Snapfish war jetzt sozusagen mein Glückstreffer und ich musste mich gar nicht wirklich gross erkundigen wo man mit Linux soetwas machen lässt/erstellen kann. Jedenfalls, meine dickste Empfehlung an Snapfish.


    DSC01221


  12. Permalink
  13. RegExp | Domainendungen

    Heute mal etwas weniger spektakulär. Das ist lustig, wenn ich sowas schreibe. Denn es impliziert, dass es hier schon mal etwas spektakuläres gab. Reingefallen.

    Heute wollte ein Kunde mit etwas mehr Domains wissen, welche verschiedenen TLDs genau dabei sind. Hatte auch kostentechnische Gründe. Jedenfalls wollte ich nach dem exportieren nicht wirklich die Liste durchgehen und rausschreiben.

    Wie beschreibe ich also Domains in Regular Expressions?

    ^.*\.(.*)
    Würde das Format beschreiben. Im Grunde alles was nach dem ersten Punkt einer Zeile kommt in $1 ablegen (durch () markiert). Kämen keinen doppelten Domains wie .co.uk in die Quere und Subdomains kommen nicht aus der Domainliste. Ziemlich low-level-regexp.

    cat KundenDomainliste.txt | sed -e 's/^.*\.\(.*\)/\1/'
    Gibt die komplette Domainliste (nur mit TLDs) aus. Sonderzeichen wie ( ) müssen für die Bash noch escaped werden. Desweiteren noch den Ausdruck auf den die Beschreibung zutrifft durch 1 ersetzen. Wurden aber nicht weniger Domains.

    cat KundenDomainliste.txt | sed -e 's/^.*\.\(.*\)/\1/' | uniq | sort
    Die Ausgabe von sed an uniq zu übergeben, behebt diesen Umstand. Um noch alphabetisch zu sortieren diese Ausgabe wiederrum an sort übergeben. Nett.

    Raus kommt eine Liste von Domainendungen:
    .au
    .co.uk
    .com
    .de
    .hu
    .it

    usw…
    Übrigens bin ich mir der Ironie bewusst, cat zu benutzen. Useless use of cat


  14. Permalink
  15. roborobo | selfmade robot

    Robot-icon
    Auf dem Weg durch die Filesysteme meiner Rechner/Laptops/Server kam ich immer wieder in Situationen, in denen ich gerne Files (die mir wichtig waren) an einer bestimmten Stelle aufheben wollte. Ich hab über die Monate bzw. fast schon Jahre hin immer andere Systeme, Praktiken und Plätze entwickelt in denen ich diese Configs und ähnliches ablege. Über kurz oder lang ist aber jede dieser Methoden zu aufwändig oder zu unstrukturiert. Wenn ich Konfigurationsdateien von Daemons editierte, kopierte ich vorher die alten Files an eine bestimmte Stelle. Ziemlich Standart. Der Vorgang ist an sich ziemlich mühsam. Wirr liegen irgendwo irgendwelche Files rum.

    Vor ein paar Wochen habe ich dann angefangen mir ein kleines Helferlein zu coden. Anfangs war dieses Helferlein nur für mich gedacht und demnach relativ speziell. Ich nannte ihn “roborobo”.

    Was er tut ? Ich gebe meinem Helfer einfach das File “in die Hand”. Alles andere erledigt er.

    File hinzufügen
    $ roborobo /etc/postfix/main.cf

    Alle bekannten Files updaten:
    $ roborobo

    Er nimmt das File an, ordnet es ein und sichert es in seinem Verzeichnis mit dem kompletten Verzeichnispfad nach Baumstruktur-Art. Außerdem prüft roborobo jetzt jede Stunde anhand der sha1sum ob sich in dem File seit der letzten Prüfung etwas getan hat. Falls Veränderungen da sind, wird das File mit neuem Datum wieder abgespeichert. Das sieht ungefähr so aus:

    .roborobo/
    |-- etc
    |   |-- hosts
    |   |   |-- hosts-20100409-1348
    |   |   `-- hosts-20100409-1651
    |   `-- network
    |       `-- interfaces
    |           |-- interfaces-20100409-1654
    |           `-- interfaces-20100409-1655

    Ich brauche mich somit um _nichts_ mehr kümmern. Gebe dem “kleinen” die Files die mir wichtig sind und er passt darauf auf. Fühlt sich irgendwie an wie ein Backup-Daemon ;)

    Jedenfalls, habe ich roborobo jetzt für den Einsatz auf jedem beliebigen System umgebaut und in ein Debianpaket gebastelt. Dokumentation erstellt, Config-Dateien ausreichend selbsterklärend gestaltet usw.

    Wer sich dafür interessiert oder mal testen mag:

    roborobo-Debianpaket bei Github
    roborobo-Projekt auf Github
    Alles nochmal bei meinem privaten Git-Server auf git.zwetschge.org

    Content:

    roborobo
    |-- DEBIAN
    |   `-- control
    |-- etc
    |   |-- cron.d
    |   |   `-- roborobo
    |   `-- roborobo
    |       |-- roborobo.conf
    |       `-- roborobo.path
    `-- usr
        |-- bin
        |   `-- roborobo
        `-- share
            |-- doc
            |   `-- roborobo
            |       |-- changelog
            |       `-- copyright
            `-- man
                `-- man1
                    `-- roborobo.1
    

    Das ganze wie alles was ich tue, unter GPLv3. Viel Spass damit ;)


  16. Permalink
  17. Nagios | Von sprechenden Druckern, Verpflichtungen und SNMP

    Logo_Nagios

    Ich teile mir in meiner Funktion als Auszubildender mit einem Kollegen die ehrenvolle Aufgabe, ab und an den Papierstand unserer 4-Fächer Ricoh Drucker bei Gelegenheit zu “überwachen”. Im vorbeigehen sozusagen. Nun, das ganze ist ein etwas undankbarer Job – denn egal wie oft man zum Kontrollieren kommt – es kommt immer der Moment in dem nichts mehr im Fach / den Fächern ist, wenn Kollegen 200 Seiten am Stück ausdrucken.

    Um an diesem Umstand etwas zu ändern kam uns neulich eine “Notification”-Idee. In der Beschreibung des Druckers steht “SNMP-fähig”. Das Simple Network Management Protokoll bietet allerlei Möglichkeiten Informationen von Routern, Switches, Server oder Desktoprechnern abzufragen. In unserem Fall bietet auch der Drucker diese Möglichkeiten. Nach kurzer Recherche, scheint es etwas wie OIDs / MIBs für Drucker zu geben. Eine Liste dieser OIDs lässt sich mit snmpwalk ausgeben.

    snmpwalk -Os -c public -v 1 192.168.1.200

    Herauskommt eine _Menge_ an Informationen, mit der man erst mal umzugehen wissen muss. Nach etwas suchen, fiel mir folgender Block ins Auge:

    mib-2.43.8.2.1.10.1.1 = INTEGER: 55
    mib-2.43.8.2.1.10.1.2 = INTEGER: 385
    mib-2.43.8.2.1.10.1.3 = INTEGER: 55
    mib-2.43.8.2.1.10.1.4 = INTEGER: 385
    mib-2.43.8.2.1.10.1.5 = INTEGER: 0
    mib-2.43.8.2.1.11.1.1 = INTEGER: 0
    mib-2.43.8.2.1.11.1.2 = INTEGER: 0
    mib-2.43.8.2.1.11.1.3 = INTEGER: 0
    mib-2.43.8.2.1.11.1.4 = INTEGER: 0
    mib-2.43.8.2.1.11.1.5 = INTEGER: 9
    mib-2.43.8.2.1.12.1.1 = ""
    mib-2.43.8.2.1.12.1.2 = STRING: "Briefbogen"
    mib-2.43.8.2.1.12.1.3 = ""
    mib-2.43.8.2.1.12.1.4 = ""
    mib-2.43.8.2.1.12.1.5 = ""
    mib-2.43.8.2.1.13.1.1 = STRING: "Tray 1"
    mib-2.43.8.2.1.13.1.2 = STRING: "Tray 2"
    mib-2.43.8.2.1.13.1.3 = STRING: "Tray 3"
    mib-2.43.8.2.1.13.1.4 = STRING: "Tray 4"

    Kurzes systematisches Trial-and-Error am Papierfach des Druckers und Kontrolle der Veränderungen der SNMP-Ausgabe brachten mehr Aufschluss. Es schien also so als würde ein Teil der SNMP-Ausgabe die geschätzten Werte an Papier im Drucker zurückliefern.

    Genau genommen die OIDs :
    mib-2.43.8.2.1.10.1.1
    mib-2.43.8.2.1.10.1.2
    mib-2.43.8.2.1.10.1.3
    mib-2.43.8.2.1.10.1.4

    Damit lässt sich arbeiten. Für jedes Papierfach des Druckers eine OID-Nummer. snmpget lässt ein Gerät explizit nach einer OID fragen, oder ihren Descriptor.

    snmpget -v1 -Cf -c public 192.168.1.200 mib-2.43.8.2.1.10.1.1
    SNMPv2-SMI::mib-2.43.8.2.1.10.1.1 = INTEGER: 385

    Im ersten Fach sind also 385 Blätter. Schätzungsweise. So ist es also möglich den aktuellen Stand der Papierfächer abzufragen, ohne aufstehen zu müssen. Das war schonmal was. Aber wie das jetzt mit Benachrichtigung laufen lassen? CronJob? Nagios! Wo sonst httpd’s, smb-Freigaben, Erreichbarkeiten oder sonstige Dienste abgefragt und monitored werden, ließen sich auch die Papierfächer einbinden.

    Zuerst die Drucker als Hosts einbinden, die Nagios überwachen soll:

    /etc/nagios3/conf.d/host-printer1.intern.cfg
    define host {
            host_name  printer1.intern.firma.de
            alias       printer1
            address     192.168.1.200
            use         generic-host
            }

    Jetzt kennt Nagios den Host. Weiss aber weder was dort überwacht werden soll, noch mit welchem Plugin und ab welchem Schwellwert es Alarm schlagen soll. Nagios enthält ein Plugin für SNMP-Abfragen. Zu finden unter /usr/lib/nagios/plugins/check_snmp. Diesem Plugin kann ich die selben Fragen stellen wie mit snmpget. Einzige Veränderung: Schwellwerte für Warning (-w) und Critical (-c) müssen mitgegeben werden. Ich erstellte also einen sogenannten “Check”.

    /etc/nagios3/conf.d/z_check_papertray:
    define command{
             command_name    check_papertray
             command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o mib-2.43.8.2.1.10.1.$ARG2$ -w '$ARG3$': -c '$ARG4$':
    }

    Die -H Hostadresse wird aus der angegebenen Adresse im Hostfile gewonnen in dem der Check später als “Service” eingebunden wird. Außerdem noch jede Menge Argumente die auf den ersten Blick vielleicht verwirren.

    Argument1: Community für die SNMP-Anfrage. In dem Fall “public”
    Argument2: Fachnummer mit der die OID ergänzt wird.
    Argument3: Warning-Wert bei dem Nagios Alarm schlägt.
    Argument4: Critical-Wert bei dem Nagios Alarm schlägt.

    In der Hostdatei kann der definierte Check jetzt als Service eingebunden werden.

    define service {
            use                             generic-service
            host_name                      printer1.intern.firma.de
            service_description             PAPERTRAY 1 DinA4
            check_command                   check_papertray!public!1!150!56
            }

    Das ganze 4 mal. Für jedes Papierfach einmal. check_command ist dabei der ausschlaggebende Punkt. Nagios zieht aus jedem Wert nach ! seine Argumente. Community public, Fach 1, Schwellwert Warning 150 und Critical 56 oder kleiner.

    Wenn dann alles funktioniert, sieht das aus wie folgt:

    nagios

    Und im Falle eines Falles. Emails:

    ** PROBLEM Service Alert 2: printer1/PAPERTRAY 1 DinA4 is CRITICAL **

    ***** Nagios *****
    Notification Type: PROBLEM
    Service: PAPERTRAY 1 DinA4
    Host: printer1
    Address: 
    
    192.168.1.200
    
    State: CRITICAL
    Date/Time: Thu Apr 1 16:30:42 CEST 2010
    ACK by:
    Comment:
    Additional Info:
    SNMP CRITICAL - *0*

    Schön, denn wir werden jetzt immer benachrichtigt wenn kein Papier mehr im Fach ist, oder es bereits aufgefüllt wurde. Und Chef fands auch gut :)


  18. Permalink
  19. Community | Planetenblogger.de

    Es zog sich der hundertjährige Krieg die hundertjährige Diskussion durch das Ubuntuusers.de-Forum über Soll und Nicht-Soll der Themen im offiziellen Ubuntuusers-Planeten. In diesen Threads ging es lange hin und her welche Beiträge in den UbuntuusersPlanet gehören und welche nicht.

    kblogger

    So, oder ähnlich wurde die Aktion Planetenblogger.de gestartet. Vergleichbar mit einem kleinen Mond der um den UbuntuusersPlaneten kreist, befinden sich darin alle Themen die nicht im direkten Zusammenhang mit Ubuntu stehen oder einfach informativ sind. Das finde ich eine sehr schöne Lösung, denn jeder Leser kann jetzt selbst entscheiden ob er auch die “nicht-unmittelbaren-Ubuntu-Themen” der Planeten-Blogger lesen möchte, oder eben nicht. Dieser Planet ist also keine Konkurrenz; man kann ihn als Ergänzung betrachten.

    Da nicht ausschliesslich Ubuntuusers.de-Planeten-Blogger (die Wörter werden übrigens linear zur Beitragslänge auch immer länger) für das neue Projekt vorgesehen sind, sind neue Bewerbungen um diesen Planeten zu füllen herzlich willkommen.

    Details, FAQ und Mitmachen!
    Ihr kennt euch aus ;)


Older »