Archive for the ‘deutsch’ Category

Photo-Tisch für Detailaufnahmen

Dienstag, Mai 24th, 2011

Ich habe vor kurzem ein paar Detailaufnahmen von Gewürzgläsern gemacht. Um sie vor einem neutralen, aber nicht flächigen Hintergrund photographieren zu können, habe ich mir einen Photo-Tisch improvisiert.

Er bestand aus zwei Balkonstühlen und einem Balkontisch. Der Tisch steht so auf den Stühlen, dass die Tischplatte über der Balustrade ist, und somit nicht im Schatten liegt. Die Sonne kommt in den Morgenstunden von rechts, und ist somit optimal. Es fehlt nur noch ein wenig Füll-Licht von links, das ich in der nächsten Auflage eventuell noch ergänzen werde.

flattr this!

SNMP-Traps per EEM generieren

Donnerstag, Mai 19th, 2011

Kürzlich habe ich darüber geschrieben, wie man die Alarm-Kontakte an einem Cisco Metro Ethernet Switch, z.B. dem Modell ME 3400EG-2CS-A, nutzen kann. Allerdings hat offenbar Cisco — mal wieder — das nützlichste Feature vergessen, nämlich die Möglichkeit, SNMP-Traps hierzu zu generieren.

Alles, was man bekommt, sind Log-Meldungen, die z.B. so aussehen:

%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_ASSERT:
Alarm asserted: Door
%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_CLEAR:
Alarm cleared: Door

Zum Glück hat man aber heutzutage den Embedded Event Manager zur Verfügung. Hiermit kann man aus den Logmeldungen auch SNMP-Traps generieren:

event manager applet DoorOpen
 event syslog occurs 1 pattern "%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_ASSERT:"
 action 1.0 snmp-trap intdata1 1 intdata2 2 strdata "Door Opened"
event manager applet DoorClose
 event syslog occurs 1 pattern "%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_CLEAR:"
 action 1.0 snmp-trap intdata1 1 intdata2 0 strdata "Door Closed"

Hierbei wird in den Trap-Parametern die Sensor-Nummer 1 sowie der Status als entsprechender Code für das auswertende Nagios-Plugin übermittelt. Der Trap enthält somit diese Daten:

SNMPv2-SMI::enterprises.9.10.91.1.2.3.1.9.11 = INTEGER: 1#011
SNMPv2-SMI::enterprises.9.10.91.1.2.3.1.10.11 = INTEGER: 2#011
SNMPv2-SMI::enterprises.9.10.91.1.2.3.1.11.11 = STRING: “Door Closed”#011

flattr this!

Heidelbeerernte 2010

Dienstag, Mai 17th, 2011

Letztes Jahr haben wir Buch geführt über die Anzahl der Heidelbeeren, die an unseren zwei Heidelbeerpflanzen im Balkonkasten gewachsen sind — am Ende waren es 195 Stück. Wir werden es dieses Jahr wiederholen, und sind gespannt wie sich der Ertrag entwickelt.

dyerware.com


flattr this!

Alarm-Kontakt Cisco ME 3400EG-2CS-A

Donnerstag, Mai 12th, 2011

Bei einigen Cisco-Switches der Metro Ethernet Serie ist ein praktischer Alarm-Port eingebaut. Diesen kann man z.B. verwenden, um einen verschlossenen Verteilerkasten beim Kunden zu überwachen. Leider findet man bei Cisco hierzu nur eine kurze Notiz im Installation Guide:

Alarm Input Port

The switch supports four alarm inputs. The alarm input is a dry-contact alarm port. Use the CLI to define each alarm input to respond to a normally open or closed dry-contact closure and to define the alarm severity as minor, major, or critical. When a condition triggers an alarm, the console displays an alarm message, and the corresponding Alarm LED responds (see the “Alarm LEDs” section).

Welche Pins hierfür benutzt werden müssen geht hieraus leider nicht hervor. Durch Tests habe ich allerdings an unserem Cisco ME 3400EG-12CS-M folgende Belegung ermitteln können:

Pin Signal Farbe (T568A)
1 Alarm1 weiß/grün
2 Alarm2 grün
3 - weiß/orange
4 Alarm3 blau
5 Alarm4 weiß/blau
6 - orange
7 - weiß/braun
8 Masse braun

Die Konfiguration im IOS ist dann entsprechend der Dokumentation schnell erledigt, z.B. wenn an Port 1 der Normalzustand “Geschlossen” ist:

