Christian Kauhaus

Number of videos:
2
File-I/O ist doch ganz einfach, oder?
PyCon DE 2013
Christian Kauhaus
Recorded: Oct. 16, 2013Language: German

Der Vortrag soll Bewusstsein dafür schaffen, wann man sich aus einer komfortablen Umgebung (z.B. einem Application-Framework) in eine systemspezifische Domäne begibt. Aus meiner Erfahrung im DevOps-Umfeld sind mir viele Fälle bekannt, in denen Code auf Entwickler-Maschinen keine Probleme macht, sich aber auf produktiven Servern nicht ausreichend robust verhält. Die Eigenschaften von File-I/O in Python dienen dabei als durchgehendes Anwendungsbeispiel.

Der Vortrag gliedert sich in zwei Teile. Im ersten Teil möchte ich anhand von ausgewählten "Pannen" zeigen, wann ein with open(...) allein nicht ausreicht, da z.B. die Python-Standardfunktionen keine Zuverlässigkeit im Sinne der ACID-Eigenschaften gewährleisten. Im zweiten Teil geht um konkrete Programmiertechniken wie Write-Replace-Updates, Locking oder fsync, die die Robustheit von I/O ggf. unter Einschränkung der Plattformunabhängigkeit erhöhen.

Der Anwendungsteil des Vortrags basiert auf Material aus meinem Blogpost zum gleich Thema.

nagiosplugin - eine Python-Bibliothek für Monitoring-Plugins
PyCon DE 2012
Christian Kauhaus
Recorded: Oct. 31, 2012Language: German

Auch wenn in der letzten Zeit sehr viel Bewegung in die Monitoring-Szene gekommen ist (#monitoringsucks etc.), werden die Platzhirsche Nagios/Icinga und ihre Standards auf absehbare Zeit nicht verschwinden. Das Nagios-Plugin- API stellt eine sehr weit verbreitete Schnittstelle zur Anbindung einzelner Checks an Monitoring-Systeme dar. Obwohl das API in den Grundzügen sehr einfach ist, ist der Programmieraufwand für vollständig konforme Plugins erstaunlich hoch.

Die nagiosplugin-Bibliothek nimmt dem Entwickler viele Details ab, so dass er sich auf den Inhalt seiner Checks konzentrieren kann. Der Vortrag führt in das Schreiben von Nagios- kompatiblen Plugins ein, zeigt den typischen Aufbau von Nagios-Plugins und das Grundprinzip eigener Plugins. Die Konfiguration und der Betrieb von Monitoring-Systemen im Großen sollen nicht thematisiert werden.

Eine Einführung stellt die notwendigen Elemente wie Klassengerüst, Messwerterhebung, Ranges, Statusausgabe und Performancedaten sukzessive in aufeinander aufbauenden Beispielen vor, so dass am Ende ein einfacher, aber praktisch einsetzbarer Check entsteht.

Der Teil über fortgeschrittene Aspekte und Stolperfallen reißt Einzelbeispiele zu Themen wie mehrere Datenquellen, Timeouts, Auswertung wachsender Logfiles und Checks mit "Gedächtnis" an und zeigt typischen Fehlerquellen auf.

Den Abschluss bildet ein kurzer Ausblick auf die weitere Entwicklung der nagiosplugin-Bibliothek.