alarm-contact 1 description door
alarm-contact 1 severity critical
alarm-contact 1 trigger open

Update: In der Zwischenzeit ist auch die Dokumentation Configuring Switch Alarms bei Cisco verfügbar geworden

flattr this!

Stärke einer Spiegelreflex-Kamera

Dienstag, Mai 10th, 2011

Diese zwei Photos zeigen sehr deutlich, warum man zum photographieren mehr braucht als ein iPhone oder eine kleine kompakte Digitalkamera. Nur mit einer “ordentlichen” Kamera kann man die Parameter so beeinflussen, dass nicht das ganze Bild scharf ist, sondern dass der Vordergrund scharf ist, oder aufgrund einer offenen Blende verschwimmt. Diese beiden Photos sind von der selben Position aus aufgenommen, nur mit unterschiedlicher Fokussierung.

flattr this!

Lesbares dmesg time Format unter Linux

Donnerstag, Mai 5th, 2011

Linux hat leider die unangenehme Angewohnheit, im dmesg nur relative Zeitangaben zu speichern. Diese beziehen sich auf den Systemstart, also die Uptime. Wenn man also folgendes im dmesg findet, weiss man nicht, wann das Ereignis aufgetreten ist:

[6509063.707779] md: data-check of RAID array md0
[6509063.707784] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
[6509063.707787] md: using maximum available idle IO bandwidth (but not more than
	200000 KB/sec) for data-check.
[6509063.707794] md: using 128k window, over a total of 20482752 blocks.
[6509063.708619] md: md0: data-check done.

Um diese Angaben in absolute Datumswerte zu überführen, habe ich folgendes Skript gefunden:

#!/usr/bin/perl -w

use strict;
chomp (my $uptime = `cat /proc/uptime`);
$uptime =~ s/^([\d\.]+)\s+.*/$1/;
my $time = time;
open(CMD,"dmesg|") || die "$!\n";
while(<CMD>) {
        if (/^\[\s*(\d+)\.\d+\s*\]\s+(.*$)/) {
                my $event = $time -($uptime - $1);
                $event = scalar(localtime($event));
                print "$event: $2\n";
        } else { print; }
}
close;

Das Ergebnis sind folgende, deutlich lesbarere Zeilen:

Sun May  1 00:57:00 2011: md: data-check of RAID array md0
Sun May  1 00:57:00 2011: md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
Sun May  1 00:57:00 2011: md: using maximum available idle IO bandwidth (but not more than
	200000 KB/sec) for data-check.
Sun May  1 00:57:00 2011: md: using 128k window, over a total of 20482752 blocks.
Sun May  1 00:57:00 2011: md: md0: data-check done.

flattr this!

Hamburger Aussichten

Dienstag, Mai 3rd, 2011

Hier ein paar Blicke vom Hamburger Michel auf den Fernsehturm und die Nikolaikirche.

flattr this!

Frühlingsgruß auf dem Balkon

Dienstag, April 19th, 2011

Wir hatten am Wochenende eine Biene als Gast auf unserem Balkon. Die Heidelbeerblüten enthalten anscheinend schmackhaften Nektar.

flattr this!

Feste IP-Adresse mit Cisco EEM sicherstellen

Dienstag, April 19th, 2011

codswollop / photocase.comEin ADSL-Anschluss mit fester IP-Adresse hat den Vorteil, sowohl relativ preiswert aber dennoch sehr flexibel einsetzbar zu sein. Wenn wenig Upstream-Bandbreite benötigt wird, aber dennoch Serverdienste oder ein VPN betrieben werden soll.

Leider hat mindestens ein ADSL-Anbieter das Problem, dass gelegentlich zwar die Neueinwahl nach der Zwangstrennung funktioniert, aber nicht die korrekte feste IP-Adresse übermittelt wird. Um dieses Problem automatisch zu beheben habe ich dieses Skript für den Cisco Event Manager (EEM) entwickelt. Es prüft nach erneuter Einwahl, ob das Dialer-Interface die korrekte IP-Adresse erhalten hat. Falls nicht, wird eine neue Einwahl erzwungen.

Zuerst definiere ich ein paar Variablen, nämlich den Interfacenamen des Dialer-Interfaces sowie die zugeteilte feste IP-Adresse:

event manager environment _dialer_interface Dialer0
event manager environment _static_ip 192.0.2.47

Um den Code zu testen, habe ich folgendes EEM-Skript auf dem Router hinterlegt:

event manager applet showIP
 event none sync yes
 action 100 cli command "enable"
 action 110 cli command "show ip interface brief | include $_dialer_interface"
 action 120 puts "CLI-Result: *$_cli_result*"
 action 130 set result "unknown"
 action 140 regexp " [0-9.]+ " "$_cli_result" result
 action 150 puts "IP address=*$result*"
!

Dieses kann man folgendermassen aufrufen, um sicherzustellen, dass das Ermitteln der IP-Adresse funktioniert:

router#event manager run showIP
CLI-Result: *Dialer0                    192.0.2.47   YES IPCP   up                    up
router#*
IP address=* 192.0.2.47 *

Das sieht doch sehr gut aus! Nun können wir das eigentliche EEM-Skript installieren, das auf die Logzeile reagiert, die das Einwählen verkündet:

Mar 14 23:47:42.123: %DIALER-6-BIND: Interface Vi1 bound to profile Di0

Dieses Skript lautet wie folgt:

event manager applet DialerUp
 event syslog occurs 1 pattern "%DIALER-6-BIND:"
 action 100 cli command "show ip interface brief | include $_dialer_interface"
 action 110 set ipaddress "unknown"
 action 120 regexp " ([0-9.]+) " "$_cli_result" match ipaddress
 action 130 if $ipaddress ne $_static_ip
 action 140  syslog priority errors msg "clearing $_dialer_interface because $ipaddress is not $_static_ip"
 action 150  cli command "enable"
 action 160  cli command "clear interface $_dialer_interface"
 action 170 else
 action 180  syslog priority errors msg "correct address on $_dialer_interface: $ipaddress"
 action 190 end
!

Testen lässt sich dies, indem man temporär die Variable _static_ip auf eine andere als die eigentlich zuzuteilende setzt. Wenn man dann eine Einwahl erzwingt sollte der Router sie jedes Mal wieder zurücksetzen, bis man die Variable wieder auf den korrekten Wert gesetzt hat.

Da wir auf unseren Routern Tacacs einsetzen, muss ein Benutzername gesetzt werden, unter dem die Kommandos ausgeführt werden. Dies macht man mit der folgenden Zeile:

event manager session cli username "cisco"

flattr this!

Netzwerk-Kabel-Automat

Freitag, April 1st, 2011

Als Netzwerktechniker ist man im Rechenzentrum manchmal ein wenig aufgeschmissen. Man hat alle Geräte dabei, die eingebaut werden sollen, die Schränke sind vorbereitet und der Strom ist gelegt. Aber dann fehlen einem Kleinteile im Wert von wenigen Cent, die einen Strich durch die Rechnung und die Zeitplanung machen.

Wir buchen, Sie fluchenDie Kollegen von FlexOptix haben kürzlich auf der CeBit den Gearomat vorgestellt. Ein ähnliches Produkt haben wir, ebenfalls unter größter Geheimhaltung, für unser Rechenzentrum entwickelt. Den Automatic Cable Dispenser können Sie demnächst in unseren Rechenzentren finden und benutzen. Nach der Testphase unserer Prototypen werden wir sie auch anderen Interessenten anbieten.

Am Automatic Cable Dispenser können Sie eingeben, welche Länge das gewünschte Netzwerkkabel haben soll, von welchem Typ und mit welchen Steckern es ausgestattet sein soll. Je nach Kabeltyp haben Sie ausserdem die Wahl zwischen verschiedenen Farben. Nach Eingabe dieser Parameter wird das Kabel in gewünschter Länge ausgegeben. Ein zweiter Ausgabeschacht liefert den benötigten Stecker und eventuelles Zubehör aus.

Mit Hilfe der am Automaten befestigten Crimpzange können Sie dann den oder die Stecker montieren. Hierbei wird auf dem Mehrfarbdisplay eine bebilderte Anleitung angezeigt. Ausserdem bietet der Automatic Cable Dispenser Testanschlüsse für alle angebotenen Stecker- und Kabeltypen. Das Ergebnis dieser Kabelmessung wird gespeichert und auf Wunsch auf Thermopapier ausgedruckt.

Die Zahlung erfolgt Bargeldlos, entweder per Kredit- oder Geldkarte, oder mit der Rechenzentrums-Zugangskarte über die nächste Rechnung.

flattr this!